Commit 367a645c by bingobo

开发自查模块

1 parent e97d4907
Showing with 4878 additions and 1613 deletions
......@@ -2,6 +2,8 @@
node_modules
/dist
# Ignore package.json
package.json
# local env files
.env.local
......
# dwawio-vue
## 项目开发
1. 打开 src/views/layout/index.vue 第三行到第49行代码,TODO: 打包时记得注释掉这段代码
2. image.png
3. 后评估管控中心 & 综合分析中心 菜单中使用的是iframe,接口地址配制也是在 publick/system.config.js 有个iframe地址
iframe里嵌套的页面是 智杰的前端项目: zhiie-web
## 打包流程
1.
## Project setup
```
npm install
......
The file could not be displayed because it is too large.
This diff could not be displayed because it is too large.
......@@ -7,7 +7,6 @@
"build": "vue-cli-service build --mode production"
},
"dependencies": {
"@onlyoffice/document-editor-vue": "^1.3.0",
"@vue-office/pdf": "^2.0.2",
"@wangeditor/editor-for-vue": "^1.0.2",
"axios": "^1.6.2",
......@@ -22,10 +21,11 @@
"moment": "^2.30.1",
"scss": "^0.2.4",
"util": "^0.12.5",
"vue": "^2.6.14",
"vue": "^2.7.16",
"vue-cli": "^2.9.6",
"vue-demi": "^0.14.10",
"vue-doc-preview": "^0.3.2",
"vue-loader": "^15.11.1",
"vue-pdf": "^4.3.0",
"vue-router": "^3.5.1",
"vuex": "^3.6.2",
......@@ -36,10 +36,10 @@
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"node-sass": "^6.0.1",
"sass": "^1.7",
"sass-loader": "^10.0.1",
"url-loader": "^4.1.1",
"vue-template-compiler": "^2.6.14"
"vue-template-compiler": "^2.7.16"
},
"browserslist": [
"> 1%",
......
......@@ -4,7 +4,9 @@
const SystemConfig = {
PUBLIC_PATH: '/api',
VUE_APP_BASE_URL: "http://25.66.210.41/tools",
// VUE_APP_BASE_URL: "http://192.168.231.1:18000//tools",
VUE_APP_ZJ_IFRAME: "http://25.66.210.41/arch"
//TODO VUE_APP_BASE_URL: "http://25.66.210.41/tools",
VUE_APP_BASE_URL: "http://192.168.0.113:18088/tools",
//TODO VUE_APP_ZJ_IFRAME: "http://25.66.210.41/arch"
// VUE_APP_ZJ_IFRAME: "http://192.168.0.113:18088/arch"
VUE_APP_ZJ_IFRAME: "http://localhost:30478/arch"
};
......@@ -87,6 +87,11 @@ export function ossupload(params) {
export function ossuploadStr(params) {
return post(`${ARCH_EVALUATION}/oss/uploadStr`, params)
}
//多文件上传(不覆盖原文件)
export function ossuploadStrAddFiles(params) {
// /oss/multipleFilesBatchUpload
return post(`${ARCH_EVALUATION}/oss/multipleFilesBatchUpload`, params)
}
//浏览
export function presignedUrl(params) {
return post(`${ARCH_EVALUATION}/oss/presignedUrl`, params)
......
......@@ -86,7 +86,7 @@ export default {
white-space: nowrap;
position: relative;
overflow: hidden;
padding-left: 100px;
padding-left: 54px;
width: 100%;
.icon{
top:6px;
......@@ -117,7 +117,7 @@ export default {
position: absolute;
left: 0;
}
/deep/ {
::v-deep {
.el-scrollbar__bar {
bottom: 0px;
}
......
......@@ -234,7 +234,7 @@ export default {
<style lang="scss" scoped>
@import '@/styles/common.scss';
/deep/ .scroll-container .el-scrollbar__wrap {
::v-deep .scroll-container .el-scrollbar__wrap {
// padding-left: 50px;
scrollbar-width: none;
}
......@@ -252,7 +252,7 @@ export default {
border-bottom: 1px solid #d8dce5;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04);
text-align: left;
/deep/ .el-scrollbar__wrap {
::v-deep .el-scrollbar__wrap {
overflow-x: hidden;
}
.tags-view-wrapper {
......@@ -294,7 +294,7 @@ export default {
&:hover {
// color: $color-primary;
border: 1px solid $color-primary ;
/deep/ .el-icon-close:before {
::v-deep .el-icon-close:before {
color: red !important;
}
}
......@@ -371,7 +371,7 @@ export default {
}
}
}
// /deep/ .el-icon-close:before{
// ::v-deep .el-icon-close:before{
// font-size:17px !important;
// }
</style>
$color-primary: #0d857f;
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: $color-primary;
text-align: left;
padding: 10px 20px;
}
/deep/ .el-dialog__headerbtn {
::v-deep .el-dialog__headerbtn {
top: 14px;
}
/deep/ .el-dialog__title {
::v-deep .el-dialog__title {
color: #fff;
}
/deep/ .el-dialog__close {
::v-deep .el-dialog__close {
color: #fff;
}
/deep/ .el-dialog__headerbtn:focus .el-dialog__close,
/deep/ .el-dialog__headerbtn:hover .el-dialog__close {
::v-deep .el-dialog__headerbtn:focus .el-dialog__close,
::v-deep .el-dialog__headerbtn:hover .el-dialog__close {
color: #fff;
}
/deep/ .el-table th.el-table__cell {
::v-deep .el-table th.el-table__cell {
background-color: #f2f9f9 !important;
font-weight: bold;
// font-size: 16px;
......
......@@ -20,117 +20,120 @@ function decryptStringBySM4_CBC(str) {//使用sm4-cbc算法给字符串解密
const decryptString = sm4.decryptCustom_CBC(str, 'ZkR_SiNoSOFT=568', 'GJwsXX_BzW=gJWJW');
return decryptString;
}
let loadingInstance
let loadingInstance
//http 请求拦截器
axios.interceptors.request.use(config => {
if(config.url.indexOf('oss/upload')!='-1'||config.url.indexOf('oss/uploadStr')!='-1'){
if (config.url.indexOf('oss/upload') != '-1' || config.url.indexOf('oss/uploadStr') != '-1') {
loadingInstance = Loading.service({
lock: true,
text: '文件上传中,请耐心等待...',
// background: 'rgba(0, 0, 0, 0.7)'
});
}
// else{
// loadingInstance = Loading.service({
// lock: true,
// text: '加载中...',
// background: 'rgba(0, 0, 0, 0.7)'
// });
// }
config.headers['X-USER'] =sessionStorage.getItem('author');
config.headers['X-USER-NAME']=sessionStorage.getItem('authorName')
if(config.url.indexOf('oss/downloadObject')!='-1'){
config.headers["Content-Type"] ='application/x-www-form-urlencoded'
config.headers['responseType']='blob'
});
}
// else{
// loadingInstance = Loading.service({
// lock: true,
// text: '加载中...',
// background: 'rgba(0, 0, 0, 0.7)'
// });
// }
// console.log(1111111111, sessionStorage.getItem('authorCName'));
config.headers['X-USER'] = sessionStorage.getItem('author');
config.headers['X-USER-NAME'] = sessionStorage.getItem('authorName')
// 请求头中传递中文字符
config.headers['X-USER-CNAME'] = encodeURIComponent(sessionStorage.getItem('authorCName'))
if (config.url.indexOf('oss/downloadObject') != '-1') {
config.headers["Content-Type"] = 'application/x-www-form-urlencoded'
config.headers['responseType'] = 'blob'
}
// config.headers.token = JSON.parse(localStorage.getItem('token')).token;
// config.headers.token = JSON.parse(localStorage.getItem('token')).token;
// if(config.method == "post"){
// let encryptString = encryptStringBySM4_CBC(JSON.stringify(config.data));
// config.data = encryptString;
// console.log(config.data);
// }
return config;
},
error => {
return Promise.reject(error);
}
// if(config.method == "post"){
// let encryptString = encryptStringBySM4_CBC(JSON.stringify(config.data));
// config.data = encryptString;
// console.log(config.data);
// }
return config;
},
error => {
return Promise.reject(error);
}
);
//响应拦截器即异常处理
axios.interceptors.response.use(response => {
if (loadingInstance) {
if (loadingInstance) {
loadingInstance.close();
}
let code = response.data.code;
// response.header('Access-Control-Allow-Origin', 'http://localhost:8080')
// if (response.headers.token) {
// var token = res.headers.token
// window.localStorage.setItem('user_token', token)
// }
if (code == 200) {
return response;
} else if(code == 507||code == 502) {
}
let code = response.data.code;
// response.header('Access-Control-Allow-Origin', 'http://localhost:8080')
// if (response.headers.token) {
// var token = res.headers.token
// window.localStorage.setItem('user_token', token)
// }
if (code == 200) {
return response;
} else if (code == 507 || code == 502) {
// Vue.prototype.$message.error('登录状态过期或者没有token,请重新登录!');
// sessionStorage.clear()
// router.push({path:'/login'})
}else if(code == 500) {
// Vue.prototype.$message({message:response.data.msg,type:'error', customClass:'messageIndex_'});
return response;
}else{
return response;
}
}, err => {
if (loadingInstance) {
loadingInstance.close();
Message.error('上传失败')
}
if (err && err.response) {
console.log('连接到服务器失败');
} else {
console.log('未知错误');
// Message.error('连接到服务器失败')
}
return Promise.reject('err');
});
} else if (code == 500) {
// Vue.prototype.$message({message:response.data.msg,type:'error', customClass:'messageIndex_'});
return response;
} else {
return response;
}
}, err => {
if (loadingInstance) {
loadingInstance.close();
Message.error('上传失败')
}
if (err && err.response) {
console.log('连接到服务器失败');
} else {
console.log('未知错误');
// Message.error('连接到服务器失败')
}
return Promise.reject('err');
});
export function get(url, params = {}) {
return new Promise((resolve, reject) => {
axios.get(url, { params: params }).then(response => {
if(response){
resolve(response);
}
}).catch(err => {
reject(err);
})
export function get(url, params = {}) {
return new Promise((resolve, reject) => {
axios.get(url, { params: params }).then(response => {
if (response) {
resolve(response);
}
}).catch(err => {
reject(err);
})
}
export function post(url, data = {}) {
return new Promise((resolve, reject) => {
axios.post(url, data).then(response => {
if(response){
resolve(response.data);
}
}, err => {
reject(err);
})
})
}
export function post(url, data = {}) {
return new Promise((resolve, reject) => {
axios.post(url, data).then(response => {
if (response) {
resolve(response.data);
}
}, err => {
reject(err);
})
}
export function download(url, data = {}) {
return new Promise((resolve, reject) => {
axios.post(url, data, { responseType: 'blob' }).then(response => {
if(response){
resolve(response.data);
}
}, err => {
reject(err);
})
})
}
export function download(url, data = {}) {
return new Promise((resolve, reject) => {
axios.post(url, data, { responseType: 'blob' }).then(response => {
if (response) {
resolve(response.data);
}
}, err => {
reject(err);
})
}
})
}
......@@ -3,10 +3,45 @@ export function trendsRules(type) {
case 1:
return [
{
name: '项目档案库',
url: '/mainLayout/mianHome',
erji: '二级',
// children: [
// {
// // name: "首页首页",
// // url: "mainLayout/mianHome",
// children: [
// {
// name: "首页首页",
// url: "mainLayout/mianHome",
// children: [],
// },
// ]
// }
// ]
},
{
name: '后评估检查',
url: '',
children: [
{
name: '后评估自查',
url: '',
children: [
{
name: '自查评估批次发起',
url: '/assesszc/auxiliarySelection',
children: [],
},
{
name: '自查评估结果查看',
url: '/assesszc/assistedViewing',
children: [],
},
],
},
{
name: '后评估互查',
url: '',
......@@ -118,10 +153,45 @@ export function trendsRules(type) {
case 2:
return [
{
name: '项目档案库',
url: '/mainLayout/mianHome',
erji: '二级',
// children: [
// {
// // name: "首页首页",
// // url: "mainLayout/mianHome",
// children: [
// {
// name: "首页首页",
// url: "mainLayout/mianHome",
// children: [],
// },
// ]
// }
// ]
},
{
name: '后评估检查',
url: '',
children: [
{
name: '后评估自查',
url: '',
children: [
{
name: '自查评估项目确认',
url: '/assesszc/confirmRelease',
children: [],
},
{
name: '自查项目辅助检查',
url: '/assesszc/auxiliaryInspection',
children: [],
},
],
},
{
name: '后评估互查',
url: '',
children: [
......@@ -158,10 +228,40 @@ export function trendsRules(type) {
case 3:
return [
{
name: '项目档案库',
url: '/mainLayout/mianHome',
erji: '二级',
// children: [
// {
// // name: "首页首页",
// // url: "mainLayout/mianHome",
// children: [
// {
// name: "首页首页",
// url: "mainLayout/mianHome",
// children: [],
// },
// ]
// }
// ]
},
{
name: '后评估检查',
url: '',
children: [
{
name: '后评估自查',
url: '',
children: [
{
name: '自查问题整改',
url: '/assesszc/materialAcquisition',
children: [],
}
],
},
{
name: '后评估互查',
url: '',
children: [
......@@ -414,9 +514,426 @@ export function trendsRules(type) {
]
}
}
// export function trendsRules(type) {
// switch (type) {
// case 1:
// return [
// {
// name: '后评估检查',
// url: '',
// children: [
// {
// name: '后评估互查',
// url: '',
// children: [
// {
// name: '评估批次发起',
// url: '/mainLayout/auxiliarySelection',
// children: [],
// },
// {
// name: '评估结果查看',
// url: '/mainLayout/assistedViewing',
// children: [],
// },
// ],
// },
// ],
// },
// {
// name: '后评估合规性管理',
// url: '',
// children: [
// {
// name: '合规性检查规则库构建',
// url: '',
// children: [
// { name: '检查规则编制', url: '/compliance/checkRules', children: [] },
// { name: '自动稽核任务配置', url: '/compliance/taskConfigure', children: [] },
// ],
// },
// {
// name: '项目合规检查',
// url: '',
// children: [
// { name: '合规检查结果', url: '/projectCheck/checkResault', children: [] },
// // { name: "合规检查结果确认", url: "/projectCheck/confirmResault", children: [] },
// {
// name: '合规问题整改核验',
// url: '/projectCheck/verificationRectify',
// children: [],
// },
// ],
// },
// ],
// },
// {
// name: '后评估结果管理',
// url: '',
// children: [
// {
// name: '后评估结果发布',
// url: '',
// children: [
// {
// name: '检查结果公示及评价',
// url: '/managementResult/releaseResultpublicity',
// children: [],
// },
// ],
// },
// {
// name: '后评估结果情况',
// url: '',
// children: [
// // {
// // name: '后评估进度情况',
// // url: '/managementResult/situationResaultschedule',
// // children: [],
// // },
// {
// name: '后评估各环节问题分布',
// url: '/managementResult/situationResaultissuesLink',
// children: [],
// },
// {
// name: '合规检查问题情况',
// url: '/managementResult/issuesInspection',
// children: [],
// },
// ],
// },
// {
// name: '后评估检查报告管理',
// url: '',
// children: [
// {
// name: '后评估检查报告维护',
// url: '/managementResult/maintenancePg',
// children: [],
// },
// { name: '后评估报告模板管理', url: '/managementResult/managementPg', children: [] },
// {
// name: '合规性检查报告维护',
// url: '/managementResult/maintenanceHg',
// children: [],
// },
// {
// name: '合规性检查报告模板管理',
// url: '/managementResult/managementHg',
// children: [],
// },
// ],
// },
// ],
// },
// ]
// break
// case 2:
// return [
// {
// name: '后评估检查',
// url: '',
// children: [
// {
// name: '后评估互查',
// url: '',
// children: [
// {
// name: '评估项目确认',
// url: '/mainLayout/confirmRelease',
// children: [],
// },
// {
// name: '项目辅助检查',
// url: '/mainLayout/auxiliaryInspection',
// children: [],
// },
// ],
// },
// ],
// },
// {
// name: '后评估合规性管理',
// url: '',
// children: [
// {
// name: '合规性检查规则库构建',
// url: '',
// children: [
// { name: '自动稽核任务配置', url: '/compliance/taskConfigure', children: [] },
// ],
// },
// ],
// },
// ]
// break
// case 3:
// return [
// {
// name: '后评估检查',
// url: '',
// children: [
// {
// name: '后评估互查',
// url: '',
// children: [
// {
// name: '评估问提整改',
// url: '/mainLayout/materialAcquisition',
// children: [],
// },
// // {
// // name: "问题反馈",
// // url: "/mainLayout/assistedFeedback",
// // children: [],
// // },
// // {
// // name: "问题整改",
// // url: "/mainLayout/assistedRect",
// // children: [],
// // },
// // {
// // name: "同步归档",
// // url: "/mainLayout/attachSynchronousArchiving",
// // children: [],
// // },
// ],
// },
// ],
// },
// {
// name: '后评估合规性管理',
// url: '',
// children: [
// {
// name: '合规性检查实时提醒',
// url: '',
// children: [
// { name: '合规性检查提醒', url: '/checkCompliance/automaticCheck', children: [] },
// ],
// },
// {
// name: '项目合规检查',
// url: '',
// children: [
// { name: '合规问题整改', url: '/projectCheck/problemRectify', children: [] },
// ],
// },
// ],
// },
// ]
// break
// case 99:
// return [
// {
// name: '项目档案库',
// url: '/mainLayout/mianHome',
// erji: '二级',
// // children: [
// // {
// // // name: "首页首页",
// // // url: "mainLayout/mianHome",
// // children: [
// // {
// // name: "首页首页",
// // url: "mainLayout/mianHome",
// // children: [],
// // },
// // ]
// // }
// // ]
// },
// {
// name: '后评估检查',
// url: '',
// children: [
// {
// name: '后评估自查',
// url: '',
// children: [
// {
// name: '自查评估批次发起',
// url: '/assesszc/auxiliarySelection',
// children: [],
// },
// // {
// // name: "项目档案库",
// // url: "/assesszc/projectView",
// // children: [],
// // },
// {
// name: '自查评估项目确认',
// url: '/assesszc/confirmRelease',
// children: [],
// },
// {
// name: '自查项目辅助检查',
// url: '/assesszc/auxiliaryInspection',
// children: [],
// },
// {
// name: '自查问题整改',
// url: '/assesszc/materialAcquisition',
// children: [],
// },
// {
// name: '自查评估结果查看',
// url: '/assesszc/assistedViewing',
// children: [],
// },
// ],
// },
// {
// name: '后评估互查',
// url: '',
// children: [
// {
// name: '评估批次发起',
// url: '/mainLayout/auxiliarySelection',
// children: [],
// },
// {
// name: '评估项目确认',
// url: '/mainLayout/confirmRelease',
// children: [],
// },
// {
// name: '项目辅助检查',
// url: '/mainLayout/auxiliaryInspection',
// children: [],
// },
// {
// name: '评估问题整改',
// url: '/mainLayout/materialAcquisition',
// children: [],
// },
// {
// name: '评估结果查看',
// url: '/mainLayout/assistedViewing',
// children: [],
// },
// ],
// },
// {
// name: '后评估集中检查',
// url: '',
// children: [
// {
// name: '项目检查问题查询',
// url: '/mainLayout/projectCheckQuestionQuery',
// children: [],
// },
// {
// name: '整改反馈查询',
// url: '/mainLayout/rectificationFeedbackQuery',
// children: [],
// },
// ],
// },
// ],
// },
// {
// name: '后评估合规性管理',
// url: '',
// children: [
// {
// name: '合规性检查实时提醒',
// url: '',
// children: [
// { name: '合规性检查提醒', url: '/checkCompliance/automaticCheck', children: [] },
// ],
// },
// {
// name: '合规性检查规则库构建',
// url: '',
// children: [
// { name: '检查规则编制', url: '/compliance/checkRules', children: [] },
// { name: '自动稽核任务配置', url: '/compliance/taskConfigure', children: [] },
// ],
// },
// {
// name: '项目合规检查',
// url: '',
// children: [
// { name: '合规检查结果', url: '/projectCheck/checkResault', children: [] },
// { name: '合规问题整改', url: '/projectCheck/problemRectify', children: [] },
// // {
// // name: '合规问题整改核验',
// // url: '/projectCheck/verificationRectify',
// // children: [],
// // },
// ],
// },
// ],
// },
// {
// name: '后评估结果管理',
// url: '',
// children: [
// {
// name: '后评估结果发布',
// url: '',
// children: [
// {
// name: '检查结果公示及评价',
// url: '/managementResult/releaseResultpublicity',
// children: [],
// },
// ],
// },
// {
// name: '后评估结果情况',
// url: '',
// children: [
// // {
// // name: '后评估进度情况',
// // url: '/managementResult/situationResaultschedule',
// // children: [],
// // },
// {
// name: '后评估各环节问题分布',
// url: '/managementResult/situationResaultissuesLink',
// children: [],
// },
// {
// name: '合规检查问题情况',
// url: '/managementResult/issuesInspection',
// children: [],
// },
// ],
// },
// {
// name: '后评估检查报告管理',
// url: '',
// children: [
// {
// name: '后评估检查报告维护',
// url: '/managementResult/maintenancePg',
// children: [],
// },
// { name: '后评估报告模板管理', url: '/managementResult/managementPg', children: [] },
// // { name: "合规性检查报告维护", url: "/managementResult/maintenanceHg", children: [] },
// // { name: "合规性检查报告模板管理", url: "/managementResult/managementHg", children: [] },
// ],
// },
// ],
// },
// ]
// }
// }
export function defaultRouter() {
sessionStorage.setItem('author', 'weizheng')
sessionStorage.setItem('authorName', 99)
sessionStorage.setItem('authorCName', '魏征')
let type = sessionStorage.getItem('authorName')
switch (type) {
case '1':
......
......@@ -641,12 +641,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -655,7 +655,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -676,7 +676,7 @@ export default {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -684,7 +684,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -692,13 +692,13 @@ export default {
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -707,7 +707,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -715,7 +715,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -814,33 +814,33 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
::v-deep.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
::v-deep .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
::v-deep.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
......@@ -863,14 +863,14 @@ h3 {
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
}
}
.imgList {
/deep/ .el-image__inner {
::v-deep .el-image__inner {
width: 60px;
height: 60px;
}
......
......@@ -1058,12 +1058,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -1072,7 +1072,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1093,7 +1093,7 @@ export default {
widows: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1101,18 +1101,18 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1121,7 +1121,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1129,7 +1129,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -1183,21 +1183,21 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.dialog {
......@@ -1206,33 +1206,33 @@ export default {
overflow-y: hidden;
}
}
/deep/.el-switch__core {
::v-deep.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
::v-deep.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
::v-deep .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
::v-deep.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
::v-deep .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
::v-deep.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
::v-deep.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
......@@ -1241,7 +1241,7 @@ export default {
user-select: none;
}
/deep/.el-switch__label--right {
::v-deep.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
......@@ -1250,14 +1250,14 @@ export default {
user-select: none;
}
/deep/.el-switch__label--right.is-active {
::v-deep.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
::v-deep.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
......@@ -1300,14 +1300,14 @@ h3 {
width: 100%;
min-width: 100%;
}
/deep/.el-table__fixed-body-wrapper .el-table__body {
::v-deep.el-table__fixed-body-wrapper .el-table__body {
padding-bottom: 6px; // 6px为横向滚动条高度
}
/deep/.el-table--scrollable-x .el-table__body-wrapper {
::v-deep.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden !important;
}
}
/deep/ .el-tag {
::v-deep .el-tag {
white-space: normal;
height: auto;
}
......@@ -1358,13 +1358,13 @@ h3 {
.addfrom {
display: inline-block;
height: 300px;
/deep/.el-input__inner {
::v-deep.el-input__inner {
width: 450px !important;
}
/deep/.el-textarea__inner {
::v-deep.el-textarea__inner {
width: 450px !important;
}
/deep/ .el-select-dropdown {
::v-deep .el-select-dropdown {
margin-top: -55px !important; /* 调整与触发按钮的距离 */
margin-left: 20px; /* 也可以调整左边距,根据需要 */
}
......
......@@ -1175,12 +1175,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -1189,7 +1189,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1207,7 +1207,7 @@ export default {
}
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1215,18 +1215,18 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1235,7 +1235,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1243,7 +1243,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
// width: 100%;
position: absolute;
// width: auto !important;
......@@ -1275,7 +1275,7 @@ export default {
}
.textarea {
width: 100%;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
display: flex;
}
.el-textarea {
......@@ -1303,7 +1303,7 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.zjBtn {
......@@ -1324,10 +1324,10 @@ export default {
margin-left: 10px;
}
}
/deep/ .el-icon-position {
::v-deep .el-icon-position {
margin-right: 10px;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
......@@ -1363,11 +1363,11 @@ export default {
color: #fff;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.setscrolldialog {
......@@ -1375,7 +1375,7 @@ export default {
height: 450px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 400px;
overflow: auto;
......@@ -1386,7 +1386,7 @@ export default {
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
......
......@@ -894,7 +894,7 @@ export default {
// margin-bottom: 50px;
// color: #fff;
/deep/ .el-tabs {
::v-deep .el-tabs {
flex: 1;
min-height: 0;
display: flex;
......@@ -928,43 +928,43 @@ export default {
padding: 10px;
}
}
/deep/.el-step__icon {
::v-deep.el-step__icon {
color: #0d867f;
border-color: #0d867f;
width: 20px;
height: 20px;
// border:3px solid #0d867f;
}
/deep/.el-icon-caret-right {
::v-deep.el-icon-caret-right {
font-size: 30px;
line-height: 23px;
display: inline-block;
color: #0d867f;
z-index: 4;
}
/deep/.el-step.is-horizontal .el-step__line {
::v-deep.el-step.is-horizontal .el-step__line {
height: 1px;
// margin-right: -20px !important;
z-index: 1;
}
/deep/.el-step__line {
::v-deep.el-step__line {
color: gainsboro;
}
.el-step__head.is-wait {
color: #0d867f;
border-color: #0d867f;
}
/deep/.el-step__title {
::v-deep.el-step__title {
color: #000;
}
/deep/.el-step__title.is-process {
::v-deep.el-step__title.is-process {
color: #0d867f;
}
/deep/ .is-wait .el-step__icon-inner {
::v-deep .is-wait .el-step__icon-inner {
display: none;
}
/deep/.upload-demo {
::v-deep.upload-demo {
display: inline-block;
}
.tableTitle {
......@@ -1081,13 +1081,13 @@ export default {
}
}
/deep/.uploadBox_hide .el-upload--picture-card {
::v-deep.uploadBox_hide .el-upload--picture-card {
display: none;
}
/deep/.upload_box {
::v-deep.upload_box {
display: inline-block;
}
/deep/.el-upload--picture-card {
::v-deep.el-upload--picture-card {
width: 80px;
height: 40px;
line-height: 50px;
......@@ -1123,20 +1123,20 @@ export default {
width: 100%;
text-align: left;
padding-left: 10px;
/deep/ .el-input__inner {
::v-deep .el-input__inner {
width: 600px;
}
}
/deep/ .docx-wrapper {
::v-deep .docx-wrapper {
padding: 0 !important;
}
/deep/ .docx {
::v-deep .docx {
// width: 100% !important;
display: table !important;
padding: 2em 1em 0 !important;
margin: 0 auto !important;
}
/deep/.kaimo-docx-666 {
::v-deep.kaimo-docx-666 {
margin: 0 auto !important;
text-align: center;
}
......@@ -1148,7 +1148,7 @@ export default {
vertical-align: middle;
line-height: 33px;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1157,7 +1157,7 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
// margin-top: 3vh !important;
// margin-left: 3vw !important;
......
......@@ -321,7 +321,7 @@ export default {
font-weight: 600;
font-size: 15px;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -331,7 +331,7 @@ export default {
box-sizing: border-box;
margin-bottom: 10px;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -339,7 +339,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -351,18 +351,18 @@ export default {
table-layout: auto;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.xqtitle {
......@@ -383,7 +383,7 @@ export default {
}
}
.imgList {
/deep/ .el-image__inner {
::v-deep .el-image__inner {
width: 60px;
height: 60px;
}
......
......@@ -1034,12 +1034,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -1048,7 +1048,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1071,7 +1071,7 @@ export default {
height: 100%;
overflow-y: auto;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1079,22 +1079,22 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1103,7 +1103,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1111,7 +1111,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
// width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -1141,7 +1141,7 @@ export default {
}
.textarea {
width: 100%;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
display: flex;
}
.el-textarea {
......@@ -1169,7 +1169,7 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.zjBtn {
......@@ -1192,10 +1192,10 @@ export default {
margin-left: 10px;
}
}
/deep/ .el-icon-position {
::v-deep .el-icon-position {
margin-right: 10px;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
......@@ -1235,11 +1235,11 @@ export default {
// color: #fff;
// }
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.dialogHeigth {
......@@ -1261,7 +1261,7 @@ export default {
min-width: 190%;
}
/deep/.el-table--scrollable-x .el-table__body-wrapper {
::v-deep.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden !important;
}
}
......@@ -1279,7 +1279,7 @@ export default {
// min-width: 190%;
}
// /deep/.el-table--scrollable-x .el-table__body-wrapper {
// ::v-deep.el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: hidden !important;
// }
}
......@@ -1289,7 +1289,7 @@ export default {
// position: relative;
// overflow: auto;
// box-sizing: border-box;
// /deep/ .el-table {
// ::v-deep .el-table {
// position: absolute;
// width: 100%;
// // width: auto !important;
......@@ -1308,7 +1308,7 @@ export default {
width: 190%;
min-width: 190%;
}
// /deep/.el-table--scrollable-x .el-table__body-wrapper {
// ::v-deep.el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: hidden !important;
// }
}
......@@ -1327,7 +1327,7 @@ export default {
width: 190%;
min-width: 190%;
}
// /deep/.el-table--scrollable-x .el-table__body-wrapper {
// ::v-deep.el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: hidden !important;
// }
}
......@@ -1336,7 +1336,7 @@ export default {
text-align: left;
font-size: 13px;
}
// .hide-selection /deep/.el-table__header-wrapper .el-checkbox {
// .hide-selection ::v-deep.el-table__header-wrapper .el-checkbox {
// display: none;
// }
</style>
......
......@@ -1074,12 +1074,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -1088,7 +1088,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1111,7 +1111,7 @@ export default {
// overflow-y: auto;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1119,18 +1119,18 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1139,7 +1139,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1147,7 +1147,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -1183,7 +1183,7 @@ export default {
vertical-align: middle;
}
}
/deep/ .el-form {
::v-deep .el-form {
width: 65%;
flex-wrap: wrap;
padding: 0 10px;
......@@ -1203,10 +1203,10 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: 400;
// color: #000;
width: 160px !important;
......@@ -1215,7 +1215,7 @@ export default {
}
.textarea {
width: 100%;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
display: flex;
}
.el-textarea {
......@@ -1249,14 +1249,14 @@ export default {
// color: #fff;
// }
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
// /deep/.el-table th.el-table__cell.is-leaf,
// ::v-deep.el-table th.el-table__cell.is-leaf,
// .el-table td.el-table__cell {
// text-align: center;
// }
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.setscrolldialog {
......@@ -1264,7 +1264,7 @@ export default {
height: 290px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
......@@ -1276,33 +1276,33 @@ export default {
overflow-y: auto;
}
}
/deep/.el-switch__core {
::v-deep.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
::v-deep.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
::v-deep .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
::v-deep.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
::v-deep .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
::v-deep.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
::v-deep.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
......@@ -1311,7 +1311,7 @@ export default {
user-select: none;
}
/deep/.el-switch__label--right {
::v-deep.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
......@@ -1320,14 +1320,14 @@ export default {
user-select: none;
}
/deep/.el-switch__label--right.is-active {
::v-deep.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
::v-deep.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
......@@ -1370,14 +1370,14 @@ h3 {
width: 100%;
// min-width: 150%;
}
/deep/.el-table--scrollable-x .el-table__body-wrapper {
::v-deep.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden !important;
}
}
/deep/ .el-table th .gutter {
::v-deep .el-table th .gutter {
display: table-cell !important;
}
// /deep/ .el-table .cell{
// ::v-deep .el-table .cell{
// padding-right: 0;
// }
.noclick {
......@@ -1430,7 +1430,7 @@ h3 {
display: inline-block;
margin-right: 10px;
}
/deep/.el-upload-list__item-name {
::v-deep.el-upload-list__item-name {
display: none;
}
</style>
......@@ -305,11 +305,11 @@ h2 {
width: 200px;
margin-right: 20px;
}
/deep/ .el-input--suffix .el-input__inner {
::v-deep .el-input--suffix .el-input__inner {
background: transparent !important;
border: 1px solid #0a7872;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner {
::v-deep.el-checkbox__input.is-checked .el-checkbox__inner {
background: blue;
}
</style>
\ No newline at end of file
......@@ -93,7 +93,8 @@
<el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
<el-table-column prop="expertName" label="评审专家"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="140"> </el-table-column>
<el-table-column prop="projectLeader" label="项目负责人" width="140"> </el-table-column>
<el-table-column prop="creatorName" label="项目发起人" width="140"> </el-table-column>
<el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="issueYear" label="项目年度" width="120">
......@@ -345,6 +346,7 @@ export default {
},
},
mounted() {
// console.log(9999999, this.$route, this.$route.query.batchName);
this.ruleForm.batchName = this.$route.query.batchName
this.ruleForm.projectId = this.$route.query.projCode
this.submitForm()
......@@ -641,12 +643,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -655,7 +657,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -676,7 +678,7 @@ export default {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -684,7 +686,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -692,13 +694,13 @@ export default {
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -707,7 +709,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -715,7 +717,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -814,33 +816,33 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
::v-deep.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
::v-deep .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
::v-deep.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
......@@ -863,14 +865,14 @@ h3 {
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
}
}
.imgList {
/deep/ .el-image__inner {
::v-deep .el-image__inner {
width: 60px;
height: 60px;
}
......
......@@ -107,7 +107,8 @@
>
<el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
<el-table-column prop="expertName" label="评审专家" width="90"> </el-table-column>
<el-table-column prop="projectLeader" label="项目负责人" width="90"> </el-table-column>
<el-table-column prop="projectNum" label="项目数量" width="90"> </el-table-column>
<el-table-column prop="projectCode" label="项目编码" width="130"> </el-table-column>
<el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
</el-table-column>
......@@ -218,9 +219,10 @@
></el-image>
</template>
</el-table-column>
<el-table-column label="问题响应" min-width="100">
<el-table-column label="是否申述" min-width="100">
<template slot-scope="scope">
<el-switch
<span>{{ scope.row.confirmStatus == 1 ? '是' : '否' }}</span>
<!-- <el-switch
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
......@@ -237,11 +239,11 @@
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</el-switch> -->
</template>
</el-table-column>
<el-table-column
label="解释批注"
label="整改说明"
prop="feedback"
min-width="100"
show-overflow-tooltip
......@@ -1057,12 +1059,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -1071,7 +1073,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1092,7 +1094,7 @@ export default {
widows: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1100,18 +1102,18 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1120,7 +1122,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1128,7 +1130,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -1182,21 +1184,21 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.dialog {
......@@ -1205,33 +1207,33 @@ export default {
overflow-y: hidden;
}
}
/deep/.el-switch__core {
::v-deep.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
::v-deep.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
::v-deep .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
::v-deep.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
::v-deep .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
::v-deep.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
::v-deep.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
......@@ -1240,7 +1242,7 @@ export default {
user-select: none;
}
/deep/.el-switch__label--right {
::v-deep.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
......@@ -1249,14 +1251,14 @@ export default {
user-select: none;
}
/deep/.el-switch__label--right.is-active {
::v-deep.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
::v-deep.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
......@@ -1299,14 +1301,14 @@ h3 {
width: 100%;
min-width: 100%;
}
/deep/.el-table__fixed-body-wrapper .el-table__body {
::v-deep.el-table__fixed-body-wrapper .el-table__body {
padding-bottom: 6px; // 6px为横向滚动条高度
}
/deep/.el-table--scrollable-x .el-table__body-wrapper {
::v-deep.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden !important;
}
}
/deep/ .el-tag {
::v-deep .el-tag {
white-space: normal;
height: auto;
}
......@@ -1357,13 +1359,13 @@ h3 {
.addfrom {
display: inline-block;
height: 300px;
/deep/.el-input__inner {
::v-deep.el-input__inner {
width: 450px !important;
}
/deep/.el-textarea__inner {
::v-deep.el-textarea__inner {
width: 450px !important;
}
/deep/ .el-select-dropdown {
::v-deep .el-select-dropdown {
margin-top: -55px !important; /* 调整与触发按钮的距离 */
margin-left: 20px; /* 也可以调整左边距,根据需要 */
}
......
<!-- 评估批次发起 -->
<template>
<div class="main">
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm" ref="formName">
<div :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<el-form
:model="ruleForm"
label-width="100px"
class="demo-ruleForm"
ref="formName"
>
<div :class="openBar ? 'upicon' : 'downicon'" @click="openBar = !openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem fromItemShow">
<el-form-item
label="批次年度:"
prop="batchYear"
class="fromItem fromItemShow"
>
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
......@@ -15,11 +24,27 @@
/>
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem fromItemShow">
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="后评估批次状态:" prop="postEvalState" class="fromItem fromItemShow">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem fromItemShow"
>
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label="后评估批次状态:"
prop="postEvalState"
class="fromItem fromItemShow"
>
<el-select
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<el-option label="未发起" value="0"></el-option>
<el-option label="已发起" value="1"></el-option>
<el-option label="已撤回" value="2"></el-option>
......@@ -27,7 +52,11 @@
<el-option label="已完成" value="5"></el-option>
</el-select>
</el-form-item>
<el-form-item label="发起时间:" prop="batchName" class="fromItem fromItemShow">
<el-form-item
label="发起时间:"
prop="batchName"
class="fromItem fromItemShow"
>
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
......@@ -58,7 +87,9 @@
<el-button @click="deletes()">
<img class="buttonIcon" src="../../assets/sc.png" /> 删除
</el-button>
<el-button v-debounce:click="sendMsg"><i class="el-icon-position"></i> 发起 </el-button>
<el-button v-debounce:click="sendMsg"
><i class="el-icon-position"></i> 发起
</el-button>
<el-button v-debounce:click="withdraw">
<i class="el-icon-folder-delete"></i>撤回
</el-button>
......@@ -67,7 +98,10 @@
<div class="setscrollOne">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
@row-click="
(row, column, event) =>
handleRowClick(row, column, event, 'multipleTable')
"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -77,24 +111,37 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" width="120" prop="batchYear">
<template slot-scope="scope"> {{ scope.row.batchYear }}</template>
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称" width="auto"> </el-table-column>
<el-table-column prop="batchName" label="后评估批次名称" width="auto">
<template slot-scope="scope">
<div @click="routeToResultView(scope.row)" style="cursor: pointer;">{{ scope.row.batchName }}</div>
</template>
</el-table-column>
<el-table-column prop="expertName" label="后评估专家" width="auto"> </el-table-column>
<el-table-column prop="expertName" label="后评估专家" width="auto">
</el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto">
</el-table-column> -->
<el-table-column prop="planReviewDate" label="计划评估日期" width="220"> </el-table-column>
<el-table-column prop="postEvalStateText" label="后评估批次状态" width="120">
<el-table-column prop="planReviewDate" label="计划评估日期" width="220">
</el-table-column>
<el-table-column
prop="postEvalStateText"
label="后评估批次状态"
width="120"
>
</el-table-column>
<!-- <el-table-column prop="postEvalState" label="后评估状态" width="auto">
</el-table-column> -->
<el-table-column prop="creator" label="发起人" width="120"> </el-table-column>
<el-table-column prop="createTime" label="发起时间" width="220"> </el-table-column>
<el-table-column prop="creatorName" label="发起人" width="120">
</el-table-column>
<el-table-column prop="createTime" label="发起时间" width="220">
</el-table-column>
</el-table>
</div>
<el-pagination
......@@ -118,14 +165,26 @@
@close="resetForm()"
>
<div class="dialog">
<el-form :model="ruleFormdialogBJ" label-width="100px" class="demo-ruleForm">
<el-form
:model="ruleFormdialogBJ"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-input v-model="ruleFormdialogBJ.batchName" disabled></el-input>
</el-form-item>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-date-picker
disabled
v-model="ruleFormdialogBJ.planReviewDate"
......@@ -133,23 +192,33 @@
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
disabledDate: (time) =>
time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input type="textarea" v-model="ruleFormdialogBJ.description" disabled></el-input>
<el-input
type="textarea"
v-model="ruleFormdialogBJ.description"
disabled
></el-input>
</el-form-item>
<el-form-item label="备注:" class="textarea">
<el-input type="textarea" v-model="ruleFormdialogBJ.remark" disabled></el-input>
<el-input
type="textarea"
v-model="ruleFormdialogBJ.remark"
disabled
></el-input>
</el-form-item>
</el-form>
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTable2')
(row, column, event) =>
handleRowClick(row, column, event, 'multipleTable2')
"
ref="multipleTable2"
:data="XQtableData"
......@@ -160,32 +229,53 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="单位" width="auto" prop="orgName"> </el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto"> </el-table-column>
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto"> </el-table-column> -->
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto"> </el-table-column>
<el-table-column prop="email" label="邮箱" width="auto"> </el-table-column>
<el-table-column prop="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{ scope.row.expertfields | filtertfields }}</template>
<template slot-scope="scope">{{
scope.row.expertfields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
</el-table-column>
</el-table>
</div>
......@@ -219,7 +309,11 @@
:rules="rules"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleFormdialogAdd.batchYear" placeholder="请选择" clearable>
<el-select
v-model="ruleFormdialogAdd.batchYear"
placeholder="请选择"
clearable
>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -228,17 +322,29 @@
/>
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogAdd.batchName" clearable></el-input>
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-input
v-model="ruleFormdialogAdd.batchName"
clearable
></el-input>
</el-form-item>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialogAdd.planReviewDate"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
disabledDate: (time) =>
time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
......@@ -260,11 +366,16 @@
></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">后评估专家 <span @click="xzExperts()">选择专家</span></p>
<p class="zjBtn">
后评估专家 <span @click="xzExperts()">选择专家</span>
</p>
<div class="setscrolldialog">
<el-table
:data="
addtableData.slice((addcurrentPage - 1) * pageSizeAdd, addcurrentPage * pageSizeAdd)
addtableData.slice(
(addcurrentPage - 1) * pageSizeAdd,
addcurrentPage * pageSizeAdd
)
"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -273,32 +384,55 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="单位" width="auto" prop="orgName"> </el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto"> </el-table-column>
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="iscUserId" label="ISC账号" width="auto">
</el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto"> </el-table-column> -->
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto"> </el-table-column>
<el-table-column prop="email" label="邮箱" width="auto"> </el-table-column>
<el-table-column prop="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
<template slot-scope="scope">{{
scope.row.expertFields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
</el-table-column>
</el-table>
</div>
......@@ -314,7 +448,8 @@
>
</el-pagination>
<p class="midBtn">
<span @click="cancelXZ()">取消</span><span v-debounce:click="saveXZ">保存</span>
<span @click="cancelXZ()">取消</span
><span v-debounce:click="saveXZ">保存</span>
</p>
</div>
</el-dialog>
......@@ -330,13 +465,21 @@
<div class="adzjdialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="专家姓名:" prop="talentName" class="fromItem">
<el-input v-model="ruleFormZJ.talentName" placeholder="请输入" clearable></el-input>
<el-input
v-model="ruleFormZJ.talentName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<!-- <el-form-item label="专家编号:" prop="id" class="fromItem">
<el-input v-model="ruleFormZJ.id" placeholder="请输入" clearable></el-input>
</el-form-item> -->
<el-form-item label="专家级别:" prop="level" class="fromItem">
<el-select v-model="ruleFormZJ.level" placeholder="请选择" clearable>
<el-select
v-model="ruleFormZJ.level"
placeholder="请选择"
clearable
>
<el-option label="初级" value="1"></el-option>
<el-option label="高级" value="2"></el-option>
<el-option label="中级" value="3"></el-option>
......@@ -373,9 +516,7 @@
<div class="setscrolldialogzj">
<el-table
@selection-change="handleSelectionChangeZJ"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTableZJ')
"
@current-change="currentChange"
ref="multipleTableZJ"
:data="zjtableData"
tooltip-effect="dark myTooltips"
......@@ -384,36 +525,57 @@
class="eltable"
:row-class-name="tableRowClassName"
>
border >
<el-table-column type="selection"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
<!-- <template slot-scope="scope">{{ scope.row.id }}</template> -->
</el-table-column>
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column label="单位" width="auto" prop="orgName"> </el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto"> </el-table-column>
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="iscUserId" label="ISC账号" width="auto">
</el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto"> </el-table-column> -->
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto"> </el-table-column>
<el-table-column prop="email" label="邮箱" width="auto"> </el-table-column>
<el-table-column prop="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
<template slot-scope="scope">{{
scope.row.expertFields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
</el-table-column>
<!-- <el-table-column
prop="id"
......@@ -437,7 +599,8 @@
</el-pagination>
<p class="midBtn">
<span @click="cancelZJ()">取消</span><span @click="saveZJ()">保存</span>
<span @click="cancelZJ()">取消</span
><span @click="saveZJ()">保存</span>
</p>
</div>
</el-dialog>
......@@ -458,7 +621,11 @@
ref="formNameBJ"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleFormdialogBJ.batchYear" placeholder="请选择" clearable>
<el-select
v-model="ruleFormdialogBJ.batchYear"
placeholder="请选择"
clearable
>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -467,17 +634,26 @@
/>
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-input v-model="ruleFormdialogBJ.batchName" clearable></el-input>
</el-form-item>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-date-picker
v-model="ruleFormdialogBJ.planReviewDate"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
disabledDate: (time) =>
time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
......@@ -499,12 +675,15 @@
></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">后评估专家 <span @click="xzExperts()">选择专家</span></p>
<p class="zjBtn">
后评估专家 <span @click="xzExperts()">选择专家</span>
</p>
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTable3')
(row, column, event) =>
handleRowClick(row, column, event, 'multipleTable3')
"
ref="multipleTable3"
:data="addtableData"
......@@ -515,32 +694,53 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="单位" width="auto" prop="orgName"> </el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto"> </el-table-column>
<el-table-column label="序号" width="55" type="index"></el-table-column>
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="iscUserId" label="ISC账号" width="auto">
</el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto"> </el-table-column> -->
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{ scope.row.seducation | filterexpert }}</template>
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto"> </el-table-column>
<el-table-column prop="email" label="邮箱" width="auto"> </el-table-column>
<el-table-column prop="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
<template slot-scope="scope">{{
scope.row.expertFields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
</el-table-column>
</el-table>
</div>
......@@ -556,7 +756,8 @@
>
</el-pagination>
<p class="midBtn">
<span @click="cancelBJ()">取消</span><span @click="saveBJ()">保存</span>
<span @click="cancelBJ()">取消</span
><span @click="saveBJ()">保存</span>
</p>
</div>
</el-dialog>
......@@ -573,70 +774,72 @@ import {
evalBatchInfo,
delEvalBatchInfo,
chEvalBatchInfo,
} from '@/api/indexzc'
import { getCurrentDate } from '@/utils/format'
import { generateYearOptions } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
} from "@/api/indexzc";
import { getCurrentDate } from "@/utils/format";
import { generateYearOptions } from "@/utils/cache";
import tableMixin from "@/mixins/table.mixin.js";
export default {
mixins: [tableMixin],
data() {
return {
openBar:true,
value1: '',
openBar: true,
value1: "",
yearsList: generateYearOptions(),
totalXQ: 0,
XQtableData: [],
currentPageXQ: 1,
pageSizeXQ: 5,
ruleForm: {
batchYear: '',
batchName: '',
postEvalState: '',
batchYear: "",
batchName: "",
postEvalState: "",
dates: [],
},
ruleFormdialog: {
batchYear: '',
batchName: '',
planReviewDate: '',
fullName: '',
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
},
ruleFormZJ: {
expertFields: '',
status: '',
fullName: '',
expertFields: "",
status: "",
fullName: "",
},
ruleFormdialogAdd: {
batchYear: '',
batchName: '',
planReviewDate: '',
description: '',
remark: '',
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
},
ruleFormdialogBJ: {
batchYear: '',
batchName: '',
planReviewDate: '',
description: '',
remark: '',
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
},
rules: {
batchYear: [{ required: true, message: '请选择批次年度', trigger: 'change' }],
batchYear: [
{ required: true, message: "请选择批次年度", trigger: "change" },
],
batchName: [
{
required: true,
message: '请选择后评估批次名称',
trigger: 'change',
message: "请选择后评估批次名称",
trigger: "change",
},
],
planReviewDate: [
{
required: true,
message: '请选择计划评估日期',
trigger: 'change',
message: "请选择计划评估日期",
trigger: "change",
},
],
},
xfParams: '', //下发入参
xfParams: "", //下发入参
tableData: [],
tableDataQD: [], //清单列表
checkedList: [],
......@@ -659,20 +862,23 @@ export default {
pageSizeAdd: 5,
currentedit: 1,
pageSizeedit: 5,
xfParam: '',
xfParam: "",
dialogedit: false,
expertIdList: [],
totalBJ: 0,
addZJList: [],
status: '',
expertfields: '',
zjfullName: '',
status: "",
expertfields: "",
zjfullName: "",
zjtotal: 0,
zjtableData: [],
addcurrentPage: 1,
addtableData: [],
message: {},
}
templateSelection: {},
radio: "",
};
},
watch: {
openBar(n, o) {
......@@ -689,459 +895,496 @@ export default {
},
},
mounted() {
this.submitForm()
console.log(888888, this.$route);
this.submitForm();
},
filters: {
filtergender(val) {
if (val == 0) {
return '女'
return "女";
} else {
return '男'
return "男";
}
},
filtertState(val) {
if (val == 1) {
return '在库'
return "在库";
} else {
return '出库'
return "出库";
}
},
filtertLevel(val) {
if (val == 1) {
return '初级'
return "初级";
} else if (val == 2) {
return '中级'
return "中级";
} else {
return '高级'
return "高级";
}
},
filtertfields(val) {
if (val == 1) {
return '设备'
return "设备";
} else if (val == 2) {
return '技术'
return "技术";
} else {
return '信息化'
return "信息化";
}
},
filterexpert(val) {
if (val == 1) {
return '本科'
return "本科";
} else if (val == 2) {
return '硕士'
return "硕士";
} else {
return '博士'
return "博士";
}
},
},
methods: {
routeToResultView(row) {
console.log(66666, row);
const params = {
name: 'bingo'
}
this.$router.push({
path: '/assesszc/assistedViewing',
query: {
// clqparams: JSON.stringify(params),
batchName: row.batchName,
}
})
},
timeChange(time) {
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
this.ruleForm.createStartTime = time[0];
this.ruleForm.createEndTime = time[1];
} else {
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
}
},
async submitForm(info) {
if(info==999){
this.currentPage=1
if (info == 999) {
this.currentPage = 1;
}
let params = {
current: this.currentPage,
pageSize: this.pageSize,
module: 1,
}
};
Object.assign(params, this.ruleForm)
Object.assign(params, this.ruleForm);
let res = await evalBatchInfo(params)
let res = await evalBatchInfo(params);
if (res.code == '200') {
this.tableData = res.data.records
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.postEvalState == '' || item.postEvalState == null) {
this.$set(item, 'postEvalStateText', '未发起')
} else if (item.postEvalState == '0') {
this.$set(item, 'postEvalStateText', '未发起')
} else if (item.postEvalState == '2') {
this.$set(item, 'postEvalStateText', '已撤回')
} else if (item.postEvalState == '1') {
this.$set(item, 'postEvalStateText', '已发起')
} else if (item.postEvalState == '3' || item.postEvalState == '4') {
this.$set(item, 'postEvalStateText', '执行中')
} else if (item.postEvalState == '5') {
this.$set(item, 'postEvalStateText', '已完成')
if (item.postEvalState == "" || item.postEvalState == null) {
this.$set(item, "postEvalStateText", "未发起");
} else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "未发起");
} else if (item.postEvalState == "2") {
this.$set(item, "postEvalStateText", "已撤回");
} else if (item.postEvalState == "1") {
this.$set(item, "postEvalStateText", "已发起");
} else if (item.postEvalState == "3" || item.postEvalState == "4") {
this.$set(item, "postEvalStateText", "执行中");
} else if (item.postEvalState == "5") {
this.$set(item, "postEvalStateText", "已完成");
}
})
this.total = res.data.total * 1
});
this.total = res.data.total * 1;
}
},
resetForm() {
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.dates = []
this.submitForm()
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.dates = [];
this.submitForm();
},
//点击新增
async add() {
this.dialogAdd = true
this.addtableData = [] //每次新增清空不然点了还是这几个人
this.ruleFormdialogAdd = {}
this.dialogAdd = true;
this.addtableData = []; //每次新增清空不然点了还是这几个人
this.ruleFormdialogAdd = {};
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message('请选择')
return
this.$message("请选择");
return;
}
this.dialogXQ = true
this.checkedList[0].planReviewDate = new Date(this.checkedList[0].planReviewDate)
this.ruleFormdialogBJ = this.checkedList[0]
this.dialogXQ = true;
this.checkedList[0].planReviewDate = new Date(
this.checkedList[0].planReviewDate
);
this.ruleFormdialogBJ = this.checkedList[0];
let params = {
current: this.currentPageXQ,
pageSize: this.pageSizeXQ,
batchId: this.checkedList[0].batchId,
}
console.log(params, 'params')
let res = await expert(params)
};
console.log(params, "params");
let res = await expert(params);
this.XQtableData = res.data.records
this.totalXQ = res.data.total * 1
this.XQtableData = res.data.records;
this.totalXQ = res.data.total * 1;
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'
return "warning-row";
}
return ''
return "";
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection
this.ruleFormdialog = this.checkedList[0]
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
},
handleCurrentChange(val) {
this.currentPage = val
this.submitForm()
this.currentPage = val;
this.submitForm();
},
handleSizeChangeZJ(val) {
this.pageSizeZJ = val
this.xzExperts()
this.pageSizeZJ = val;
this.xzExperts();
},
handleCurrentChangeZJ(val) {
this.currentZJ = val
this.xzExperts()
this.currentZJ = val;
this.xzExperts();
},
handleSizeChangetjcl(val) {
this.pageSizetjcl = val
this.pageSizetjcl = val;
},
handleCurrentChangetjcl(val) {
this.currentPagetjcl = val
this.currentPagetjcl = val;
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val
this.pageSizeAdd = val;
},
handleCurrentChangeAdd(val) {
this.addcurrentPage = val
this.addcurrentPage = val;
},
handleSizeChangeBJ(val) {
this.pageSizeBJ = val
this.edit()
this.pageSizeBJ = val;
this.edit();
},
handleCurrentChangeBJ(val) {
this.currentPageBJ = val
this.edit()
this.currentPageBJ = val;
this.edit();
},
//详情分页
handleSizeChangeXQ(val) {
this.pageSizeXQ = val
this.detailsForm()
this.pageSizeXQ = val;
this.detailsForm();
},
handleCurrentChangeXQ(val) {
this.currentPageXQ = val
this.detailsForm()
this.currentPageXQ = val;
this.detailsForm();
},
cancel() {
this.dialog = false
this.dialog = false;
},
async save(type) {
this.dialog = false
if (type == 'add') {
let params = {}
let res = await qrscevaluationMaterials(params)
this.dialog = false;
if (type == "add") {
let params = {};
let res = await qrscevaluationMaterials(params);
}
},
//选中的专家
handleSelectionChangeZJ(val) {
if (val.length > 1) {
this.$refs.multipleTableZJ.clearSelection();
this.$refs.multipleTableZJ.toggleRowSelection(val[val.length - 1]);
}
this.addZJList = [val[val.length - 1]];
// console.log("选中的专家1-", this.addZJList);
},
currentChange(val) {
this.$refs.multipleTableZJ.toggleRowSelection(val);
},
//保存专家
saveZJ() {
const iscUserIdEqualNull = this.addZJList.find(
(item) => item.iscUserId === null
);
// console.log('保存专家', iscUserIdEqualNull);
if (iscUserIdEqualNull !== undefined) {
this.$message("不能保存ISC账号为空的选项");
return;
}
if (this.addZJList.length < 1) {
this.$message('请选择专家')
return
this.$message("请选择专家");
return;
}
if(this.dialogAdd === true) {
// 新增后评估批次信息 弹窗
// 只保留专家弹窗中选择的一条数据
this.addtableData = [];
}
if (this.dialogedit == true) {
console.log('编辑专家')
this.addtableData = []
console.log("编辑专家");
this.addtableData = [];
}
this.addtableData = [...this.addtableData, ...this.addZJList]
this.addtableData = [...this.addtableData, ...this.addZJList];
this.addtableData = this.addtableData.filter(
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id),
)
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id)
);
this.addtotal = this.addtableData.length
this.dialogAddzj = false
this.addtotal = this.addtableData.length;
this.dialogAddzj = false;
},
cancelZJ() {
this.dialogAddzj = false
this.dialogAddzj = false;
},
cancelBJ() {
this.dialogedit = false
this.dialogedit = false;
},
async xzExperts(type) {
if (!type) {
this.ruleFormZJ = {}
this.ruleFormZJ = {};
}
this.dialogAddzj = true
this.dialogAddzj = true;
let params = {
current: this.currentZJ,
pageSize: this.pageSizeZJ,
}
Object.assign(params, this.ruleFormZJ)
console.log('查询专家', params)
};
Object.assign(params, this.ruleFormZJ);
console.log("查询专家", params);
// this.zjtableData = []
let res = await expertInfo(params)
this.zjtableData = res.data.records
this.zjtotal = res.data.total * 1
let res = await expertInfo(params);
this.zjtableData = res.data.records;
this.zjtotal = res.data.total * 1;
},
cancelBJ() {
this.dialogedit = false
this.dialogedit = false;
},
saveXZ() {
console.log('保存验证', this.$refs)
console.log("保存验证", this.$refs);
this.$refs.formName.validate((valid) => {
if (!valid) {
console.log('error submit!!')
return false
console.log("error submit!!");
return false;
} else {
if (this.addtableData.length < 1) {
this.$message('请选择专家')
this.$message("请选择专家");
}
console.log(this.addZJList, 'this.addZJList')
let expertIdList = []
let expertStr = ''
let expertIdList = [];
let expertStr = "";
this.addtableData.forEach((item) => {
expertIdList.push(item.id)
expertStr = JSON.stringify(expertIdList).slice(1, -1)
})
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
let params = {
expertStr: expertStr,
creator: sessionStorage.getItem('author'),
creator: sessionStorage.getItem("author"),
createTime: getCurrentDate(),
module: 1,
}
Object.assign(params, this.ruleFormdialogAdd)
this.xfParams = JSON.parse(JSON.stringify(params))
};
Object.assign(params, this.ruleFormdialogAdd);
this.xfParams = JSON.parse(JSON.stringify(params));
adEvalBatchInfo(params).then((res) => {
this.dialogAdd = false
this.expertIdList = expertIdList
this.resetForm()
})
this.dialogAdd = false;
this.expertIdList = expertIdList;
this.resetForm();
});
}
})
});
// this.$emit("listenToChildEvent", "reset");
// }
},
cancelXZ() {
this.dialogAdd = false
this.dialogAdd = false;
},
saveBJ() {
this.$refs.formNameBJ.validate((valid) => {
if (!valid) {
return false
return false;
} else {
if (this.addtableData.length < 1) {
this.$message('请选择专家')
this.$message("请选择专家");
}
let expertIdList = []
let expertStr = ''
let expertIdList = [];
let expertStr = "";
this.addtableData.forEach((item) => {
expertIdList.push(item.id)
expertStr = JSON.stringify(expertIdList).slice(1, -1)
})
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
let params = {
expertStr: expertStr,
}
Object.assign(this.ruleFormdialogBJ, params)
};
Object.assign(this.ruleFormdialogBJ, params);
updEvalBatchInfo(this.ruleFormdialogBJ).then((res) => {
this.dialogedit = false
this.resetForm()
})
this.dialogedit = false;
this.resetForm();
});
}
})
},
//选中的专家
handleSelectionChangeZJ() {
this.addZJList = this.$refs.multipleTableZJ.selection
});
},
convertTimeFormat(isoTime) {
const date = new Date(isoTime)
const year = date.getFullYear()
const month = (date.getMonth() + 1).toString().padStart(2, '0')
const day = date.getDate().toString().padStart(2, '0')
const hours = date.getHours().toString().padStart(2, '0')
const minutes = date.getMinutes().toString().padStart(2, '0')
const seconds = date.getSeconds().toString().padStart(2, '0')
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
const date = new Date(isoTime);
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, "0");
const day = date.getDate().toString().padStart(2, "0");
const hours = date.getHours().toString().padStart(2, "0");
const minutes = date.getMinutes().toString().padStart(2, "0");
const seconds = date.getSeconds().toString().padStart(2, "0");
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
},
//点击编辑
async edit() {
//只能选择编辑未发起 待增加
if (this.checkedList.length != 1) {
this.$message('请选择')
return
this.$message("请选择");
return;
}
if (this.checkedList[0].postEvalStateText == '已发起') {
this.$message('不能编辑已发起的项目')
return
if (this.checkedList[0].postEvalStateText == "已发起") {
this.$message("不能编辑已发起的项目");
return;
}
this.addtableData = []
this.addtableData = [];
this.checkedList[0].planReviewDate = this.convertTimeFormat(
this.checkedList[0].planReviewDate,
)
this.ruleFormdialogBJ = this.checkedList[0]
this.dialogedit = true
this.checkedList[0].planReviewDate
);
this.ruleFormdialogBJ = this.checkedList[0];
this.dialogedit = true;
let params = {
current: this.currentedit,
pageSize: this.pageSizeedit,
batchId: this.checkedList[0].batchId,
}
};
let res = await expert(params)
let res = await expert(params);
this.addtableData = res.data.records
this.totalBJ = res.data.total * 1
this.addtableData = res.data.records;
this.totalBJ = res.data.total * 1;
this.addtableData.forEach((item) => {
this.expertIdList.push(item.id)
})
this.expertIdList.push(item.id);
});
},
//点击删除
deletes() {
console.log('删除')
console.log("删除");
if (this.checkedList.length != 1) {
this.$message('请选择')
return
this.$message("请选择");
return;
}
if (
this.checkedList[0].postEvalStateText != '已撤回' &&
this.checkedList[0].postEvalStateText != '未发起'
this.checkedList[0].postEvalStateText != "已撤回" &&
this.checkedList[0].postEvalStateText != "未发起"
) {
this.$message('只可删除状态为未发起或者已撤回的批次')
return
this.$message("只可删除状态为未发起或者已撤回的批次");
return;
}
this.$confirm('此操作将删除该批次, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
this.$confirm("此操作将删除该批次, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(async () => {
let res = await delEvalBatchInfo(this.checkedList[0])
let res = await delEvalBatchInfo(this.checkedList[0]);
if (res.code == 200) {
this.$message({
type: 'success',
message: '删除成功!',
})
this.resetForm()
type: "success",
message: "删除成功!",
});
this.resetForm();
} else {
this.$message({
type: 'info',
message: '删除失败!',
})
this.resetForm()
type: "info",
message: "删除失败!",
});
this.resetForm();
}
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除',
})
})
type: "info",
message: "已取消删除",
});
});
},
handleImageClick() {},
//点击下发
async sendMsg() {
//只能选择未发起的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message('请选择')
return
this.$message("请选择");
return;
}
if (this.checkedList[0].postEvalStateText == '已发起') {
this.$message('该项目已发起')
return
if (this.checkedList[0].postEvalStateText == "已发起") {
this.$message("该项目已发起");
return;
}
let res = await sendEvalBatchInfo(this.checkedList[0])
if (res.code == '200') {
let res = await sendEvalBatchInfo(this.checkedList[0]);
if (res.code == "200") {
this.$message({
type: 'success',
message: '发起成功!',
})
this.resetForm()
type: "success",
message: "发起成功!",
});
this.resetForm();
} else {
this.$message({
type: 'info',
message: '发起失败!',
})
type: "info",
message: "发起失败!",
});
}
},
//点击撤回
async withdraw() {
//只能选择已发起未确认的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message('请选择')
return
this.$message("请选择");
return;
}
// if (this.checkedList[0].postEvalStateText == "未发起") {
// this.$message("该项目未发起");
// return;
// }
if (this.checkedList[0].postEvalStateText != '已发起') {
this.$message('只可撤回状态为已发起的批次')
return
if (this.checkedList[0].postEvalStateText != "已发起") {
this.$message("只可撤回状态为已发起的批次");
return;
}
this.$confirm('是否撤回?', '提示', {
confirmButtonText: '是',
cancelButtonText: '否',
this.$confirm("是否撤回?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
distinguishCancelAndClose: true,
type: 'warning',
type: "warning",
})
.then(async () => {
let res = await chEvalBatchInfo(this.checkedList[0])
if (res.code == '200') {
this.$message('已撤回')
this.resetForm()
let res = await chEvalBatchInfo(this.checkedList[0]);
if (res.code == "200") {
this.$message("已撤回");
this.resetForm();
}
})
.catch((action) => {})
.catch((action) => {});
// let res = await chEvalBatchInfo(this.checkedList[0]);
// if (res.code == "200") {
// this.$message('已撤回')
......@@ -1149,7 +1392,7 @@ export default {
// }
},
},
}
};
</script>
<style scoped lang="scss">
.main {
......@@ -1183,12 +1426,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -1197,7 +1440,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1215,7 +1458,7 @@ export default {
}
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1223,18 +1466,18 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1243,7 +1486,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1251,7 +1494,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
// width: 100%;
position: absolute;
// width: auto !important;
......@@ -1283,7 +1526,7 @@ export default {
}
.textarea {
width: 100%;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
display: flex;
}
.el-textarea {
......@@ -1311,7 +1554,7 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.zjBtn {
......@@ -1332,10 +1575,10 @@ export default {
margin-left: 10px;
}
}
/deep/ .el-icon-position {
::v-deep .el-icon-position {
margin-right: 10px;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
......@@ -1371,11 +1614,11 @@ export default {
color: #fff;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
......@@ -1384,7 +1627,7 @@ export default {
height: 320px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 320px;
overflow: auto;
......@@ -1395,11 +1638,18 @@ export default {
height: 420px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 420px;
overflow: auto;
}
::v-deep thead {
.el-table-column--selection {
.cell {
display: none;
}
}
}
}
.eltable {
box-sizing: border-box;
......
<!-- 评估批次发起 -->
<template>
<div class="main">
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm" ref="formName">
<div :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem fromItemShow">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
:label="item + '年'"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem fromItemShow">
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="后评估批次状态:" prop="postEvalState" class="fromItem fromItemShow">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
<el-option label="未发起" value="0"></el-option>
<el-option label="已发起" value="1"></el-option>
<el-option label="已撤回" value="2"></el-option>
<el-option label="执行中" value="3"></el-option>
<el-option label="已完成" value="5"></el-option>
</el-select>
</el-form-item>
<el-form-item label="发起时间:" prop="batchName" class="fromItem fromItemShow">
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item class="button">
<el-button @click="submitForm('999')">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
>
<el-button @click="resetForm()">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<el-button @click="detailsForm()">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button @click="add()">
<img class="buttonIcon" src="../../assets/xz.png" /> 新增
</el-button>
<el-button @click="edit()">
<img class="buttonIcon" src="../../assets/bj.png" /> 编辑
</el-button>
<el-button @click="deletes()">
<img class="buttonIcon" src="../../assets/sc.png" /> 删除
</el-button>
<el-button v-debounce:click="sendMsg"><i class="el-icon-position"></i> 发起 </el-button>
<el-button v-debounce:click="withdraw">
<i class="el-icon-folder-delete"></i>撤回
</el-button>
</el-form-item>
</el-form>
<div class="setscrollOne">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" width="120" prop="batchYear">
<template slot-scope="scope"> {{ scope.row.batchYear }}</template>
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称" width="auto"> </el-table-column>
<el-table-column prop="expertName" label="后评估专家" width="auto"> </el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto">
</el-table-column> -->
<el-table-column prop="planReviewDate" label="计划评估日期" width="220"> </el-table-column>
<el-table-column prop="postEvalStateText" label="后评估批次状态" width="120">
</el-table-column>
<!-- <el-table-column prop="postEvalState" label="后评估状态" width="auto">
</el-table-column> -->
<el-table-column prop="creatorName" label="发起人" width="120"> </el-table-column>
<el-table-column prop="createTime" label="发起时间" width="220"> </el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50, 100]"
:page-size="1000"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
</el-pagination>
<!-- 详情弹窗 -->
<el-dialog
title="提交评估材料"
:visible.sync="dialogXQ"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
@close="resetForm()"
>
<div class="dialog">
<el-form :model="ruleFormdialogBJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchName" disabled></el-input>
</el-form-item>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-date-picker
disabled
v-model="ruleFormdialogBJ.planReviewDate"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input type="textarea" v-model="ruleFormdialogBJ.description" disabled></el-input>
</el-form-item>
<el-form-item label="备注:" class="textarea">
<el-input type="textarea" v-model="ruleFormdialogBJ.remark" disabled></el-input>
</el-form-item>
</el-form>
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTable2')
"
ref="multipleTable2"
:data="XQtableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="单位" width="auto" prop="orgName"> </el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto"> </el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto"> </el-table-column> -->
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto"> </el-table-column>
<el-table-column prop="email" label="邮箱" width="auto"> </el-table-column>
<el-table-column prop="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{ scope.row.expertfields | filtertfields }}</template>
</el-table-column>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChangeXQ"
@current-change="handleCurrentChangeXQ"
:current-page="currentPageXQ"
:page-sizes="[5, 10, 20, 50]"
:page-size="1000"
layout="total, sizes, prev, pager, next, jumper"
:total="totalXQ"
class="elpagination"
>
</el-pagination>
</div>
</el-dialog>
<el-dialog
title="新增后评估批次信息"
:visible.sync="dialogAdd"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="dialog">
<el-form
ref="formName"
:model="ruleFormdialogAdd"
label-width="100px"
class="demo-ruleForm"
:rules="rules"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleFormdialogAdd.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
:label="item + '年'"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogAdd.batchName" clearable></el-input>
</el-form-item>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-date-picker
v-model="ruleFormdialogAdd.planReviewDate"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input
type="textarea"
v-model="ruleFormdialogAdd.description"
placeholder="请输入内容"
clearable
></el-input>
</el-form-item>
<el-form-item label="备注:" class="textarea">
<el-input
type="textarea"
v-model="ruleFormdialogAdd.remark"
placeholder="请输入内容"
clearable
></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">后评估专家 <span @click="xzExperts()">选择专家</span></p>
<div class="setscrolldialog">
<el-table
:data="
addtableData.slice((addcurrentPage - 1) * pageSizeAdd, addcurrentPage * pageSizeAdd)
"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="单位" width="auto" prop="orgName"> </el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto"> </el-table-column>
<el-table-column prop="iscUserId" label="ISC账号" width="auto"> </el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto"> </el-table-column> -->
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto"> </el-table-column>
<el-table-column prop="email" label="邮箱" width="auto"> </el-table-column>
<el-table-column prop="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
</el-table-column>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChangeAdd"
@current-change="handleCurrentChangeAdd"
:current-page="addcurrentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="1000"
layout="total, sizes, prev, pager, next, jumper"
:total="addtotal"
class="elpagination"
>
</el-pagination>
<p class="midBtn">
<span @click="cancelXZ()">取消</span><span v-debounce:click="saveXZ">保存</span>
</p>
</div>
</el-dialog>
<!-- 选择专家弹窗 -->
<el-dialog
title="选择专家"
:visible.sync="dialogAddzj"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
>
<div class="adzjdialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="专家姓名:" prop="talentName" class="fromItem">
<el-input v-model="ruleFormZJ.talentName" placeholder="请输入" clearable></el-input>
</el-form-item>
<!-- <el-form-item label="专家编号:" prop="id" class="fromItem">
<el-input v-model="ruleFormZJ.id" placeholder="请输入" clearable></el-input>
</el-form-item> -->
<el-form-item label="专家级别:" prop="level" class="fromItem">
<el-select v-model="ruleFormZJ.level" placeholder="请选择" clearable>
<el-option label="初级" value="1"></el-option>
<el-option label="高级" value="2"></el-option>
<el-option label="中级" value="3"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="专业领域:" prop="expertFields" class="fromItem">
<el-select
v-model="ruleFormZJ.expertFields"
placeholder="请选择"
clearable
>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="专家状态:" prop="status" class="fromItem">
<el-select
v-model="ruleFormZJ.status"
placeholder="请选择"
clearable
>
<el-option label="2024年" value="2024"></el-option>
<el-option label="2023年" value="2023"></el-option>
<el-option label="2022年" value="2022"></el-option>
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item> -->
<el-form-item class="cxItem">
<span class="zjquery" @click="xzExperts('dj')"> 查询 </span>
</el-form-item>
</el-form>
<div class="setscrolldialogzj">
<el-table
@selection-change="handleSelectionChangeZJ"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTableZJ')
"
ref="multipleTableZJ"
:data="zjtableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
>
<el-table-column type="selection"> </el-table-column>
<!-- <el-table-column label="选择" align="center" width="65">
<template scope="scope">
<el-radio :label="scope.$index" v-model="radio"
@change.native="getCurrentRow(scope.row)">&nbsp;</el-radio>
</template>
</el-table-column> -->
<el-table-column label="序号" width="55" type="index">
<!-- <template slot-scope="scope">{{ scope.row.id }}</template> -->
</el-table-column>
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column label="单位" width="auto" prop="orgName"> </el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto"> </el-table-column>
<el-table-column prop="iscUserId" label="ISC账号" width="auto"> </el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto"> </el-table-column> -->
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto"> </el-table-column>
<el-table-column prop="email" label="邮箱" width="auto"> </el-table-column>
<el-table-column prop="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
</el-table-column>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
<!-- <el-table-column
prop="id"
label="id"
width="auto"
v-show="false"
>
</el-table-column> -->
</el-table>
</div>
<el-pagination
@size-change="handleSizeChangeZJ"
@current-change="handleCurrentChangeZJ"
:current-page="currentZJ"
:page-sizes="[5, 10, 20, 50]"
:page-size="1000"
layout="total, sizes, prev, pager, next, jumper"
:total="zjtotal"
class="elpagination"
>
</el-pagination>
<p class="midBtn">
<span @click="cancelZJ()">取消</span><span @click="saveZJ()">保存</span>
</p>
</div>
</el-dialog>
<!-- 编辑弹窗 -->
<el-dialog
title="提交评估材料"
:visible.sync="dialogedit"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
@close="resetForm()"
>
<div class="dialog">
<el-form
:model="ruleFormdialogBJ"
label-width="100px"
class="demo-ruleForm"
ref="formNameBJ"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleFormdialogBJ.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
:label="item + '年'"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchName" clearable></el-input>
</el-form-item>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-date-picker
v-model="ruleFormdialogBJ.planReviewDate"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input
type="textarea"
v-model="ruleFormdialogBJ.description"
placeholder="请输入内容"
clearable
></el-input>
</el-form-item>
<el-form-item label="备注:" class="textarea">
<el-input
type="textarea"
v-model="ruleFormdialogBJ.remark"
placeholder="请输入内容"
clearable
></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">后评估专家 <span @click="xzExperts()">选择专家</span></p>
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTable3')
"
ref="multipleTable3"
:data="addtableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="单位" width="auto" prop="orgName"> </el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto"> </el-table-column>
<el-table-column prop="iscUserId" label="ISC账号" width="auto"> </el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto"> </el-table-column> -->
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto"> </el-table-column>
<el-table-column prop="email" label="邮箱" width="auto"> </el-table-column>
<el-table-column prop="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
</el-table-column>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
</el-table>
</div>
<el-pagination
@size-change="handleSizeChangeBJ"
@current-change="handleCurrentChangeBJ"
:current-page="currentPageBJ"
:page-sizes="[5, 10, 20, 50]"
:page-size="1000"
layout="total, sizes, prev, pager, next, jumper"
:total="totalBJ"
class="elpagination"
>
</el-pagination>
<p class="midBtn">
<span @click="cancelBJ()">取消</span><span @click="saveBJ()">保存</span>
</p>
</div>
</el-dialog>
</div>
</template>
<script>
import {
expertInfo,
expert,
sendEvalBatchInfo,
adEvalBatchInfo,
updEvalBatchInfo,
evalBatchInfo,
delEvalBatchInfo,
chEvalBatchInfo,
} from '@/api/indexzc'
import { getCurrentDate } from '@/utils/format'
import { generateYearOptions } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
openBar:true,
value1: '',
yearsList: generateYearOptions(),
totalXQ: 0,
XQtableData: [],
currentPageXQ: 1,
pageSizeXQ: 5,
ruleForm: {
batchYear: '',
batchName: '',
postEvalState: '',
dates: [],
},
ruleFormdialog: {
batchYear: '',
batchName: '',
planReviewDate: '',
fullName: '',
},
ruleFormZJ: {
expertFields: '',
status: '',
fullName: '',
},
ruleFormdialogAdd: {
batchYear: '',
batchName: '',
planReviewDate: '',
description: '',
remark: '',
},
ruleFormdialogBJ: {
batchYear: '',
batchName: '',
planReviewDate: '',
description: '',
remark: '',
},
rules: {
batchYear: [{ required: true, message: '请选择批次年度', trigger: 'change' }],
batchName: [
{
required: true,
message: '请选择后评估批次名称',
trigger: 'change',
},
],
planReviewDate: [
{
required: true,
message: '请选择计划评估日期',
trigger: 'change',
},
],
},
xfParams: '', //下发入参
tableData: [],
tableDataQD: [], //清单列表
checkedList: [],
currentPage: 1,
currentPagetjcl: 1,
pageSizetjcl: 5,
total: 0,
dialogXQ: false,
currentPageBJ: 1,
pageSizeBJ: 5,
dialogAdd: false,
dialogAddzj: false,
pageSize: 10,
current: 1,
pageSizeZJ: 5,
currentZJ: 1,
addtotal: 0,
currentAdd: 1,
pageSizeAdd: 5,
currentedit: 1,
pageSizeedit: 5,
xfParam: '',
dialogedit: false,
expertIdList: [],
totalBJ: 0,
addZJList: [],
status: '',
expertfields: '',
zjfullName: '',
zjtotal: 0,
zjtableData: [],
addcurrentPage: 1,
addtableData: [],
message: {},
templateSelection: {},
radio: '',
}
},
watch: {
openBar(n, o) {
let elements = document.querySelectorAll(".fromItemShow");
if (o) {
elements.forEach(function (el) {
el.style.display = "none";
});
} else {
elements.forEach(function (el) {
el.style.display = "block";
});
}
},
},
mounted() {
this.submitForm()
},
filters: {
filtergender(val) {
if (val == 0) {
return '女'
} else {
return '男'
}
},
filtertState(val) {
if (val == 1) {
return '在库'
} else {
return '出库'
}
},
filtertLevel(val) {
if (val == 1) {
return '初级'
} else if (val == 2) {
return '中级'
} else {
return '高级'
}
},
filtertfields(val) {
if (val == 1) {
return '设备'
} else if (val == 2) {
return '技术'
} else {
return '信息化'
}
},
filterexpert(val) {
if (val == 1) {
return '本科'
} else if (val == 2) {
return '硕士'
} else {
return '博士'
}
},
},
methods: {
timeChange(time) {
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
} else {
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
}
},
async submitForm(info) {
if(info==999){
this.currentPage=1
}
let params = {
current: this.currentPage,
pageSize: this.pageSize,
module: 1,
}
Object.assign(params, this.ruleForm)
let res = await evalBatchInfo(params)
if (res.code == '200') {
this.tableData = res.data.records
this.tableData.forEach((item) => {
if (item.postEvalState == '' || item.postEvalState == null) {
this.$set(item, 'postEvalStateText', '未发起')
} else if (item.postEvalState == '0') {
this.$set(item, 'postEvalStateText', '未发起')
} else if (item.postEvalState == '2') {
this.$set(item, 'postEvalStateText', '已撤回')
} else if (item.postEvalState == '1') {
this.$set(item, 'postEvalStateText', '已发起')
} else if (item.postEvalState == '3' || item.postEvalState == '4') {
this.$set(item, 'postEvalStateText', '执行中')
} else if (item.postEvalState == '5') {
this.$set(item, 'postEvalStateText', '已完成')
}
})
this.total = res.data.total * 1
}
},
resetForm() {
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.dates = []
this.submitForm()
},
//点击新增
async add() {
this.dialogAdd = true
this.addtableData = [] //每次新增清空不然点了还是这几个人
this.ruleFormdialogAdd = {}
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message('请选择')
return
}
this.dialogXQ = true
this.checkedList[0].planReviewDate = new Date(this.checkedList[0].planReviewDate)
this.ruleFormdialogBJ = this.checkedList[0]
let params = {
current: this.currentPageXQ,
pageSize: this.pageSizeXQ,
batchId: this.checkedList[0].batchId,
}
console.log(params, 'params')
let res = await expert(params)
this.XQtableData = res.data.records
this.totalXQ = res.data.total * 1
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'
}
return ''
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
}
this.checkedList = this.$refs.multipleTable.selection
this.ruleFormdialog = this.checkedList[0]
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
this.currentPage = val
this.submitForm()
},
handleSizeChangeZJ(val) {
this.pageSizeZJ = val
this.xzExperts()
},
handleCurrentChangeZJ(val) {
this.currentZJ = val
this.xzExperts()
},
handleSizeChangetjcl(val) {
this.pageSizetjcl = val
},
handleCurrentChangetjcl(val) {
this.currentPagetjcl = val
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val
},
handleCurrentChangeAdd(val) {
this.addcurrentPage = val
},
handleSizeChangeBJ(val) {
this.pageSizeBJ = val
this.edit()
},
handleCurrentChangeBJ(val) {
this.currentPageBJ = val
this.edit()
},
//详情分页
handleSizeChangeXQ(val) {
this.pageSizeXQ = val
this.detailsForm()
},
handleCurrentChangeXQ(val) {
this.currentPageXQ = val
this.detailsForm()
},
cancel() {
this.dialog = false
},
async save(type) {
this.dialog = false
if (type == 'add') {
let params = {}
let res = await qrscevaluationMaterials(params)
}
},
//保存专家
saveZJ() {
const iscUserIdEqualNull = this.addZJList.find(item => item.iscUserId === null)
// console.log('保存专家', iscUserIdEqualNull);
if(iscUserIdEqualNull !== undefined) {
this.$message('不能保存ISC账号为空的选项')
return
}
if (this.addZJList.length < 1) {
this.$message('请选择专家')
return
}
if (this.dialogedit == true) {
console.log('编辑专家')
this.addtableData = []
}
this.addtableData = [...this.addtableData, ...this.addZJList]
this.addtableData = this.addtableData.filter(
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id),
)
this.addtotal = this.addtableData.length
this.dialogAddzj = false
},
cancelZJ() {
this.dialogAddzj = false
},
cancelBJ() {
this.dialogedit = false
},
async xzExperts(type) {
if (!type) {
this.ruleFormZJ = {}
}
this.dialogAddzj = true
let params = {
current: this.currentZJ,
pageSize: this.pageSizeZJ,
}
Object.assign(params, this.ruleFormZJ)
console.log('查询专家', params)
// this.zjtableData = []
let res = await expertInfo(params)
this.zjtableData = res.data.records
this.zjtotal = res.data.total * 1
},
cancelBJ() {
this.dialogedit = false
},
saveXZ() {
console.log('保存验证', this.$refs)
this.$refs.formName.validate((valid) => {
if (!valid) {
console.log('error submit!!')
return false
} else {
if (this.addtableData.length < 1) {
this.$message('请选择专家')
}
console.log(this.addZJList, 'this.addZJList')
let expertIdList = []
let expertStr = ''
this.addtableData.forEach((item) => {
expertIdList.push(item.id)
expertStr = JSON.stringify(expertIdList).slice(1, -1)
})
let params = {
expertStr: expertStr,
creator: sessionStorage.getItem('author'),
createTime: getCurrentDate(),
module: 1,
}
Object.assign(params, this.ruleFormdialogAdd)
this.xfParams = JSON.parse(JSON.stringify(params))
adEvalBatchInfo(params).then((res) => {
this.dialogAdd = false
this.expertIdList = expertIdList
this.resetForm()
})
}
})
// this.$emit("listenToChildEvent", "reset");
// }
},
cancelXZ() {
this.dialogAdd = false
},
saveBJ() {
this.$refs.formNameBJ.validate((valid) => {
if (!valid) {
return false
} else {
if (this.addtableData.length < 1) {
this.$message('请选择专家')
}
let expertIdList = []
let expertStr = ''
this.addtableData.forEach((item) => {
expertIdList.push(item.id)
expertStr = JSON.stringify(expertIdList).slice(1, -1)
})
let params = {
expertStr: expertStr,
}
Object.assign(this.ruleFormdialogBJ, params)
updEvalBatchInfo(this.ruleFormdialogBJ).then((res) => {
this.dialogedit = false
this.resetForm()
})
}
})
},
//选中的专家
handleSelectionChangeZJ() {
console.log('选中的专家-', this.addZJList);
this.addZJList = this.$refs.multipleTableZJ.selection
},
// getCurrentRow(row){
// // 获取选中数据 row表示选中这一行的数据,可以从里面提取所需要的值
// console.log('row', row);
// this.templateSelection = row
// },
convertTimeFormat(isoTime) {
const date = new Date(isoTime)
const year = date.getFullYear()
const month = (date.getMonth() + 1).toString().padStart(2, '0')
const day = date.getDate().toString().padStart(2, '0')
const hours = date.getHours().toString().padStart(2, '0')
const minutes = date.getMinutes().toString().padStart(2, '0')
const seconds = date.getSeconds().toString().padStart(2, '0')
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
},
//点击编辑
async edit() {
//只能选择编辑未发起 待增加
if (this.checkedList.length != 1) {
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalStateText == '已发起') {
this.$message('不能编辑已发起的项目')
return
}
this.addtableData = []
this.checkedList[0].planReviewDate = this.convertTimeFormat(
this.checkedList[0].planReviewDate,
)
this.ruleFormdialogBJ = this.checkedList[0]
this.dialogedit = true
let params = {
current: this.currentedit,
pageSize: this.pageSizeedit,
batchId: this.checkedList[0].batchId,
}
let res = await expert(params)
this.addtableData = res.data.records
this.totalBJ = res.data.total * 1
this.addtableData.forEach((item) => {
this.expertIdList.push(item.id)
})
},
//点击删除
deletes() {
console.log('删除')
if (this.checkedList.length != 1) {
this.$message('请选择')
return
}
if (
this.checkedList[0].postEvalStateText != '已撤回' &&
this.checkedList[0].postEvalStateText != '未发起'
) {
this.$message('只可删除状态为未发起或者已撤回的批次')
return
}
this.$confirm('此操作将删除该批次, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {
let res = await delEvalBatchInfo(this.checkedList[0])
if (res.code == 200) {
this.$message({
type: 'success',
message: '删除成功!',
})
this.resetForm()
} else {
this.$message({
type: 'info',
message: '删除失败!',
})
this.resetForm()
}
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除',
})
})
},
handleImageClick() {},
//点击下发
async sendMsg() {
//只能选择未发起的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalStateText == '已发起') {
this.$message('该项目已发起')
return
}
let res = await sendEvalBatchInfo(this.checkedList[0])
if (res.code == '200') {
this.$message({
type: 'success',
message: '发起成功!',
})
this.resetForm()
} else {
this.$message({
type: 'info',
message: '发起失败!',
})
}
},
//点击撤回
async withdraw() {
//只能选择已发起未确认的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message('请选择')
return
}
// if (this.checkedList[0].postEvalStateText == "未发起") {
// this.$message("该项目未发起");
// return;
// }
if (this.checkedList[0].postEvalStateText != '已发起') {
this.$message('只可撤回状态为已发起的批次')
return
}
this.$confirm('是否撤回?', '提示', {
confirmButtonText: '是',
cancelButtonText: '否',
distinguishCancelAndClose: true,
type: 'warning',
})
.then(async () => {
let res = await chEvalBatchInfo(this.checkedList[0])
if (res.code == '200') {
this.$message('已撤回')
this.resetForm()
}
})
.catch((action) => {})
// let res = await chEvalBatchInfo(this.checkedList[0]);
// if (res.code == "200") {
// this.$message('已撤回')
// this.resetForm();
// }
},
},
}
</script>
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
overflow: hidden;
display: flex;
flex-direction: column;
}
.el-form {
display: flex;
width: 99%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7;
padding: 20px 10px;
margin: 0;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
}
.button {
display: inline-block;
width: 100%;
text-align: left;
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
width: 14px;
height: 14px;
margin-right: 15px;
vertical-align: middle;
}
}
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
color: #fff;
}
}
}
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
.elpagination {
text-align: center;
margin-right: 100px;
}
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
::v-deep .el-dialog__wrapper {
position: absolute;
}
::v-deep .v-modal {
position: absolute;
}
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
border-radius: 10px 10px 0 0;
.el-dialog__title {
color: #fff;
}
}
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
color: #333;
}
}
::v-deep.el-table {
// width: 100%;
position: absolute;
// width: auto !important;
max-width: none;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
width: 100% !important;
}
.el-table__body,
.el-table__footer,
.el-table__header {
table-layout: auto;
}
}
.dialog {
.xqtitle {
text-align: left;
font-size: 18px;
span {
display: inline-block;
width: 5px;
height: 20px;
background: #0d867f;
margin-right: 14px;
vertical-align: middle;
}
}
}
.textarea {
width: 100%;
::v-deep .el-form-item__content {
display: flex;
}
.el-textarea {
width: 60%;
}
}
.Btn {
width: 200px;
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 4px;
margin-right: 12px;
}
span:first-of-type {
border: 1px solid #000;
}
span:last-of-type {
background-color: #0d867f;
border: 1px solid #0d867f;
color: #fff;
}
}
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.zjBtn {
width: 200px;
text-align: left;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
border-radius: 5px;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
padding: 5px 10px;
margin-left: 10px;
}
}
::v-deep .el-icon-position {
margin-right: 10px;
}
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
text-align: right;
width: 20%;
.zjquery {
display: inline-block;
background-color: #4ca6a7;
width: 89px;
height: 40px;
color: #fff;
text-align: center;
line-height: 40px;
border-radius: 5px;
}
}
.midBtn {
margin: 0 auto;
span {
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
margin-right: 10px;
border-radius: 5px;
}
span:first-of-type {
border: 1px solid grey;
}
span:last-of-type {
background-color: #4ca6a7;
color: #fff;
}
}
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
::v-deep .el-table__cell {
text-align: center;
}
.setscrolldialog {
width: 100%;
height: 320px;
overflow: auto;
box-sizing: border-box;
::v-deep .el-table {
width: 96% !important;
height: 320px;
overflow: auto;
}
}
.setscrolldialogzj {
width: 100%;
height: 420px;
overflow: auto;
box-sizing: border-box;
::v-deep .el-table {
width: 96% !important;
height: 420px;
overflow: auto;
}
}
.eltable {
box-sizing: border-box;
text-align: center;
height: 100%;
overflow-y: auto;
}
</style>
......@@ -887,7 +887,7 @@ export default {
// margin-bottom: 50px;
// color: #fff;
/deep/ .el-tabs {
::v-deep .el-tabs {
flex: 1;
min-height: 0;
display: flex;
......@@ -921,43 +921,43 @@ export default {
padding: 10px;
}
}
/deep/.el-step__icon {
::v-deep.el-step__icon {
color: #0d867f;
border-color: #0d867f;
width: 20px;
height: 20px;
// border:3px solid #0d867f;
}
/deep/.el-icon-caret-right {
::v-deep.el-icon-caret-right {
font-size: 30px;
line-height: 23px;
display: inline-block;
color: #0d867f;
z-index: 4;
}
/deep/.el-step.is-horizontal .el-step__line {
::v-deep.el-step.is-horizontal .el-step__line {
height: 1px;
// margin-right: -20px !important;
z-index: 1;
}
/deep/.el-step__line {
::v-deep.el-step__line {
color: gainsboro;
}
.el-step__head.is-wait {
color: #0d867f;
border-color: #0d867f;
}
/deep/.el-step__title {
::v-deep.el-step__title {
color: #000;
}
/deep/.el-step__title.is-process {
::v-deep.el-step__title.is-process {
color: #0d867f;
}
/deep/ .is-wait .el-step__icon-inner {
::v-deep .is-wait .el-step__icon-inner {
display: none;
}
/deep/.upload-demo {
::v-deep.upload-demo {
display: inline-block;
}
.tableTitle {
......@@ -1075,13 +1075,13 @@ export default {
}
}
/deep/.uploadBox_hide .el-upload--picture-card {
::v-deep.uploadBox_hide .el-upload--picture-card {
display: none;
}
/deep/.upload_box {
::v-deep.upload_box {
display: inline-block;
}
/deep/.el-upload--picture-card {
::v-deep.el-upload--picture-card {
width: 80px;
height: 40px;
line-height: 50px;
......@@ -1117,20 +1117,20 @@ export default {
width: 100%;
text-align: left;
padding-left: 10px;
/deep/ .el-input__inner {
::v-deep .el-input__inner {
width: 600px;
}
}
/deep/ .docx-wrapper {
::v-deep .docx-wrapper {
padding: 0 !important;
}
/deep/ .docx {
::v-deep .docx {
// width: 100% !important;
display: table !important;
padding: 2em 1em 0 !important;
margin: 0 auto !important;
}
/deep/.kaimo-docx-666 {
::v-deep.kaimo-docx-666 {
margin: 0 auto !important;
text-align: center;
}
......@@ -1142,7 +1142,7 @@ export default {
vertical-align: middle;
line-height: 33px;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1151,7 +1151,7 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
// margin-top: 3vh !important;
// margin-left: 3vw !important;
......
......@@ -321,7 +321,7 @@ export default {
font-weight: 600;
font-size: 15px;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -331,7 +331,7 @@ export default {
box-sizing: border-box;
margin-bottom: 10px;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -339,7 +339,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -351,18 +351,18 @@ export default {
table-layout: auto;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.xqtitle {
......@@ -383,7 +383,7 @@ export default {
}
}
.imgList {
/deep/ .el-image__inner {
::v-deep .el-image__inner {
width: 60px;
height: 60px;
}
......
<!-- 辅助核验 -->
<template>
<div class="main">
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm" ref="formName">
<div class="upicon" :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<el-form
:model="ruleForm"
label-width="100px"
class="demo-ruleForm"
ref="formName"
>
<div
class="upicon"
:class="openBar ? 'upicon' : 'downicon'"
@click="openBar = !openBar"
>
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem fromItemShow">
<el-form-item
label="批次年度:"
prop="batchYear"
class="fromItem fromItemShow"
>
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
......@@ -15,18 +28,38 @@
/>
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem fromItemShow">
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem fromItemShow"
>
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="后评估批次状态:" prop="postEvalState" class="fromItem fromItemShow">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
<el-form-item
label="后评估批次状态:"
prop="postEvalState"
class="fromItem fromItemShow"
>
<el-select
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<el-option label="执行中" value="3"></el-option>
<el-option label="已发起" value="1"></el-option>
<el-option label="已撤回" value="4"></el-option>
<el-option label="已完成" value="5"></el-option>
</el-select>
</el-form-item>
<el-form-item label="发起时间:" prop="batchName" class="fromItem fromItemShow">
<el-form-item
label="发起时间:"
prop="batchName"
class="fromItem fromItemShow"
>
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
......@@ -48,14 +81,21 @@
<el-button @click="detailsForm()">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button @click="configs()"><i class="el-icon-position"></i> 确认项目评估 </el-button>
<el-button @click="withdraw()"> <i class="el-icon-folder-delete"></i>撤回 </el-button>
<el-button @click="configs()"
><i class="el-icon-position"></i> 确认项目评估
</el-button>
<el-button @click="withdraw()">
<i class="el-icon-folder-delete"></i>撤回
</el-button>
</el-form-item>
</el-form>
<div class="setscrollOne">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
@row-click="
(row, column, event) =>
handleRowClick(row, column, event, 'multipleTable')
"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -65,18 +105,27 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" prop="batchYear" width="120">
<template slot-scope="scope"> {{ scope.row.batchYear }}</template>
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
<el-table-column prop="expertName" label="评审专家" width="auto"> </el-table-column>
<el-table-column prop="batchName" label="后评估批次名称">
<template slot-scope="scope">
<div @click="routeToResultView(scope.row)" style="cursor: pointer;">{{ scope.row.batchName }}</div>
</template>
</el-table-column>
<el-table-column prop="projectName" label="待评估项目" width="auto" show-overflow-tooltip>
<el-table-column prop="expertName" label="评审专家" width="auto">
</el-table-column>
<!-- <el-table-column prop="projectName" label="待评估项目" width="auto" show-overflow-tooltip></el-table-column> -->
<el-table-column
prop="planReviewDate"
label="计划评估日期"
width="auto"
>
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期" width="auto"> </el-table-column>
<!-- <el-table-column
prop="postEvalStateText"
label="后评估批次状态"
......@@ -91,13 +140,17 @@
query: { batchName: scope.row.batchName },
}"
>
<el-button type="text" size="small">{{ scope.row.postEvalStateText }}</el-button>
<el-button type="text" size="small">{{
scope.row.postEvalStateText
}}</el-button>
</router-link>
</template>
</el-table-column>
<el-table-column prop="creator" label="发起人" width="120"> </el-table-column>
<el-table-column prop="createTime" label="发起时间" width="auto"> </el-table-column>
<el-table-column prop="creatorName" label="发起人" width="120">
</el-table-column>
<el-table-column prop="createTime" label="发起时间" width="auto">
</el-table-column>
<!-- <el-table-column prop="batchName" label="评估项目" width="auto">
</el-table-column> -->
<!-- <el-table-column prop="prjsOfExpert" label="已选择数量" width="auto">
......@@ -134,14 +187,29 @@
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-input v-model="ruleFormdialogBJ.batchName" disabled></el-input>
</el-form-item>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-input v-model="ruleFormdialogBJ.planReviewDate" disabled></el-input>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-input
v-model="ruleFormdialogBJ.planReviewDate"
disabled
></el-input>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input type="textarea" v-model="ruleFormdialogBJ.description" disabled></el-input>
<el-input
type="textarea"
v-model="ruleFormdialogBJ.description"
disabled
></el-input>
</el-form-item>
</el-form>
......@@ -158,11 +226,17 @@
border
>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<!-- <el-table-column prop="department" label="部门" width="150">
</el-table-column> -->
<el-table-column label="项目编码" min-width="150" prop="projectCode"> </el-table-column>
<el-table-column
label="项目编码"
min-width="150"
prop="projectCode"
>
</el-table-column>
<el-table-column
prop="projectName"
......@@ -171,24 +245,58 @@
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" min-width="100">
<el-table-column
prop="constructionForm"
label="建设形式"
min-width="100"
>
</el-table-column>
<el-table-column prop="issueYear" label="项目年度" min-width="140">
<template slot-scope="scope"> {{ scope.row.issueYear }}</template>
<template slot-scope="scope">
{{ scope.row.issueYear }}
</template>
</el-table-column>
<el-table-column prop="startupStatus" label="启动日期" min-width="90">
<el-table-column
prop="startupStatus"
label="启动日期"
min-width="90"
>
</el-table-column>
<el-table-column prop="accountingStatus" label="入账状态" min-width="90">
<el-table-column
prop="accountingStatus"
label="入账状态"
min-width="90"
>
</el-table-column>
<el-table-column prop="accountingProportion" label="累计入账占比" min-width="90">
<template slot-scope="scope"><span v-if="scope.row.accountingProportion"> {{ scope.row.accountingProportion }}% </span></template>
<el-table-column
prop="accountingProportion"
label="累计入账占比"
min-width="90"
>
<template slot-scope="scope"
><span v-if="scope.row.accountingProportion">
{{ scope.row.accountingProportion }}%
</span></template
>
</el-table-column>
<el-table-column prop="entryAmount" label="入账金额(万)" min-width="120">
<el-table-column
prop="entryAmount"
label="入账金额(万)"
min-width="120"
>
</el-table-column>
<el-table-column prop="currentProgress" label="当前进度" min-width="120">
<el-table-column
prop="currentProgress"
label="当前进度"
min-width="120"
>
</el-table-column>
<el-table-column prop="contractNumber" label="合同编号" min-width="220">
<el-table-column
prop="contractNumber"
label="合同编号"
min-width="220"
>
</el-table-column>
<el-table-column
prop="contractName"
......@@ -197,7 +305,12 @@
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectLeader" label="负责人" min-width="110"> </el-table-column>
<el-table-column
prop="projectLeader"
label="负责人"
min-width="110"
>
</el-table-column>
</el-table>
</div>
<el-pagination
......@@ -231,28 +344,49 @@
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-input v-model="ruleFormdialogBJ.batchName" disabled></el-input>
</el-form-item>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-input v-model="ruleFormdialogBJ.planReviewDate" disabled></el-input>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-input
v-model="ruleFormdialogBJ.planReviewDate"
disabled
></el-input>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input type="textarea" v-model="ruleFormdialogBJ.description" disabled></el-input>
<el-input
type="textarea"
v-model="ruleFormdialogBJ.description"
disabled
></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">待评估项目 <span @click="xzExperts()">手动选择待评估项目</span></p>
<p class="zjBtn">
待评估项目 <span @click="xzExperts()">手动选择待评估项目</span>
</p>
<div class="setscrolldialogxz">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTableDPG"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTableDPG')
(row, column, event) =>
handleRowClick(row, column, event, 'multipleTableDPG')
"
:data="
addtableData.slice((addcurrentPage - 1) * pageSizeAdd, addcurrentPage * pageSizeAdd)
addtableData.slice(
(addcurrentPage - 1) * pageSizeAdd,
addcurrentPage * pageSizeAdd
)
"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -262,9 +396,15 @@
border
>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="项目编码" min-width="150" prop="projectCode"> </el-table-column>
<el-table-column
label="项目编码"
min-width="150"
prop="projectCode"
>
</el-table-column>
<el-table-column
prop="projectName"
......@@ -273,24 +413,58 @@
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" min-width="100">
<el-table-column
prop="constructionForm"
label="建设形式"
min-width="100"
>
</el-table-column>
<el-table-column prop="issueYear" label="计划年度" min-width="140">
<template slot-scope="scope"> {{ scope.row.issueYear }}</template>
<template slot-scope="scope">
{{ scope.row.issueYear }}
</template>
</el-table-column>
<el-table-column prop="startupStatus" label="启动日期" min-width="90">
<el-table-column
prop="startupStatus"
label="启动日期"
min-width="90"
>
</el-table-column>
<el-table-column prop="accountingStatus" label="入账状态" min-width="90">
<el-table-column
prop="accountingStatus"
label="入账状态"
min-width="90"
>
</el-table-column>
<el-table-column prop="accountingProportion" label="累计入账占比" min-width="90">
<template slot-scope="scope"><span v-if="scope.row.accountingProportion"> {{ scope.row.accountingProportion }}% </span></template>
<el-table-column
prop="accountingProportion"
label="累计入账占比"
min-width="90"
>
<template slot-scope="scope"
><span v-if="scope.row.accountingProportion">
{{ scope.row.accountingProportion }}%
</span></template
>
</el-table-column>
<el-table-column prop="entryAmount" label="入账金额(万)" min-width="120">
<el-table-column
prop="entryAmount"
label="入账金额(万)"
min-width="120"
>
</el-table-column>
<el-table-column prop="currentProgress" label="当前进度" min-width="120">
<el-table-column
prop="currentProgress"
label="当前进度"
min-width="120"
>
</el-table-column>
<el-table-column prop="contractNumber" label="合同编号" min-width="220">
<el-table-column
prop="contractNumber"
label="合同编号"
min-width="220"
>
</el-table-column>
<el-table-column
prop="contractName"
......@@ -299,9 +473,14 @@
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="projectLeader" label="负责人" min-width="110"> </el-table-column>
<el-table-column
prop="projectLeader"
label="负责人"
min-width="110"
>
</el-table-column>
<el-table-column label="操作" min-width="130" fixed="right">
<el-table-column label="操作" min-width="130" >
<template slot-scope="scope">
<el-button
@click="handleClick(scope.row, scope.$index, addtableData)"
......@@ -342,13 +521,25 @@
<div class="adzjdialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="项目编码:" prop="projectCode" class="fromItem">
<el-input v-model="ruleFormZJ.projectCode" placeholder="请输入" clearable></el-input>
<el-input
v-model="ruleFormZJ.projectCode"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName" class="fromItem">
<el-input v-model="ruleFormZJ.projectName" placeholder="请输入" clearable></el-input>
<el-input
v-model="ruleFormZJ.projectName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="计划年度:" prop="issueYear" class="fromItem">
<el-select v-model="ruleFormZJ.issueYear" placeholder="请选择" clearable>
<el-select
v-model="ruleFormZJ.issueYear"
placeholder="请选择"
clearable
>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -357,18 +548,38 @@
/>
</el-select>
</el-form-item>
<el-form-item label="建设形式:" prop="constructionForm" class="fromItem">
<el-select v-model="ruleFormZJ.constructionForm" placeholder="请选择" clearable>
<el-form-item
label="建设形式:"
prop="constructionForm"
class="fromItem"
>
<el-select
v-model="ruleFormZJ.constructionForm"
placeholder="请选择"
clearable
>
<el-option label="独立建设" value="1"></el-option>
<el-option label="统推" value="2"></el-option>
<el-option label="自建" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item label="合同编码:" prop="contractNumber" class="fromItem">
<el-input v-model="ruleFormZJ.contractNumber" placeholder="请输入" clearable></el-input>
<el-form-item
label="合同编码:"
prop="contractNumber"
class="fromItem"
>
<el-input
v-model="ruleFormZJ.contractNumber"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="合同名称:" prop="contractName" class="fromItem">
<el-input v-model="ruleFormZJ.contractName" placeholder="请输入" clearable></el-input>
<el-input
v-model="ruleFormZJ.contractName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item class="cxItem">
<span class="zjquery" @click="xzExperts()"> 查询 </span>
......@@ -389,12 +600,19 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column type="selection" :selectable="selectable"> </el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column type="selection" :selectable="selectable">
</el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<!-- <el-table-column prop="department" label="部门" width="150">
</el-table-column> -->
<el-table-column label="项目编码" min-width="150" prop="projectCode"> </el-table-column>
<el-table-column
label="项目编码"
min-width="150"
prop="projectCode"
>
</el-table-column>
<el-table-column
prop="projectName"
......@@ -403,24 +621,58 @@
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" min-width="100">
<el-table-column
prop="constructionForm"
label="建设形式"
min-width="100"
>
</el-table-column>
<el-table-column prop="issueYear" label="计划年度" min-width="140">
<template slot-scope="scope"> {{ scope.row.issueYear }}</template>
<template slot-scope="scope">
{{ scope.row.issueYear }}
</template>
</el-table-column>
<el-table-column prop="startupStatus" label="启动日期" min-width="90">
<el-table-column
prop="startupStatus"
label="启动日期"
min-width="90"
>
</el-table-column>
<el-table-column prop="accountingStatus" label="入账状态" min-width="90">
<el-table-column
prop="accountingStatus"
label="入账状态"
min-width="90"
>
</el-table-column>
<el-table-column prop="accountingProportion" label="累计入账占比" min-width="90">
<template slot-scope="scope"><span v-if="scope.row.accountingProportion"> {{ scope.row.accountingProportion }}% </span></template>
<el-table-column
prop="accountingProportion"
label="累计入账占比"
min-width="90"
>
<template slot-scope="scope"
><span v-if="scope.row.accountingProportion">
{{ scope.row.accountingProportion }}%
</span></template
>
</el-table-column>
<el-table-column prop="entryAmount" label="入账金额(万)" min-width="120">
<el-table-column
prop="entryAmount"
label="入账金额(万)"
min-width="120"
>
</el-table-column>
<el-table-column prop="currentProgress" label="当前进度" min-width="120">
<el-table-column
prop="currentProgress"
label="当前进度"
min-width="120"
>
</el-table-column>
<el-table-column prop="contractNumber" label="合同编号" min-width="220">
<el-table-column
prop="contractNumber"
label="合同编号"
min-width="220"
>
</el-table-column>
<el-table-column
prop="contractName"
......@@ -430,9 +682,16 @@
>
</el-table-column>
<el-table-column prop="zcstate" label="审核状态" min-width="110">
<template slot-scope="scope"> {{ scope.row.zcstate | zcstatefilter }}</template>
<template slot-scope="scope">
{{ scope.row.zcstate | zcstatefilter }}</template
>
</el-table-column>
<el-table-column
prop="projectLeader"
label="负责人"
min-width="110"
>
</el-table-column>
<el-table-column prop="projectLeader" label="负责人" min-width="110"> </el-table-column>
</el-table>
</div>
......@@ -449,7 +708,8 @@
</el-pagination>
<p class="midBtn">
<span @click="cancelZJ()">取消</span><span @click="saveZJ()">选择</span>
<span @click="cancelZJ()">取消</span
><span @click="saveZJ()">选择</span>
</p>
</div>
</el-dialog>
......@@ -465,46 +725,46 @@ import {
pmProInitiation,
chProjectInfo,
bcProjectInfo,
} from '@/api/indexzc'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
} from "@/api/indexzc";
import { generateYearOptions, constructionFormText } from "@/utils/cache";
import tableMixin from "@/mixins/table.mixin.js";
export default {
mixins: [tableMixin],
data() {
return {
openBar:false,
openBar: false,
yearsList: generateYearOptions(),
oldid: '',
oldid: "",
ruleForm: {
batchYear: '',
batchName: '',
postEvalState: '',
batchYear: "",
batchName: "",
postEvalState: "",
dates: [],
},
ruleFormdialog: {
batchYear: '',
batchName: '',
planReviewDate: '',
fullName: '',
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
},
ruleFormZJ: {
fields: '',
expertState: '',
fullName: '',
fields: "",
expertState: "",
fullName: "",
},
ruleFormdialogAdd: {
batchYear: '',
batchName: '',
planReviewDate: '',
description: '',
remark: '',
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
},
ruleFormdialogBJ: {
batchYear: '',
batchName: '',
planReviewDate: '',
prjsOfExpert: '',
description: '',
batchYear: "",
batchName: "",
planReviewDate: "",
prjsOfExpert: "",
description: "",
},
tableData: [],
tableDataQD: [], //清单列表
......@@ -528,44 +788,44 @@ export default {
pageSizeAdd: 10,
currentedit: 1,
pageSizeedit: 10,
xfParam: '',
xfParam: "",
dialogedit: false,
expertIdList: [],
totalBJ: 0,
addZJList: [],
expertState: '',
fields: '',
zjfullName: '',
expertState: "",
fields: "",
zjfullName: "",
zjtotal: 0,
zjtableData: [],
addcurrentPage: 1,
addtableData: [],
message: {},
openBar:true,
}
openBar: true,
};
},
filters: {
zcstatefilter(val) {
if (val == 1) {
return '待评估'
return "待评估";
} else if (val == 2) {
return '需整改'
return "需整改";
} else if (val == 3) {
return '已整改'
return "已整改";
} else if (val == 4) {
return '已归档'
return "已归档";
} else {
return ' '
return " ";
}
},
},
watch: {
// 监听路由对象中的参数部分
'$route.params': {
"$route.params": {
immediate: true,
handler(newParams, oldParams) {
//现在配合demo路由变化掉了两次接口等线上去掉这块时候mounted要调用
this.submitForm()
this.submitForm();
},
},
openBar(n, o) {
......@@ -585,120 +845,141 @@ export default {
// this.submitForm();
},
methods: {
routeToResultView(row) {
console.log(66666, row);
this.$router.push({
path: '/assesszc/auxiliaryInspection',
query: {
batchName: row.batchName,
}
})
},
handleRowClickSelf(row, column, event) {
if (!['1', '2', '3'].includes(row.zcstate) && row.contractNumber && row.projectCode) {
this.$refs['multipleTableZJ'].toggleRowSelection(row)
this.addZJList = this.$refs.multipleTableZJ.selection
if (
!["1", "2", "3"].includes(row.zcstate) &&
row.contractNumber &&
row.projectCode
) {
this.$refs["multipleTableZJ"].toggleRowSelection(row);
this.addZJList = this.$refs.multipleTableZJ.selection;
} else {
this.$message.warning('项目编码或合同编码为空')
this.$message.warning("项目编码或合同编码为空");
}
},
timeChange(time) {
console.log('tttttt', time)
console.log("tttttt", time);
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
this.ruleForm.createStartTime = time[0];
this.ruleForm.createEndTime = time[1];
} else {
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
}
},
async submitForm(info) {
if(info==999){
this.currentPage=1
if (info == 999) {
this.currentPage = 1;
}
let params = {
current: this.currentPage,
pageSize: this.pageSize,
module: 1,
}
Object.assign(params, this.ruleForm)
console.log(params)
let res = await projectInfo(params)
if (res.code == '200') {
this.tableData = res.data.records
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await projectInfo(params);
if (res.code == "200") {
this.tableData = res.data.records;
this.tableData.forEach((item) => {
if (item.postEvalState == '3') {
this.$set(item, 'postEvalStateText', '执行中')
} else if (item.postEvalState == '4') {
this.$set(item, 'postEvalStateText', '已撤回')
} else if (item.postEvalState == '5') {
this.$set(item, 'postEvalStateText', '已完成')
if (item.postEvalState == "3") {
this.$set(item, "postEvalStateText", "执行中");
} else if (item.postEvalState == "4") {
this.$set(item, "postEvalStateText", "已撤回");
} else if (item.postEvalState == "5") {
this.$set(item, "postEvalStateText", "已完成");
} else {
this.$set(item, 'postEvalStateText', '已发起')
this.$set(item, "postEvalStateText", "已发起");
}
})
this.total = res.data.total * 1
});
this.total = res.data.total * 1;
}
},
resetForm() {
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.dates = []
this.submitForm()
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.dates = [];
this.submitForm();
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message('请选择')
return
this.$message("请选择");
return;
}
this.ruleFormdialogBJ = this.checkedList[0]
this.ruleFormdialogBJ = this.checkedList[0];
let params = {
current: this.currentPageXQ,
pageSize: this.pageSizeXQ,
batchId: this.checkedList[0].batchId,
}
Object.assign(params, this.ruleFormdialogAdd)
this.addtableData = []
let res = await joinProjectInfo(params)
if (res.code == '200') {
this.addtableData = res.data.records
};
Object.assign(params, this.ruleFormdialogAdd);
this.addtableData = [];
let res = await joinProjectInfo(params);
if (res.code == "200") {
this.addtableData = res.data.records;
this.addtableData.forEach((item) => {
this.$set(item, 'constructionForm', constructionFormText(item.constructionForm))
})
this.addtotal = res.data.total * 1
console.log(this.addtableData, 'this.addtableData')
this.dialogXQ = true
this.$set(
item,
"constructionForm",
constructionFormText(item.constructionForm)
);
});
this.addtotal = res.data.total * 1;
console.log(this.addtableData, "this.addtableData");
this.dialogXQ = true;
}
},
//确认评估项目
async configs() {
// 只能选中状态待评估的
if (this.checkedList.length != 1) {
this.$message('请选择')
return
this.$message("请选择");
return;
}
if (this.checkedList[0].postEvalStateText == '执行中') {
this.$message('该项目已在执行中')
return
if (this.checkedList[0].postEvalStateText == "执行中") {
this.$message("该项目已在执行中");
return;
}
this.ruleFormdialogBJ = this.checkedList[0]
this.dialogAdd = true
this.addtableData = []
this.ruleFormdialogBJ = this.checkedList[0];
this.dialogAdd = true;
this.addtableData = [];
let params = {
current: this.addcurrentPage,
pageSize: this.pageSizeAdd,
batchId: this.checkedList[0].batchId,
}
Object.assign(params, this.ruleFormdialogAdd)
let res = await joinProjectInfo(params)
if (res.code == '200') {
this.addtableData = res.data.records
};
Object.assign(params, this.ruleFormdialogAdd);
let res = await joinProjectInfo(params);
if (res.code == "200") {
this.addtableData = res.data.records;
this.addtableData.forEach((item) => {
this.$set(item, 'constructionForm', constructionFormText(item.constructionForm))
})
this.addtotal = res.data.total * 1
this.oldid = ''
this.$set(
item,
"constructionForm",
constructionFormText(item.constructionForm)
);
});
this.addtotal = res.data.total * 1;
this.oldid = "";
if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => {
this.oldid = this.oldid.concat(item.projectCode + ',')
})
this.oldid = this.oldid.concat(item.projectCode + ",");
});
}
}
},
......@@ -706,164 +987,170 @@ export default {
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return 'warning-row'
return "warning-row";
}
return ''
return "";
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
}
this.checkedList = this.$refs.multipleTable.selection
this.ruleFormdialog = this.checkedList[0]
console.log(this.checkedList, '2222')
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`)
this.currentPage = val
this.submitForm()
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
},
handleSizeChangeZJ(val) {
console.log(`每页 ${val} 条`)
this.pageSizeZJ = val
this.xzExperts()
console.log(`每页 ${val} 条`);
this.pageSizeZJ = val;
this.xzExperts();
},
handleCurrentChangeZJ(val) {
console.log(`当前页: ${val}`)
this.currentZJ = val
this.xzExperts()
console.log(`当前页: ${val}`);
this.currentZJ = val;
this.xzExperts();
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val
this.pageSizeAdd = val;
// this.detailsForm();
console.log(val, this.addcurrentPage, '1111')
console.log(val, this.addcurrentPage, "1111");
},
handleCurrentChangeAdd(val) {
console.log(val, this.addcurrentPage, '0000')
this.addcurrentPage = val
console.log(val, this.addcurrentPage, "0000");
this.addcurrentPage = val;
// this.detailsForm();
},
handleSizeChangXQ(val) {
this.pageSizeXQ = val
this.detailsForm()
console.log(val, this.addcurrentPage, '1111')
this.pageSizeXQ = val;
this.detailsForm();
console.log(val, this.addcurrentPage, "1111");
},
handleCurrentChangeXQ(val) {
console.log(val, this.addcurrentPage, '0000')
this.currentPageXQ = val
this.detailsForm()
console.log(val, this.addcurrentPage, "0000");
this.currentPageXQ = val;
this.detailsForm();
},
//选择项目
saveZJ() {
if (this.addZJList.length < 1) {
this.$message('请选择项目')
return
this.$message("请选择项目");
return;
}
console.log(this.addtableData, this.addZJList, '55555')
this.addtableData = [...this.addtableData, ...this.addZJList]
console.log(this.addtableData, this.addZJList, "55555");
this.addtableData = [...this.addtableData, ...this.addZJList];
this.addtableData = this.addtableData.filter((obj, index, self) => {
return (
index ==
self.findIndex(
(t) => t.projectCode == obj.projectCode && t.contractNumber == obj.contractNumber,
(t) =>
t.projectCode == obj.projectCode &&
t.contractNumber == obj.contractNumber
)
)
})
this.addtotal = this.addtableData.length
this.dialogAddzj = false
);
});
this.addtotal = this.addtableData.length;
this.dialogAddzj = false;
},
cancelZJ() {
this.dialogAddzj = false
this.dialogAddzj = false;
},
async xzExperts() {
this.dialogAddzj = true
this.dialogAddzj = true;
let params = {
current: this.currentZJ,
pageSize: this.pageSizeZJ,
prjStr: this.oldid,
}
Object.assign(params, this.ruleFormZJ)
let res = await pmProInitiation(params)
console.log(res.data.records, 'res.data.recordsres.data.records')
this.zjtableData = res.data.records
};
Object.assign(params, this.ruleFormZJ);
let res = await pmProInitiation(params);
console.log(res.data.records, "res.data.recordsres.data.records");
this.zjtableData = res.data.records;
this.zjtableData.forEach((item) => {
this.$set(item, 'constructionForm', constructionFormText(item.constructionForm))
})
this.zjtotal = res.data.total * 1
console.log(res, 'xxx')
this.$set(
item,
"constructionForm",
constructionFormText(item.constructionForm)
);
});
this.zjtotal = res.data.total * 1;
console.log(res, "xxx");
},
saveXZ() {
if (this.addtableData.length < 1) {
this.$message('请选择待评估项目')
this.$message("请选择待评估项目");
}
console.log(this.addZJList, 'this.addZJList')
console.log(this.addZJList, "this.addZJList");
// 确认发布入参
let contractId = ''
let expertIdList = ''
let contractId = "";
let expertIdList = "";
if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => {
expertIdList = expertIdList.concat(item.projectCode + ',')
contractId = contractId.concat(item.contractNumber + ',')
})
expertIdList = expertIdList.concat(item.projectCode + ",");
contractId = contractId.concat(item.contractNumber + ",");
});
}
expertIdList = expertIdList.substring(0, expertIdList.length - 1)
contractId = contractId.substring(0, contractId.length - 1)
expertIdList = expertIdList.substring(0, expertIdList.length - 1);
contractId = contractId.substring(0, contractId.length - 1);
let params = {
expertStr: expertIdList,
contractStr: contractId,
}
params.batchId = this.ruleFormdialogBJ.batchId
};
params.batchId = this.ruleFormdialogBJ.batchId;
// params.prjsOfExpert = this.ruleFormdialogBJ.prjsOfExpert;
console.log(params, '222')
console.log(params, "222");
// return
fbProjectInfo(params).then((res) => {
this.dialogAdd = false
this.expertIdList = expertIdList
this.$message('提交成功')
this.resetForm()
})
this.dialogAdd = false;
this.expertIdList = expertIdList;
this.$message("提交成功");
this.resetForm();
});
},
savepro() {
// if (this.addtableData.length < 1) {
// this.$message("没有可保存的项目");
// }
console.log(this.addZJList, 'this.addZJList')
console.log(this.addZJList, "this.addZJList");
// 确认发布入参
let expertIdList = ''
let expertIdList = "";
if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => {
expertIdList = expertIdList.concat(item.projectCode + ',')
})
expertIdList = expertIdList.concat(item.projectCode + ",");
});
}
let params = {
expertStr: expertIdList,
}
params.batchId = this.ruleFormdialogBJ.batchId
};
params.batchId = this.ruleFormdialogBJ.batchId;
// params.prjsOfExpert = this.ruleFormdialogBJ.prjsOfExpert;
console.log(params, '222')
console.log(params, "222");
// return
bcProjectInfo(params).then((res) => {
this.$message('保存成功')
this.$message("保存成功");
// this.dialogAdd = false;
this.expertIdList = expertIdList
this.expertIdList = expertIdList;
// this.resetForm();
})
});
},
cancelXZ() {
this.dialogAdd = false
this.dialogAdd = false;
},
selectable(item, index) {
if (
......@@ -873,14 +1160,14 @@ export default {
!item.contractNumber ||
!item.projectCode
) {
return false
return false;
} else {
return true
return true;
}
},
selectAll(selection) {
this.addZJList = this.$refs.multipleTableZJ.selection
console.log(this.$refs.multipleTableZJ.selection, '2222222')
this.addZJList = this.$refs.multipleTableZJ.selection;
console.log(this.$refs.multipleTableZJ.selection, "2222222");
// selection = selection.filter(item=>{
// return item.zcstate!=1&&item.zcstate!=2&&item.zcstate!=3
// });
......@@ -902,57 +1189,60 @@ export default {
//选中的项目
handleSelectionChangeZJ(selection, row) {
console.log('来了么', row)
console.log("来了么", row);
if (selection.length < 1) {
return
return;
}
if (selection.length === this.zjtableData.Length) {
console.log('全选')
console.log("全选");
}
let info = row.zcstate
let info = row.zcstate;
if (info == 1 || info == 2 || info == 3) {
this.$refs.multipleTableZJ.toggleRowSelection(selection[selection.length - 1], false)
this.$message('该项目在流程中,请选择其他项目')
console.log('不让点')
return
this.$refs.multipleTableZJ.toggleRowSelection(
selection[selection.length - 1],
false
);
this.$message("该项目在流程中,请选择其他项目");
console.log("不让点");
return;
}
this.addZJList = this.$refs.multipleTableZJ.selection
console.log(this.$refs.multipleTableZJ.selection, '2222222')
this.addZJList = this.$refs.multipleTableZJ.selection;
console.log(this.$refs.multipleTableZJ.selection, "2222222");
},
//点击删除
async handleClick(row, index, rows) {
let params = {
projectId: row.projectCode,
batchId: this.checkedList[0].batchId,
}
this.$confirm('此操作将删除该项目, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
};
this.$confirm("此操作将删除该项目, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(async () => {
let res = await delProjectInfo(params)
let res = await delProjectInfo(params);
if (res.code == 200) {
this.$message({
type: 'success',
message: '删除成功!',
})
this.addtotal--
rows.splice(index, 1)
type: "success",
message: "删除成功!",
});
this.addtotal--;
rows.splice(index, 1);
} else {
this.$message({
type: 'info',
message: '删除失败!',
})
type: "info",
message: "删除失败!",
});
}
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除',
})
})
type: "info",
message: "已取消删除",
});
});
// let res = await delProjectInfo(params);
// if(res.code=200){
......@@ -964,36 +1254,36 @@ export default {
//点击撤回
async withdraw() {
if (this.checkedList.length != 1) {
this.$message('请选择')
return
this.$message("请选择");
return;
}
if (this.checkedList[0].postEvalStateText == '已撤回') {
this.$message('该项目已撤回')
return
if (this.checkedList[0].postEvalStateText == "已撤回") {
this.$message("该项目已撤回");
return;
}
if (this.checkedList[0].postEvalStateText == '已发起') {
this.$message('该项目还未确认评估')
return
if (this.checkedList[0].postEvalStateText == "已发起") {
this.$message("该项目还未确认评估");
return;
}
this.$confirm('是否撤回?', '提示', {
confirmButtonText: '是',
cancelButtonText: '否',
this.$confirm("是否撤回?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
distinguishCancelAndClose: true,
type: 'warning',
type: "warning",
})
.then(async () => {
let res = await chProjectInfo({
batchId: this.checkedList[0].batchId,
})
if ((res.code = '200')) {
this.$message('已撤回')
this.resetForm()
});
if ((res.code = "200")) {
this.$message("已撤回");
this.resetForm();
}
})
.catch((action) => {})
.catch((action) => {});
},
},
}
};
</script>
<style scoped lang="scss">
.main {
......@@ -1027,12 +1317,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -1041,7 +1331,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1064,7 +1354,7 @@ export default {
height: 100%;
overflow-y: auto;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1072,22 +1362,22 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1096,7 +1386,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1104,7 +1394,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
// width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -1134,7 +1424,7 @@ export default {
}
.textarea {
width: 100%;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
display: flex;
}
.el-textarea {
......@@ -1162,7 +1452,7 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.zjBtn {
......@@ -1185,10 +1475,10 @@ export default {
margin-left: 10px;
}
}
/deep/ .el-icon-position {
::v-deep .el-icon-position {
margin-right: 10px;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
......@@ -1228,11 +1518,11 @@ export default {
// color: #fff;
// }
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.dialogHeigth {
......@@ -1254,7 +1544,7 @@ export default {
// min-width: 190%;
}
// /deep/.el-table--scrollable-x .el-table__body-wrapper {
// ::v-deep.el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: hidden !important;
// }
}
......@@ -1272,7 +1562,7 @@ export default {
// min-width: 190%;
}
// /deep/.el-table--scrollable-x .el-table__body-wrapper {
// ::v-deep.el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: hidden !important;
// }
}
......@@ -1282,7 +1572,7 @@ export default {
// position: relative;
// overflow: auto;
// box-sizing: border-box;
// /deep/ .el-table {
// ::v-deep .el-table {
// position: absolute;
// width: 100%;
// // width: auto !important;
......@@ -1301,7 +1591,7 @@ export default {
width: 190%;
min-width: 190%;
}
// /deep/.el-table--scrollable-x .el-table__body-wrapper {
// ::v-deep.el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: hidden !important;
// }
}
......@@ -1320,7 +1610,7 @@ export default {
width: 190%;
min-width: 190%;
}
// /deep/.el-table--scrollable-x .el-table__body-wrapper {
// ::v-deep.el-table--scrollable-x .el-table__body-wrapper {
// overflow-x: hidden !important;
// }
}
......@@ -1329,7 +1619,7 @@ export default {
text-align: left;
font-size: 13px;
}
// .hide-selection /deep/.el-table__header-wrapper .el-checkbox {
// .hide-selection ::v-deep.el-table__header-wrapper .el-checkbox {
// display: none;
// }
</style>
......
......@@ -2,17 +2,12 @@
<template>
<div class="main">
<el-form :model="ruleForm" ref="formName" label-width="100px" class="demo-ruleForm">
<div :class="openBar?'upicon':'downicon'" @click="openBar=!openBar">
<div :class="openBar ? 'upicon' : 'downicon'" @click="openBar = !openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem fromItemShow">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
:label="item + '年'"
:value="item"
/>
<el-option v-for="(item, index) in yearsList" :key="index" :label="item + '年'" :value="item" />
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem fromItemShow">
......@@ -33,12 +28,7 @@
</el-form-item>
<el-form-item label="项目年度:" prop="projectYear" class="fromItem fromItemShow">
<el-select v-model="ruleForm.projectYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
:label="item + '年'"
:value="item"
/>
<el-option v-for="(item, index) in yearsList" :key="index" :label="item + '年'" :value="item" />
</el-select>
</el-form-item>
<el-form-item label="项目审核状态:" prop="postEvalState" class="fromItem fromItemShow">
......@@ -52,60 +42,97 @@
</el-form-item>
<el-form-item label="计划评估日期:" prop="planTime" class="fromItem fromItemShow">
<el-date-picker
@change="timeChange"
v-model="ruleForm.dates"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
<el-date-picker @change="timeChange" v-model="ruleForm.dates" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</el-form-item>
<el-form-item class="button">
<el-button @click="submitForm('999')">
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button
>
<img class="buttonIcon" src="../../assets/cx.png" />查询</el-button>
<el-button @click="resetForm()">
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button
>
<img class="buttonIcon" src="../../assets/cz.png" />重置</el-button>
<el-popover placement="bottom">
<el-button slot="reference" type="primary" style="margin:0 10px; font-size: 14px; ">
<span style="font-size: 14px; width: 14px; height: 12px;">
<svg viewBox="0 0 1024 1024" data-v-d2e47025="" style="width: 14px; height: 12px;">
<path fill="currentColor"
d="M384 523.392V928a32 32 0 0 0 46.336 28.608l192-96A32 32 0 0 0 640 832V523.392l280.768-343.104a32 32 0 1 0-49.536-40.576l-288 352A32 32 0 0 0 576 512v300.224l-128 64V512a32 32 0 0 0-7.232-20.288L195.52 192H704a32 32 0 1 0 0-64H128a32 32 0 0 0-24.768 52.288z">
</path>
</svg>
</span>
列表自定义设置
</el-button>
<div class="column-display"
style="width: 180px;display: flex; flex-direction: column; justify-content: center; align-items: center;">
<el-checkbox-group v-model="checkedTableColumns">
<el-checkbox v-for="column in columns" :key="column.label" :label="column.prop">
{{ column.label }}
</el-checkbox>
</el-checkbox-group>
</div>
</el-popover>
<el-button @click="detailsForm()">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button
@click="confirm()"
:disabled="confirmdisabled"
:class="confirmdisabled ? 'noclick' : ''"
>
<i class="el-icon-chat-dot-square"></i>&nbsp;&nbsp;&nbsp;问题整改</el-button
>
<el-button
@click="submitNexts()"
:disabled="subdisabled"
:class="subdisabled ? 'noclick' : ''"
><i class="el-icon-finished"></i> 材料已重新上传</el-button
>
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button>
<el-button @click="confirm()" :disabled="confirmdisabled" :class="confirmdisabled ? 'noclick' : ''">
<i class="el-icon-chat-dot-square"></i>&nbsp;&nbsp;&nbsp;问题整改</el-button>
<el-button @click="submitNexts()" :disabled="subdisabled" :class="subdisabled ? 'noclick' : ''"><i
class="el-icon-finished"></i> 材料已重新上传</el-button>
</el-form-item>
</el-form>
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" prop="batchYear" width="120">
<el-table @selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')" ref="multipleTable"
:data="tableData" header-cell-class-name="custom-th-background" class="eltable"
:row-class-name="tableRowClassName" border>
<el-table-column fixed="left" label="序号" width="75" type="index"> </el-table-column>
<el-table-column fixed="left" type="selection"></el-table-column>
<div v-for="(item, indexx) in bindTableColumns" :key="indexx" align="center" :label="item.label"
:prop="item.prop" show-overflow-tooltip>
<el-table-column v-if="item.prop == 'batchYear'" label="批次年度" prop="batchYear">
<template slot-scope="scope"> {{ scope.row.batchYear }}</template>
</el-table-column>
<el-table-column v-if="item.prop == 'batchName'" prop="batchName" label="后评估批次名称"> </el-table-column>
<el-table-column v-if="item.prop == 'expertName'" prop="expertName" label="评审专家"> </el-table-column>
<el-table-column v-if="item.prop == 'projectLeader'" prop="projectLeader" label="项目负责人"> </el-table-column>
<el-table-column v-if="item.prop == 'projectCode'" prop="projectCode" label="项目编码"> </el-table-column>
<el-table-column v-if="item.prop == 'projectName'" prop="projectName" label="项目名称" show-overflow-tooltip>
</el-table-column>
<el-table-column v-if="item.prop == 'issueYear'" prop="issueYear" label="项目年度">
<template slot-scope="scope">
<span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}</span>
</template>
</el-table-column>
<el-table-column v-if="item.prop == 'projectType'" prop="projectType" label="项目类型">
<template slot-scope="scope">
<span v-show="scope.row.projectType"> {{ scope.row.projectType | proType }}</span>
</template>
</el-table-column>
<el-table-column v-if="item.prop == 'constructionForm'" prop="constructionForm" label="建设形式">
</el-table-column>
<el-table-column v-if="item.prop == 'postEvalStateText'" prop="postEvalStateText" label="项目审核状态">
<template v-slot="scope">
<router-link v-if="scope.row.postEvalStateText == '已退回'" :to="{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectCode },
}">
<el-button type="text" size="small">{{ scope.row.postEvalStateText }}</el-button>
</router-link>
<span v-else>{{ scope.row.postEvalStateText }}</span>
</template>
</el-table-column>
<el-table-column v-if="item.prop == 'contractNumber'" prop="contractNumber" label="合同编号"
show-overflow-tooltip>
</el-table-column>
<el-table-column v-if="item.prop == 'contractName'" prop="contractName" label="合同名称" width="auto"
show-overflow-tooltip>
</el-table-column>
<el-table-column v-if="item.prop == 'planReviewDate'" prop="planReviewDate" label="计划评估日期"> </el-table-column>
</div>
<!-- <el-table-column label="批次年度" prop="batchYear">
<template slot-scope="scope"> {{ scope.row.batchYear }}年 </template>
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称"> </el-table-column>
......@@ -113,26 +140,23 @@
<el-table-column prop="projectCode" label="项目编码"> </el-table-column>
<el-table-column prop="projectName" label="项目名称" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="issueYear" label="项目年度" width="120">
<el-table-column prop="issueYear" label="项目年度">
<template slot-scope="scope">
<span v-show="scope.row.issueYear"> {{ scope.row.issueYear }}年</span>
</template>
</el-table-column>
<el-table-column prop="projectType" label="项目类型" width="120">
<el-table-column prop="projectType" label="项目类型">
<template slot-scope="scope">
<span v-show="scope.row.projectType"> {{ scope.row.projectType | proType }}</span>
</template>
</el-table-column>
<el-table-column prop="constructionForm" label="建设形式" width="120"> </el-table-column>
<el-table-column prop="postEvalStateText" label="项目审核状态" width="120">
<el-table-column prop="constructionForm" label="建设形式"> </el-table-column>
<el-table-column prop="postEvalStateText" label="项目审核状态">
<template v-slot="scope">
<router-link
v-if="scope.row.postEvalStateText == '已退回'"
:to="{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectCode },
}"
>
<router-link v-if="scope.row.postEvalStateText == '已退回'" :to="{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectCode },
}">
<el-button type="text" size="small">{{ scope.row.postEvalStateText }}</el-button>
</router-link>
<span v-else>{{ scope.row.postEvalStateText }}</span>
......@@ -142,36 +166,18 @@
</el-table-column>
<el-table-column prop="contractName" label="合同名称" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> </el-table-column>
<el-table-column prop="planReviewDate" label="计划评估日期"> </el-table-column> -->
</el-table>
</div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 50, 100]"
:page-size="1000"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
class="elpagination"
>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
:page-sizes="[10, 15, 20, 50, 100]" :page-size="1000" layout="total, sizes, prev, pager, next, jumper"
:total="total" class="elpagination">
</el-pagination>
<el-dialog
title="评估材料详情"
:visible.sync="dialogXQ"
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
@close="closeDialog"
>
<el-dialog title="评估材料详情" :visible.sync="dialogXQ" width="90%" :modal-append-to-body="false" :append-to-body="false"
@close="closeDialog">
<div class="dialogFrom">
<p class="xqtitle"><span></span>批次详情</p>
<el-form
:model="ruleFormdialog"
ref="ruleFormdialog"
label-width="100px"
class="demo-ruleForm"
>
<el-form :model="ruleFormdialog" ref="ruleFormdialog" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialog.batchYear" disabled></el-input>
</el-form-item>
......@@ -197,20 +203,9 @@
<p class="xqtitle"><span></span>本项目材料清单</p>
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTableCLQD')
"
ref="multipleTableCLQD"
:data="tableDataQD"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table @selection-change="handleSelectionChange" @row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTableCLQD')
" ref="multipleTableCLQD" :data="tableDataQD" tooltip-effect="dark myTooltips" style="width: 100%"
header-cell-class-name="custom-th-background" class="eltable" :row-class-name="tableRowClassName" border>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column label="材料类别" prop="projectStagetext"> </el-table-column>
......@@ -230,14 +225,8 @@
</div>
</el-dialog>
<!-- 问题整改 -->
<el-dialog
title="问题整改"
:visible.sync="dialogQR"
width="91%"
:modal-append-to-body="false"
:append-to-body="false"
@close="closed"
>
<el-dialog title="问题整改" :visible.sync="dialogQR" width="91%" :modal-append-to-body="false" :append-to-body="false"
@close="closed">
<div class="dialog">
<h3 v-if="checkedList[0] && checkedList[0].projectName">
项目名称:{{ checkedList[0].projectName }}
......@@ -249,18 +238,9 @@
<i class="des">( * 请至项目档案库上传对应文件,并对问题进行解答,填写问题响应列、整改说明列、整改说明材料列)</i>
</p>
<div class="setTable">
<el-table
v-horizontal-scroll="'always'"
:data="tableDataQR"
tooltip-effect="dark myTooltips"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
:span-method="arraySpanMethod"
ref="myTable"
border
>
<el-table v-horizontal-scroll="'always'" :data="tableDataQR" tooltip-effect="dark myTooltips"
style="width: 100%" header-cell-class-name="custom-th-background" class="eltable"
:row-class-name="tableRowClassName" :span-method="arraySpanMethod" ref="myTable" border>
<el-table-column label="项目环节" prop="projectStagetext" width="110">
</el-table-column>
<el-table-column label="序号" width="50" type="index"> </el-table-column>
......@@ -272,77 +252,57 @@
</el-table-column>
<el-table-column label="问题截图" width="auto">
<template slot-scope="scope">
<el-image
class="imgList"
v-for="(img, index) in scope.row.images"
:key="index"
:src="img"
:preview-src-list="scope.row.images"
@click="handleImageClick(scope.row.images)"
></el-image>
<el-image class="imgList" v-for="(img, index) in scope.row.images" :key="index" :src="img"
:preview-src-list="scope.row.images" @click="handleImageClick(scope.row.images)"></el-image>
</template>
</el-table-column>
<el-table-column label="问题响应" width="100">
<el-table-column label="是否申述" width="100">
<template slot-scope="scope">
<el-switch
<el-checkbox
v-if="scope.row.evalQues"
:disabled="scope.row.rectificationStatus == 2"
v-if="scope.row.evalQues"
v-model="scope.row.confirmStatus"
active-color="#C0C0C0"
inactive-color="#13ce66"
active-value="2"
inactive-value="1"
active-text="无异议"
inactive-text="有异议"
@change="controlSwitch($event, scope.row)"
true-label="1" false-label="2"
>
{{ '是' }}
<!-- {{ scope.row.confirmStatus == 1 ? '是' : '否' }} -->
</el-checkbox>
<!-- <el-switch :disabled="scope.row.rectificationStatus == 2" v-if="scope.row.evalQues"
v-model="scope.row.confirmStatus" active-color="#C0C0C0" inactive-color="#13ce66" active-value="2"
inactive-value="1" active-text="无异议" inactive-text="有异议">
<template v-slot:active>
<span>开启</span>
</template>
<template v-slot:inactive>
<span>关闭</span>
</template>
</el-switch>
</el-switch> -->
</template>
</el-table-column>
<el-table-column label="上传档案材料" prop="dacl" width="120">
<template slot-scope="scope">
<el-button
disabled
v-if="scope.row.rectificationStatus == 2"
type="text"
size="small"
>上传材料</el-button
>
<router-link
v-else
:to="{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectId },
}"
>
<el-button disabled v-if="scope.row.rectificationStatus == 2" type="text"
size="small">上传材料</el-button>
<router-link v-else :to="{
path: '/assesszc/projectView',
query: { projectId: scope.row.projectId },
}">
<el-button type="text" size="small">上传材料</el-button>
</router-link>
</template>
</el-table-column>
<el-table-column label="整改说明(填)" width="220">
<el-table-column label="整改说明(申述必填)" width="220">
<template slot-scope="scope">
<el-input
v-model="scope.row.feedback"
v-if="scope.row.evalQues"
type="textarea"
:disabled="scope.row.rectificationStatus == 2"
:rows="3"
<el-input v-model="scope.row.feedback" v-if="scope.row.evalQues" type="textarea"
:disabled="scope.row.rectificationStatus == 2" :rows="3"
:class="{ 'is-empty': scope.row.confirmStatus == 1 && !scope.row.feedback?.trim() }"
></el-input>
</template>
</el-table-column>
<el-table-column label="整改说明材料(选填)" prop="fileId" width="280">
<template slot-scope="scope" v-if="scope.row.evalQues">
<input
:disabled="scope.row.rectificationStatus == 2"
type="file"
@change="handleFileUploadZG($event, scope.row, 'fileId')"
/>
<input :disabled="scope.row.rectificationStatus == 2" type="file"
@change="handleFileUploadZG($event, scope.row, 'fileId')" />
</template>
</el-table-column>
<el-table-column label="检查说明" prop="checkDesc" show-overflow-tooltip>
......@@ -351,12 +311,16 @@
</el-table-column>
<el-table-column label="整改复核状态" prop="checkDesc">
<template slot-scope="scope">
<el-select v-model="scope.row.rectificationStatus" placeholder="请选择" disabled>
<span v-if="scope.row.rectificationStatus == null"></span>
<span v-if="scope.row.rectificationStatus == 0">问题未整改</span>
<span v-if="scope.row.rectificationStatus == 1">整改不合格</span>
<span v-if="scope.row.rectificationStatus == 2">整改完成</span>
<!-- <el-select v-model="scope.row.rectificationStatus" placeholder="请选择" disabled>
<el-option label="待复核" :value="null"></el-option>
<el-option label="问题未整改" :value="0"></el-option>
<el-option label="整改不合格" :value="1"></el-option>
<el-option label="整改完成" :value="2"></el-option>
</el-select>
</el-select> -->
</template>
</el-table-column>
......@@ -418,8 +382,7 @@
</div>
</div>
<p class="midBtn">
<span @click="cancelSS()">取消</span><span @click="saveSS()">保存</span
><span @click="saveSubmit()">提交</span>
<span @click="cancelSS()">取消</span><span @click="saveSS()">保存</span><span @click="saveSubmit()">提交</span>
</p>
</el-dialog>
</div>
......@@ -444,17 +407,479 @@ import {
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
import { sortByKey } from '@/utils/index'
export default {
mixins: [tableMixin],
data() {
return {
openBar:true,
mockData: {
"code": 200,
"msg": "操作成功!",
"data": {
"total": 68,
"records": [
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": "信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(态势感知能",
"projectCode": "7422XT230023",
"constructionForm": "4",
"issueYear": "2024",
"projectType": "1",
"contractNumber": "SGLNWZ00HTMM2400145",
"contractName": "[外]信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(态势感知能安全数据交换采购合同",
"projectId": null,
"batchId": 222,
"batchYear": "2025",
"batchName": "肉肉肉",
"planReviewDate": "2025-02-11",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": "1",
"description": null,
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
},
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": null,
"projectCode": null,
"constructionForm": null,
"issueYear": null,
"projectType": "1",
"contractNumber": null,
"contractName": null,
"projectId": null,
"batchId": 222,
"batchYear": "2025",
"batchName": "肉肉肉",
"planReviewDate": "2025-02-11",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": null,
"description": null,
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
},
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": "信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(成熟探针采",
"projectCode": "7422XT230021",
"constructionForm": "4",
"issueYear": "2023",
"projectType": "1",
"contractNumber": "SGLNWZ00HTMM2317956",
"contractName": "[外]信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(成熟探针采安全数据交换采购合同",
"projectId": null,
"batchId": 219,
"batchYear": "2025",
"batchName": "22222",
"planReviewDate": "2025-02-19",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": "2",
"description": "2",
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
},
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": "信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(态势感知能",
"projectCode": "7422XT230023",
"constructionForm": "4",
"issueYear": "2024",
"projectType": "1",
"contractNumber": "SGLNWZ00HTMM2400145",
"contractName": "[外]信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(态势感知能安全数据交换采购合同",
"projectId": null,
"batchId": 219,
"batchYear": "2025",
"batchName": "22222",
"planReviewDate": "2025-02-19",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": "1",
"description": "2",
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
},
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": "信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(成熟探针采",
"projectCode": "7422XT230021",
"constructionForm": "4",
"issueYear": "2023",
"projectType": "1",
"contractNumber": "SGLNWZ00HTMM2317947",
"contractName": "[外]信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(成熟探针采安全数据交换采购合同",
"projectId": null,
"batchId": 219,
"batchYear": "2025",
"batchName": "22222",
"planReviewDate": "2025-02-19",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": "2",
"description": "2",
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
},
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": "信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(态势感知能",
"projectCode": "7422XT230023",
"constructionForm": "4",
"issueYear": "2024",
"projectType": "1",
"contractNumber": "SGLNWZ00HTMM2400145",
"contractName": "[外]信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(态势感知能安全数据交换采购合同",
"projectId": null,
"batchId": 218,
"batchYear": "2025",
"batchName": "测试210",
"planReviewDate": "2025-02-12",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": "3",
"description": null,
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
},
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": "信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(成熟探针采",
"projectCode": "7422XT230021",
"constructionForm": "4",
"issueYear": "2023",
"projectType": "1",
"contractNumber": "SGLNWZ00HTMM2317947",
"contractName": "[外]信息安全-2023年全场景网络安全态势感知平台优化-设计开发实施项目(成熟探针采安全数据交换采购合同",
"projectId": null,
"batchId": 218,
"batchYear": "2025",
"batchName": "测试210",
"planReviewDate": "2025-02-12",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": "4",
"description": null,
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
},
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": "物资管理业务-2023年绿色现代数智供应链-设计开发实施项目(电工装备智慧物联平",
"projectCode": "7422XT23001Z",
"constructionForm": "4",
"issueYear": "2023",
"projectType": "3",
"contractNumber": "SGLNWZ00HTMM2317957",
"contractName": "物资管理业务-2023年绿色现代数智供应链-设计开发实施项目(电工装备智慧物联平台(EIP))-硬件-国网辽宁省电力有限公司",
"projectId": null,
"batchId": 218,
"batchYear": "2025",
"batchName": "测试210",
"planReviewDate": "2025-02-12",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": "1",
"description": null,
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
},
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": "信息安全-2023年网络安全治理清零-软硬件购置项目(终端主机本体安全风险治理)",
"projectCode": "7422XT230020",
"constructionForm": "4",
"issueYear": "2023",
"projectType": "1",
"contractNumber": "SGLNWZ00HTMM2317914",
"contractName": "[外]信息安全-2023年网络安全治理清零-软硬件购置项目(终端主机本体安全风险治理)安全监控软件采购合同",
"projectId": null,
"batchId": 218,
"batchYear": "2025",
"batchName": "测试210",
"planReviewDate": "2025-02-12",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": "1",
"description": null,
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
},
{
"projectYear": null,
"planEndTime": null,
"planStartTime": null,
"createEndTime": null,
"createStartTime": null,
"rectificationStatus": null,
"batchState": "3",
"reviewStatus": null,
"appealStatus": null,
"reviewStatusArr": null,
"status": null,
"expertName": "魏征",
"projectStatus": null,
"projectCategory": null,
"fullName": null,
"projectName": "基础设施-2023年各单位数据中心云平台扩容-软硬件购置项目-硬件-国网辽宁省电",
"projectCode": "7422XT23000K",
"constructionForm": "4",
"issueYear": "2023",
"projectType": "2",
"contractNumber": "SGLNWZ00HTMM2316697",
"contractName": "[外]基础设施-2023年各单位数据中心云平台扩容-软硬件购置项目-硬件-国网辽宁省电定制化服务器,存储II型采购合同",
"projectId": null,
"batchId": 218,
"batchYear": "2025",
"batchName": "测试210",
"planReviewDate": "2025-02-12",
"reviewDate": null,
"expertId": null,
"expertLeader": null,
"postEvalState": "1",
"description": null,
"remark": null,
"column17": null,
"prjsOfExpert": null,
"creator": null,
"createTime": null,
"lastUpdatedby": null,
"lastUpdateTime": null,
"column9": null,
"expertStr": null,
"contractStr": null,
"module": null
}
]
},
"failed": false
},
openBar: true,
yearsList: generateYearOptions(),
dialogXQ: false,
file: '',
showButton: true,
ruleForm: {
projectYear:'',
projectYear: '',
batchYear: '',
batchName: '',
postEvalState: '',
......@@ -486,6 +911,21 @@ export default {
fileList: [],
subdisabled: false,
confirmdisabled: false,
columns: [
{ label: "批次年度", prop: "batchYear", width: 120, show: true },
{ label: "后评估批次名称", prop: "batchName", width: 150, show: true },
{ label: "评审专家", prop: "expertName", width: 120, show: true },
{ label: "项目负责人", prop: "projectLeader", width: 120, show: true },
{ label: "项目编码", prop: "projectCode", width: 120, show: true },
{ label: "项目名称", prop: "projectName", width: 120, show: true },
{ label: "项目年度", prop: "issueYear", width: 120, show: true },
{ label: "项目类型", prop: "projectType", width: 120, show: true },
{ label: "建设形式", prop: "constructionForm", width: 150, show: true },
{ label: "项目审核状态", prop: "postEvalStateText", width: 150, show: true },
{ label: "合同编号", prop: "contractNumber", width: 150, show: true },
{ label: "合同名称", prop: "contractName", width: 150, show: true },
{ label: "计划评估日期", prop: "planReviewDate", width: 150, show: true },
],
}
},
filters: {
......@@ -503,6 +943,31 @@ export default {
}
},
},
computed: {
bindTableColumns() {
const aa = this.columns.filter((column) => column.show)
console.log(333, aa);
return aa;
},
checkedTableColumns: {
get() {
return this.bindTableColumns.map((column) => column.prop);
},
set(checked) {
// 设置表格列的显示与隐藏
this.columns.forEach((column) => {
// 如果选中,则设置列显示
if (checked.includes(column.prop)) {
column.show = true;
} else {
// 如果未选中,则设置列隐藏
column.show = false;
}
});
console.log(2222, this.columns);
},
},
},
watch: {
// 监听路由对象中的参数部分
'$route.params': {
......@@ -526,8 +991,25 @@ export default {
},
mounted() {
// this.submitForm();
this.$nextTick(() => {
this.$refs.multipleTable.doLayout()
})
},
methods: {
getProType(val) {
console.log(' | proType', val);
if (val == 1) {
return '咨询设计类'
} else if (val == 2) {
return '开发实施类'
} else if (val == 3) {
return '业务运营类'
} else if (val == 4) {
return '数据工程类'
} else if (val == 5) {
return '产品购置类'
}
},
timeChange(time) {
if (time) {
//给后端的参数
......@@ -703,7 +1185,7 @@ export default {
this.$message('上传失败')
}
})
.catch((error) => {})
.catch((error) => { })
},
filtersTable() {
let newArr = arguments[1].filter((items) => {
......@@ -745,6 +1227,13 @@ export default {
this.handleSelectionChange()
},
async saveSS() {
const confirmStatusArr = this.tableDataQR.filter(item => item.confirmStatus == 1)
const nullFeedBack = confirmStatusArr.filter(item => !item.feedback?.trim())
console.log('保存--this.tableDataQR', this.tableDataQR, confirmStatusArr, nullFeedBack);
if (nullFeedBack.length > 0) {
this.$message.warning('整改说明(申述必填)');
return
}
let res = await qrProblemAssistedFeedback(this.tableDataQR)
if (res.code == '200') {
this.$message('保存成功')
......@@ -755,6 +1244,13 @@ export default {
}
},
async saveSubmit() {
const confirmStatusArr = this.tableDataQR.filter(item => item.confirmStatus == 1)
const nullFeedBack = confirmStatusArr.filter(item => !item.feedback?.trim())
console.log('提交--this.tableDataQR', this.tableDataQR, confirmStatusArr, nullFeedBack);
if (nullFeedBack.length > 0) {
this.$message.warning('整改说明(申述必填)');
return
}
let res = await wtzgxfProblemRectification(this.tableDataQR)
this.$refs.myTable.doLayout() // 解决表格错位
if (res.code == '200') {
......@@ -779,13 +1275,9 @@ export default {
}
}
},
//问题确认开关
controlSwitch(val, row) {
console.log('333', val, row)
},
async submitForm(info) {
if(info==999){
this.currentPage=1
if (info == 999) {
this.currentPage = 1
}
let params = {
current: this.currentPage,
......@@ -796,6 +1288,7 @@ export default {
console.log(params)
let res = await evaluationMaterials(params)
// let res = this.mockData
if (res.code == '200') {
this.tableData = res.data.records
......@@ -1037,11 +1530,14 @@ export default {
handleMouseLeave(msg) {
// this.$refs[msg].style.whiteSpace = 'nowrap';
},
handleImageClick() {},
handleImageClick() { },
},
}
</script>
<style scoped lang="scss">
.is-empty {
border: 1px solid red;
}
.main {
font-size: 14px;
position: relative;
......@@ -1051,6 +1547,7 @@ export default {
flex-direction: column;
box-sizing: border-box;
}
.el-form {
display: flex;
width: 99%;
......@@ -1061,34 +1558,42 @@ export default {
border-bottom: 1px solid #dee5e7;
padding: 20px 10px;
margin-bottom: 20px;
.fromItem {
min-width: 24%;
margin: 0 0.5%;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
}
.button {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
width: 14px;
height: 14px;
......@@ -1096,6 +1601,7 @@ export default {
vertical-align: middle;
}
}
.el-button {
background-color: #23c6c8;
border-color: #23c6c8;
......@@ -1103,61 +1609,75 @@ export default {
}
}
}
.eltable {
width: 100%;
// height: 650px;
// overflow-y: auto;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
.elpagination {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
border-radius: 10px 10px 0 0;
.el-dialog__title {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
color: #333;
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
width: 100% !important;
}
.el-table__body,
.el-table__footer,
.el-table__header {
table-layout: auto;
}
}
.dialog {
// height: 680px;
// overflow-y: auto;
.xqtitle {
......@@ -1166,6 +1686,7 @@ export default {
border-bottom: 1px solid gainsboro;
padding-bottom: 10px;
align-items: center;
.des {
font-style: normal;
font-size: 14px;
......@@ -1173,6 +1694,7 @@ export default {
padding-top: 2px;
margin-left: 10px;
}
span {
display: inline-block;
width: 5px;
......@@ -1182,7 +1704,8 @@ export default {
vertical-align: middle;
}
}
/deep/ .el-form {
::v-deep .el-form {
width: 65%;
flex-wrap: wrap;
padding: 0 10px;
......@@ -1195,36 +1718,45 @@ export default {
width: 51%;
margin: 0 auto;
margin-bottom: 20px;
.el-input {
width: 226px;
}
.el-select {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: 400;
// color: #000;
width: 160px !important;
}
}
}
.textarea {
width: 100%;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
display: flex;
}
.el-textarea {
width: 60%;
}
}
.Btn {
width: 300px;
margin: 0 auto;
margin-top: 20px;
span {
display: inline-block;
width: 80px;
......@@ -1237,25 +1769,29 @@ export default {
border: 1px solid #0d867f;
color: #fff;
}
span:first-of-type {
border: 1px solid #000;
background: #fff;
color: #333;
}
// span:last-of-type {
// background-color: #0d867f;
// border: 1px solid #0d867f;
// color: #fff;
// }
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
// /deep/.el-table th.el-table__cell.is-leaf,
// ::v-deep.el-table th.el-table__cell.is-leaf,
// .el-table td.el-table__cell {
// text-align: center;
// }
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
......@@ -1264,45 +1800,52 @@ export default {
height: 290px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
}
}
.dialogFrom {
.eltable {
height: 650px;
overflow-y: auto;
}
}
/deep/.el-switch__core {
::v-deep.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
::v-deep.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
::v-deep .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
::v-deep.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
::v-deep .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
::v-deep.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
::v-deep.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
......@@ -1311,7 +1854,7 @@ export default {
user-select: none;
}
/deep/.el-switch__label--right {
::v-deep.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
......@@ -1320,24 +1863,27 @@ export default {
user-select: none;
}
/deep/.el-switch__label--right.is-active {
::v-deep.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
::v-deep.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
line-height: 30px;
}
h3 {
text-align: left;
}
.midBtn {
margin: 20px auto;
// margin-top: 20px;
span {
display: inline-block;
......@@ -1352,43 +1898,51 @@ h3 {
color: #fff;
border: 1px solid #4ca6a7;
}
span:first-of-type {
border: 1px solid grey;
background-color: #fff;
color: grey;
}
}
.setTable {
height: 490px;
overflow-y: auto;
overflow-x: scroll;
position: relative;
overflow: auto;
.eltable {
box-sizing: border-box;
text-align: center;
width: 100%;
// min-width: 150%;
}
/deep/.el-table--scrollable-x .el-table__body-wrapper {
::v-deep.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden !important;
}
}
/deep/ .el-table th .gutter {
::v-deep .el-table th .gutter {
display: table-cell !important;
}
// /deep/ .el-table .cell{
// ::v-deep .el-table .cell{
// padding-right: 0;
// }
.noclick {
opacity: 0.5;
}
.xqtitle {
text-align: left;
font-size: 18px;
border-bottom: 1px solid gainsboro;
padding-bottom: 10px;
}
.filedp {
text-align: left;
width: 600px;
......@@ -1402,9 +1956,11 @@ h3 {
height: 30px;
margin-top: 5px;
}
.tips {
font-weight: 600;
}
span {
// margin-right: 8px;
display: inline-block;
......@@ -1414,10 +1970,12 @@ h3 {
text-overflow: ellipsis;
}
}
.upload-demo {
display: inline-block;
vertical-align: top;
}
.upload_box {
vertical-align: top;
}
......@@ -1426,11 +1984,13 @@ h3 {
width: 100%;
text-align: right;
}
.upload_box {
display: inline-block;
margin-right: 10px;
}
/deep/.el-upload-list__item-name {
::v-deep.el-upload-list__item-name {
display: none;
}
</style>
......@@ -6,10 +6,7 @@
label-width="100px"
class="demo-ruleForm"
>
<div
:class="openBar ? 'upicon' : 'downicon'"
@click="openBar = !openBar"
>
<div :class="openBar ? 'upicon' : 'downicon'" @click="openBar = !openBar">
<i class="el-icon-bottom"></i>
</div>
<el-form-item label="项目编码:" prop="projectCode" class="fromItem">
......@@ -141,7 +138,11 @@
label="累计入账占比"
width="90"
>
<template slot-scope="scope"><span v-if="scope.row.accountingProportion"> {{ scope.row.accountingProportion }}% </span></template>
<template slot-scope="scope"
><span v-if="scope.row.accountingProportion">
{{ scope.row.accountingProportion }}%
</span></template
>
</el-table-column>
<el-table-column prop="entryAmount" label="入账金额(万)" width="120">
</el-table-column>
......@@ -249,16 +250,17 @@
:on-change="uploadChange"
:with-credentials="true"
:auto-upload="true"
:file-list="scope.row.fileList"
action=""
:on-success="handleSuccess"
:file-list="scope.row.fileList"
:show-file-list="false"
>
</el-upload>
<el-button
size="small"
type="primary"
class="btn-search"
@click="postExist(scope.row)"
@click="postExistFiles(scope.row)"
>上传</el-button
>
<el-button
......@@ -281,7 +283,7 @@
size="small"
type="primary"
class="btn-search"
@click="delAll(scope.row)"
@click="delFiles(scope.row)"
:disabled="!scope.row.fullId"
>删除</el-button
>
......@@ -348,13 +350,14 @@
:visible.sync="dialogVisible"
class="bigdialog"
>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tabs v-model="activeName" @tab-click="changeTab">
<el-tab-pane
v-for="(item, index) in tabListYL"
:key="item.name"
:key="item.id"
:label="item.name"
:name="index + ''"
>
<!-- blobType: {{ blobType }} -->
<iframe
v-if="blobType == 'pdf'"
:src="item.iframeUrl"
......@@ -364,10 +367,14 @@
<div class="docDiv" v-else-if="blobType == 'docx'">
<div :ref="`word${item.url}`" :id="`word${item.url}`"></div>
</div>
<!-- <div v-else-if="blobType=='png'||blobType=='jpg'" class="blobImg">
<img :src="iframeUrl" alt="">
</div>
-->
<div
v-else-if="
blobType == 'image' || blobType == 'png' || blobType == 'jpg'
"
class="blobImg"
>
<img :src="imageUrl" alt="" />
</div>
</el-tab-pane>
</el-tabs>
</el-dialog>
......@@ -399,6 +406,17 @@
</el-form-item>
</el-form>
</el-dialog>
<el-dialog title="资料列表" :visible.sync="showFileListDialog" width="80%">
<el-table :data="filesTableData" style="width: 100%">
<el-table-column prop="fileName" label="资料名称" />
<el-table-column fixed="right" label="操作" min-width="60">
<template #default="scope">
<el-button link type="primary" size="small" @click="deleteFileFunc(scope.row)"> 删除 </el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
......@@ -412,6 +430,7 @@ import {
pmProInitiation,
MaterialWarehous,
ossuploadStr,
ossuploadStrAddFiles,
chpmProInitiation,
downloadObjectStr,
delAll,
......@@ -436,7 +455,7 @@ export default {
checkedList: [],
yearsList: generateYearOptions(),
ruleForm: {
projectCode: "",
projectCode: "7322XT23005C",
projectName: "",
issueYear: "",
constructionForm: "",
......@@ -463,11 +482,13 @@ export default {
dialogVisible: false,
activeName: "0",
tabListYL: [],
iframeUrl: "",
imageUrl: "",
blobType: "",
inspectdisabled: true,
mergingPos: 0,
mergingRows: [],
showFileListDialog: false,
filesTableData: [],
};
},
......@@ -514,10 +535,10 @@ export default {
methods: {
beforeUpload(file) {
console.log( file.size / 1024 / 1024,'多大')
console.log(file.size / 1024 / 1024, "多大");
const isLt500M = file.size / 1024 / 1024 < 500;
if (!isLt500M) {
this.$message.error('上传的文件不能超过500MB!');
this.$message.error("上传的文件不能超过500MB!");
}
return isLt500M;
},
......@@ -594,8 +615,11 @@ export default {
link.click();
URL.revokeObjectURL(url); // 释放内存
},
async delAll(row) {
console.log(row, "6666666666666");
deleteFiles() {
this.showFileListDialog = true;
},
deleteFileFunc(row) {
console.log('deleteFileFunc', row);
this.$confirm("此操作将删除该文件, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -611,6 +635,7 @@ export default {
type: "success",
message: "删除成功!",
});
this.filesTableData = this.filesTableData.filter(item => item.fullId !== row.fullId)
this.MaterialWarehous(this.upprojectType);
} else {
this.$message({
......@@ -621,6 +646,46 @@ export default {
})
.catch(() => {});
},
async delFiles(row) {
this.filesTableData = []
console.log(row, "6666666666666");
const { fullName, fullId } = row
const ids = fullId.split(',')
const names = fullName.split(',')
const files = []
ids.forEach((item, index) => {
files.push({
fullId: item,
fileName: names[index]
})
})
this.filesTableData = files
this.deleteFiles();
// this.$confirm("此操作将删除该文件, 是否继续?", "提示", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: "warning",
// })
// .then(async () => {
// let params = {
// fileIdStr: row.fullId,
// };
// let response = await delAll(params);
// if (response.code == 200) {
// this.$message({
// type: "success",
// message: "删除成功!",
// });
// this.MaterialWarehous(this.upprojectType);
// } else {
// this.$message({
// type: "info",
// message: "删除失败!",
// });
// }
// })
// .catch(() => {});
},
async chpmProInitiation(projectType) {
let params = {
...this.ruleFormdialog,
......@@ -815,7 +880,8 @@ export default {
formData.append("typeCode", arguments[2].mid);
formData.append("prjId", this.ruleFormdialog.projectCode);
formData.append("bathId", this.ruleFormdialog.contractNumber);
ossuploadStr(formData)
// ossuploadStr(formData)
ossuploadStrAddFiles(formData)
.then((response) => {
if (response.code == "200") {
this.fileList = [];
......@@ -827,11 +893,12 @@ export default {
}
})
.catch((error) => {
console.error('error');
console.error("error");
this.fileList = [];
this.$refs["upload" + arguments[2].mid].clearFiles();
// this.$message("上传失败");
}).finally(() => console.log('Request completed'));;
})
.finally(() => console.log("Request completed"));
},
handleSuccess(response, file, fileList) {
// 提交保存成功后清空已上传的文件
......@@ -839,8 +906,8 @@ export default {
},
async preview(row) {
this.tabListYL = [];
console.log(row.fullName, "33333");
let array = row.fullName.split(",");
console.log({ ...row }, row.fullName, array, "33333");
array.forEach((item, index) => {
this.tabListYL.push({
name: item,
......@@ -848,24 +915,28 @@ export default {
url: row.fullUrl.split(",")[index],
});
});
console.log(this.tabListYL, "this.tabListYL");
this.downloadObject("0");
console.log(
"this.tabListYL",
JSON.parse(JSON.stringify(this.tabListYL)),
this.tabListYL
);
this.downloadFileObject("0");
},
handleClick(tab) {
console.log("切换", tab.name, this.tabListYL[tab.name].iframeUrl);
if (!this.tabListYL[tab.name].iframeUrl) {
this.downloadObject(tab.name + "");
}
},
async downloadObject(index) {
async downloadFileObject(index) {
let loadingInstance;
loadingInstance = Loading.service({
lock: true,
text: "文件加载中,请耐心等待...",
});
this.blobType = "";
console.log(this.tabListYL, "this.tabListYL");
console.log(
"this.tabListYL",
JSON.parse(JSON.stringify(this.tabListYL)),
this.tabListYL
);
let resUrl = await downloadObject({ fileId: this.tabListYL[index].id });
console.log("downFileresUrl", resUrl);
loadingInstance.close();
if (
this.tabListYL[index].url.slice(-3) == "pdf" ||
......@@ -890,17 +961,27 @@ export default {
); // 渲染到页面预览
});
} else {
this.blobType = "image";
let paramsImg = {
fileId: this.tabListYL[index].id,
url: this.tabListYL[index].url,
};
let resUrl = await presignedUrl(paramsImg);
// this.iframeUrl="http://view.officeapps.live.com/op/view.aspx?src=http://arch-file.oss-cn-beijing.aliyuncs.com/66a83f6f4386f71e7b950b87.doc?Expires=1722907981&OSSAccessKeyId=LTAI5tGjidtvVSCvwGxTp8FH&Signature=4p2boWzux%2FscZHWQz2E4gVRF94w%3D"
// 创建 Object URL
const blob = new Blob([resUrl], { type: "image/jpeg" }); // 根据实际类型设置
this.imageUrl = URL.createObjectURL(blob); // 将 Blob 转换为 URL
// let resUrl = await presignedUrl(paramsImg);
// this.imageUrl="http://view.officeapps.live.com/op/view.aspx?src=http://arch-file.oss-cn-beijing.aliyuncs.com/66a83f6f4386f71e7b950b87.doc?Expires=1722907981&OSSAccessKeyId=LTAI5tGjidtvVSCvwGxTp8FH&Signature=4p2boWzux%2FscZHWQz2E4gVRF94w%3D"
}
console.log(this.blobType);
this.dialogVisible = true;
},
changeTab(tab) {
console.log("切换", tab.name, this.tabListYL, this.tabListYL[tab.name].iframeUrl);
// if (!this.tabListYL[tab.name].iframeUrl) {
this.downloadFileObject(tab.name + "");
// }
},
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0 || columnIndex === 8) {
//第一列
......@@ -912,7 +993,7 @@ export default {
};
}
},
postExist(row) {
postExistFiles(row) {
let params = {
contractNumber: this.ruleFormdialog.contractNumber,
projectCode: this.ruleFormdialog.projectCode,
......@@ -984,12 +1065,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -998,7 +1079,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1015,7 +1096,7 @@ export default {
}
}
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1023,7 +1104,7 @@ export default {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1031,18 +1112,18 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -1051,7 +1132,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1059,7 +1140,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -1089,7 +1170,7 @@ export default {
.dialog {
min-height: 680px;
overflow-y: auto;
/deep/ .el-form {
::v-deep .el-form {
width: 65%;
flex-wrap: wrap;
padding: 0 10px;
......@@ -1109,17 +1190,17 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: 400;
// color: #000;
width: 160px !important;
}
}
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.tips {
......@@ -1141,7 +1222,7 @@ export default {
display: inline-block;
margin-right: 10px;
}
/deep/.el-upload-list__item-name {
::v-deep.el-upload-list__item-name {
display: none;
}
.Btn {
......@@ -1175,14 +1256,14 @@ export default {
left: 20vw;
top: 15vh;
}
.innerVisible /deep/.el-dialog__body {
.innerVisible ::v-deep.el-dialog__body {
min-height: 50vh;
}
.bigdialog {
left: 20vw;
}
.bigdialog /deep/.el-dialog__body {
.bigdialog ::v-deep.el-dialog__body {
min-height: 70vh;
}
......@@ -1192,7 +1273,7 @@ export default {
// overflow-x: auto;
// overflow-y: hidden;
// box-sizing: border-box;
// /deep/ .el-table {
// ::v-deep .el-table {
// width: 96% !important;
// height: 300px;
// overflow: auto;
......@@ -1203,15 +1284,15 @@ export default {
// height: 70vh; margin:0 auto;
// overflow: auto;
// }
/deep/.docx-wrapper {
::v-deep.docx-wrapper {
padding: 0 !important;
}
/deep/.docx {
::v-deep.docx {
width: 100% !important;
display: table !important;
padding: 2em 1em 0 !important;
}
/deep/.el-table {
::v-deep.el-table {
transform: translate(0);
}
::v-deep.el-table::before {
......@@ -1221,7 +1302,7 @@ export default {
opacity: 0.5;
}
.fullscreen {
/deep/ .el-dialog {
::v-deep .el-dialog {
width: 100%;
// height: 100%;
margin-top: 0px !important;
......@@ -1235,24 +1316,24 @@ export default {
overflow-y: auto;
}
}
/deep/ .el-dialog {
::v-deep .el-dialog {
width: 90%;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
}
/deep/ .custom_dialog_header {
::v-deep .custom_dialog_header {
display: flex;
justify-content: space-between;
}
/deep/ .custom_dialog_menu {
::v-deep .custom_dialog_menu {
padding: 6px 30px 0 0;
}
/deep/ .custom_dialog_menu i {
::v-deep .custom_dialog_menu i {
color: #909399;
font-size: 15px;
}
/deep/ .el-icon-full-screen {
::v-deep .el-icon-full-screen {
cursor: pointer;
color: #fff !important;
margin-right: 10px;
......@@ -1261,17 +1342,17 @@ export default {
color: #f0ffff;
font-size: 18px;
}
/deep/ .custom_dialog_menu {
::v-deep .custom_dialog_menu {
padding: 2px 20px 0 30px;
}
/deep/ .el-icon-close:before {
::v-deep .el-icon-close:before {
font-size: 20px !important;
}
.histable {
height: 630px;
overflow-y: auto;
}
/deep/.el-table--scrollable-x .el-table__body-wrapper {
::v-deep.el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden;
}
</style>
......@@ -457,12 +457,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -471,7 +471,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -492,7 +492,7 @@ export default {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -500,7 +500,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -508,13 +508,13 @@ export default {
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -523,7 +523,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -531,7 +531,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -630,33 +630,33 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
::v-deep.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
::v-deep .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
::v-deep.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
......@@ -685,7 +685,7 @@ h3 {
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
......@@ -735,7 +735,7 @@ h3 {
color: #fff;
}
}
/deep/.el-button--small {
::v-deep.el-button--small {
font-size: 14px;
}
</style>
\ No newline at end of file
......@@ -718,7 +718,7 @@ export default {
</script>
<style scoped lang="scss">
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -747,12 +747,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -783,7 +783,7 @@ export default {
height: 100px;
overflow: hidden;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 100px;
overflow: hidden;
......@@ -794,7 +794,7 @@ export default {
height: 450px;
overflow-y: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height:450px;
overflow-y: auto;
......@@ -867,7 +867,7 @@ export default {
}
}
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -875,13 +875,13 @@ export default {
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -890,7 +890,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -898,7 +898,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -964,11 +964,11 @@ export default {
border-radius: 5px;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
</style>
\ No newline at end of file
......@@ -967,12 +967,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -981,7 +981,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1002,7 +1002,7 @@ export default {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1010,7 +1010,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -1018,13 +1018,13 @@ export default {
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -1033,7 +1033,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1041,7 +1041,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -1081,33 +1081,33 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
::v-deep.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
::v-deep .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
::v-deep.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
......@@ -1130,13 +1130,13 @@ h3 {
height: 550px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 550px;
overflow: auto;
}
}
/deep/ .el-switch__core:after {
::v-deep .el-switch__core:after {
height: 17px;
top: 0;
}
......
......@@ -1835,12 +1835,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -1849,7 +1849,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -1870,7 +1870,7 @@ export default {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -1878,7 +1878,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -1886,13 +1886,13 @@ export default {
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -1901,7 +1901,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -1909,7 +1909,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -2008,33 +2008,33 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
::v-deep.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
::v-deep .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
::v-deep.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
......@@ -2057,7 +2057,7 @@ h3 {
height: 100px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 100px;
overflow: auto;
......@@ -2068,7 +2068,7 @@ h3 {
height: 400px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 340px;
overflow: auto;
......@@ -2158,14 +2158,14 @@ h3 {
}
}
/deep/ .el-table::before {
::v-deep .el-table::before {
display: none !important;
}
.demo-ruleForm {
position: relative;
margin-bottom: 20px;
}
/deep/ .el-table thead.is-group th.el-table__cell {
::v-deep .el-table thead.is-group th.el-table__cell {
background: #f5f5f5;
}
.tips {
......
<template>
<div class="mian">
<!-- <div class="head-container">
<div class="head-container">
<div class="logo" style="z-index: 10">
<div class="logo-inner">
<img src="../../assets/logo.png" alt="" />
......@@ -9,6 +9,14 @@
</div>
<div class="right">
<div class="head">
<!-- <el-select v-model="userMock" placeholder="请选择" @change="changeUser" >
<el-option
v-for="(item, index) in userMockList"
:key="index"
:label="item.label"
:value="item.id"
/>
</el-select> -->
<div style="margin-right: 5px">
<img src="../../assets/user.png" alt="user" />
</div>
......@@ -21,7 +29,7 @@
</div>
<div class="menu no-select">
<div class="right-angle-triangle"></div>
<div class="just">
<div v-if="!false" class="just">
<div id="home" @click="navigateToChild('1','/home')" :class="active=='1'?'active':''">
<span class="iconfont">&#xe608;</span>&nbsp;主页
</div>
......@@ -46,7 +54,7 @@
</div>
</div>
</div>
</div> -->
</div>
<router-view></router-view>
<!-- <MainLayout class="continer">
<router-view></router-view>
......@@ -62,6 +70,25 @@ export default {
},
data() {
return {
userMock: 1, // 角色
userMockList: [
{
label: '超管',
id: 1
},
{
label: '发起人',
id: 2
},
{
label: '专家',
id: 3
},
{
label: '项目负责人',
id: 4
},
],
active:'5',
headerList: [
{
......@@ -110,6 +137,10 @@ export default {
// this.$router.push({ path:" /mainLayout" });
},
methods:{
changeUser(val){
const { label } = this.userMockList.find(item => item.id === val)
console.log('changeUser', val, label);
},
navigateToChild(num,pushUrl){
this.active=num
this.$router.push({ path: pushUrl });
......@@ -164,13 +195,13 @@ export default {
// flex: 1;
// flex-wrap: nowrap;
}
/deep/ .el-menu {
::v-deep .el-menu {
background: #effbfa;
display: flex;
// flex: 1;
flex-wrap: nowrap;
}
/deep/ .el-submenu__title {
::v-deep .el-submenu__title {
color: #4ca6a7;
font-size: 19px;
font-weight: bold;
......@@ -262,7 +293,7 @@ export default {
height: 100%;
width: 100%;
color: #4ca6a7;
font-size: 19px;
font-size: 14px;
font-weight: bold;
}
......
......@@ -247,7 +247,7 @@ export default {
overflow-y: auto;
margin-left: 10px;
}
/deep/.el-menu {
::v-deep.el-menu {
border: none !important;
box-sizing: border-box;
}
......@@ -259,7 +259,7 @@ export default {
box-shadow: 1px 2px 4px 0px #0068624c;
}
.submenu1 /deep/ .el-submenu__title {
.submenu1 ::v-deep .el-submenu__title {
height: 40px;
line-height: 40px;
box-shadow: 1px 2px 4px 0px #0068624c;
......@@ -274,7 +274,7 @@ export default {
border-radius: 5px;
box-shadow: 1px 2px 4px 0px #0068624c;
}
.submenu2 /deep/ .el-submenu__title {
.submenu2 ::v-deep .el-submenu__title {
height: 40px;
line-height: 40px;
box-shadow: 1px 2px 4px 0px #0068624c;
......@@ -284,11 +284,11 @@ export default {
text-align: left;
padding-left: 20px !important;
}
/deep/ .el-icon-arrow-down {
::v-deep .el-icon-arrow-down {
display: none;
}
/deep/ .el-submenu__title:hover {
::v-deep .el-submenu__title:hover {
background: transparent;
}
.seticon1 {
......@@ -353,29 +353,29 @@ export default {
box-shadow: 1px 2px 4px 0px #0068624c;
padding-right: 0;
}
.submenu2 /deep/ .is-active {
.submenu2 ::v-deep .is-active {
background: rgba(99, 164, 166, 0.6);
color: #fff;
}
.xiangmu{
margin: 0;
}
.xiangmu /deep/ .is-active {
.xiangmu ::v-deep .is-active {
background: rgba(99, 164, 166, 0.6);
color: #fff;
}
.xuanzhong /deep/ .is-active {
.xuanzhong ::v-deep .is-active {
background: rgba(99, 164, 166, 0.6);
color: #fff;
}
.menu-scrollbar /deep/ .el-scrollbar__view {
.menu-scrollbar ::v-deep .el-scrollbar__view {
height: 100%; /* 设置高度以填满父容器 */
}
/deep/.el-scrollbar__thumb {
::v-deep.el-scrollbar__thumb {
background-color: #6bcfde; /* 滑块的颜色 */
}
/deep/
::v-deep
.el-scrollbar__view
> ul:first-child
> li:first-child
......
<template>
<div class="layout">
<LeftBar :class="openBar?'bar':'barClose'" :authority="authority" :autho="autho" ref="child"></LeftBar>
<LeftBar
:class="openBar ? 'bar' : 'barClose'"
:authority="authority"
:autho="autho"
ref="child"
></LeftBar>
<ContinerView class="continer" id="myElement">
<router-view></router-view>
</ContinerView>
<div class="changeqx">
<!-- <el-menu
<el-menu
router
class="el-menu-vertical-demo"
:unique-opened="true"
......@@ -42,7 +47,7 @@
</el-menu-item>
</el-submenu>
</el-submenu>
</el-menu> -->
</el-menu>
</div>
</div>
</template>
......@@ -59,7 +64,7 @@ export default {
},
data() {
return {
openBar:true,
openBar: true,
title: "确认更改",
submenu: [
{
......@@ -81,7 +86,7 @@ export default {
url: "",
children: [
{
name: "省公司管理",
name: "发起人",
url: "",
id: 1,
children: [
......@@ -93,7 +98,7 @@ export default {
],
},
{
name: "省公司专家",
name: "专家",
id: 2,
children: [
{
......@@ -111,7 +116,7 @@ export default {
],
},
{
name: "项目建设单位专责",
name: "负责人",
id: 3,
children: [
{
......@@ -149,23 +154,95 @@ export default {
],
},
],
// menuList: [
// {
// name: "权限切换",
// url: "",
// children: [
// {
// name: "省公司管理",
// url: "",
// id: 1,
// children: [
// {
// name: "张宇",
// code: "zhangyu",
// children: [],
// },
// ],
// },
// {
// name: "省公司专家",
// id: 2,
// children: [
// {
// name: "李一鸣",
// code: "liyiming",
// children: [],
// },
// {
// name: "王美玲",
// code: "wangmeiling",
// children: [],
// },
// ],
// },
// {
// name: "项目建设单位专责",
// id: 3,
// children: [
// {
// name: "孟德建",
// code: "mengdejian",
// children: [],
// },
// {
// name: "李文博",
// code: "liwenbo",
// children: [],
// },
// {
// name: "章轲",
// code: "zhangke",
// children: [],
// },
// ],
// },
// {
// name: "超级管理员",
// url: "",
// id: 99,
// children: [
// {
// name: "魏征",
// code: "weizheng",
// children: [],
// },
// ],
// },
// ],
// },
// ],
authority: null,
autho:null,
KeyIndex:"",
autho: null,
KeyIndex: "",
};
},
mounted() {
EventBus.$on('modifyStyleEvent', this.updateStyle)
EventBus.$on("modifyStyleEvent", this.updateStyle);
},
methods: {
updateStyle(style) {
console.log('9999999')
this.openBar=!this.openBar
console.log("9999999");
this.openBar = !this.openBar;
},
handleResize() {
// 处理窗口大小变化的逻辑
console.log("Window was resized!");
......@@ -191,34 +268,34 @@ export default {
console.log("选怎", a, b);
sessionStorage.setItem("author", b.code);
sessionStorage.setItem("authorName", a.id);
sessionStorage.setItem("authorCName", b.name);
this.authority = a.id;
this.autho= b.code
this.autho = b.code;
this.$refs.menu.close("0");
},
handleOpen(key,bb) {
console.log(key,bb)
this.KeyIndex = key;
},
handleClose(){
this.isCollapsed=!this.isCollapsed
}
handleOpen(key, bb) {
console.log(key, bb);
this.KeyIndex = key;
},
handleClose() {
this.isCollapsed = !this.isCollapsed;
},
},
beforeDestroy() {
EventBus.$off('modifyStyleEvent', this.updateStyle);
EventBus.$off("modifyStyleEvent", this.updateStyle);
},
};
</script>
<style lang="scss" scoped>
.layout {
width: 100%;
// height: calc(100vh - 50px);
height: 100%;
position: relative;
background: #fff;
display: flex;
flex-wrap: nowrap;
position: relative;
width: 100%;
// height: calc(100vh - 50px);
height: 100%;
position: relative;
background: #fff;
display: flex;
flex-wrap: nowrap;
position: relative;
overflow: hidden;
.bar {
width: 235px;
......@@ -247,11 +324,11 @@ export default {
}
</style>
<style lang="scss">
.el-tooltip__popper{
max-width:400px;
line-height: 20px;
}
.el-tooltip__popper{
.el-tooltip__popper {
max-width: 400px;
line-height: 20px;
}
.el-tooltip__popper {
background-color: gainsboro !important;
color: black;
}
......@@ -266,67 +343,63 @@ export default {
.el-tooltip__popper.is-dark {
color: black;
}
.el-icon-close:before{
.el-icon-close:before {
color: #fff;
font-size:17px;
font-size: 17px;
}
.el-form{
.el-form {
margin: 0 !important;
position: relative;
box-sizing: border-box;
padding-right: 20px !important;
.upicon{
.upicon {
position: absolute;
width: 30px;
height:30px;
height: 30px;
border-radius: 50%;
background: #23c6c8;
right: 0;
.el-icon-bottom:before {
content: "\e6eb";
color: #fff;
font-size: 24px;
line-height: 30px;
}
content: "\e6eb";
color: #fff;
font-size: 24px;
line-height: 30px;
}
}
.downicon{
.downicon {
position: absolute;
width: 30px;
height:30px;
height: 30px;
border-radius: 50%;
background: #23c6c8;
right:0;
right: 0;
transform: rotate(180deg);
.el-icon-bottom:before {
content: "\e6eb";
color: #fff;
font-size: 24px;
line-height: 30px;
}
content: "\e6eb";
color: #fff;
font-size: 24px;
line-height: 30px;
}
}
}
.el-form .button{
.el-form .button {
margin-bottom: 0;
vertical-align: middle;
}
.elpagination{
.elpagination {
margin-bottom: 5px;
}
.setscroll{
height: calc(100% );
.setscroll {
height: calc(100%);
min-height: 300px;
overflow-y: auto;
}
.setscrollOne {
height: calc(100% );
height: calc(100%);
min-height: 300px;
position: relative;
overflow: auto;
}
</style>
\ No newline at end of file
</style>
......@@ -14,8 +14,7 @@ export default {
},
mounted(){
this.zjIframe=SystemConfig.VUE_APP_ZJ_IFRAME+'/static/#/assessResult/release/notice'
}
},
}
</script>
......
......@@ -361,12 +361,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -375,7 +375,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -396,7 +396,7 @@ export default {
widows: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -404,18 +404,18 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -424,7 +424,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -432,7 +432,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -486,7 +486,7 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.zjBtn {
......@@ -507,10 +507,10 @@ export default {
margin-left: 10px;
}
}
/deep/ .el-icon-position {
::v-deep .el-icon-position {
margin-right: 10px;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
......@@ -546,11 +546,11 @@ export default {
color: #fff;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.dialog {
......@@ -595,7 +595,7 @@ h3 {
text-align: left;
margin: 10px 0;
}
/deep/ .el-dialog__body {
::v-deep .el-dialog__body {
padding-top: 1px;
}
.close {
......
......@@ -380,12 +380,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -394,7 +394,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
......@@ -417,7 +417,7 @@ export default {
widows: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -425,18 +425,18 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
padding-bottom: 20px;
text-align: left;
......@@ -445,7 +445,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -453,7 +453,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -507,7 +507,7 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.zjBtn {
......@@ -528,10 +528,10 @@ export default {
margin-left: 10px;
}
}
/deep/ .el-icon-position {
::v-deep .el-icon-position {
margin-right: 10px;
}
/deep/ .el-icon-folder-delete {
::v-deep .el-icon-folder-delete {
margin-right: 10px;
}
.cxItem {
......@@ -567,11 +567,11 @@ export default {
color: #fff;
}
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
.dialog {
......@@ -616,7 +616,7 @@ h3 {
text-align: left;
margin: 10px 0;
}
/deep/ .el-dialog__body {
::v-deep .el-dialog__body {
padding-top: 1px;
}
.close {
......
......@@ -456,12 +456,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -470,7 +470,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -491,7 +491,7 @@ export default {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -499,7 +499,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -507,13 +507,13 @@ export default {
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -522,7 +522,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -530,7 +530,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -629,33 +629,33 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
::v-deep.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
::v-deep .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
::v-deep.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
......@@ -684,7 +684,7 @@ h3 {
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
......@@ -734,7 +734,7 @@ h3 {
color: #fff;
}
}
/deep/.el-button--small{
::v-deep.el-button--small{
font-size: 14px;
}
</style>
\ No newline at end of file
......@@ -547,12 +547,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -561,7 +561,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -582,7 +582,7 @@ export default {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -590,7 +590,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -598,13 +598,13 @@ export default {
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -613,7 +613,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -621,7 +621,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -720,33 +720,33 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
::v-deep.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
::v-deep .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
::v-deep.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
......@@ -769,7 +769,7 @@ h3 {
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
......
......@@ -676,12 +676,12 @@ export default {
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -690,7 +690,7 @@ export default {
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -711,7 +711,7 @@ export default {
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -719,7 +719,7 @@ export default {
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -727,13 +727,13 @@ export default {
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -742,7 +742,7 @@ export default {
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -750,7 +750,7 @@ export default {
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -849,33 +849,33 @@ export default {
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
::v-deep.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
::v-deep .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
::v-deep.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
......@@ -898,7 +898,7 @@ h3 {
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
......@@ -955,33 +955,33 @@ h3 {
}
}
/deep/.el-switch__core {
::v-deep.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
::v-deep.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
::v-deep .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
::v-deep.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
::v-deep .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
::v-deep.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
::v-deep.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
......@@ -990,7 +990,7 @@ h3 {
user-select: none;
}
/deep/.el-switch__label--right {
::v-deep.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
......@@ -999,20 +999,20 @@ h3 {
user-select: none;
}
/deep/.el-switch__label--right.is-active {
::v-deep.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
::v-deep.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
line-height: 30px;
}
/deep/ .el-tag{
::v-deep .el-tag{
white-space: normal;
height:auto;
}
......
......@@ -683,12 +683,12 @@ this.dialog = true;
width: 226px;
}
}
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
text-align: left;
display: inline-block;
margin-left: 10px !important;
}
/deep/ .el-form-item__label {
::v-deep .el-form-item__label {
font-weight: bold;
color: #000;
width: 160px !important;
......@@ -697,7 +697,7 @@ this.dialog = true;
display: inline-block;
width: 100%;
text-align: left;
/deep/ .el-form-item__content {
::v-deep .el-form-item__content {
margin-left: 20px !important;
text-align: left;
img {
......@@ -718,7 +718,7 @@ this.dialog = true;
width: 100%;
box-sizing: border-box;
}
/deep/ .el-table .warning-row {
::v-deep .el-table .warning-row {
background: #f0ffff;
// color: #2785e6;
}
......@@ -726,7 +726,7 @@ this.dialog = true;
text-align: center;
margin-right: 100px;
}
/deep/ .el-dialog {
::v-deep .el-dialog {
border-radius: 10px;
margin-top: 3vh !important;
margin-left: 3vw !important;
......@@ -734,13 +734,13 @@ this.dialog = true;
// box-sizing: border-box;
// overflow-y: auto;
}
/deep/ .el-dialog__wrapper {
::v-deep .el-dialog__wrapper {
position: absolute;
}
/deep/ .v-modal {
::v-deep .v-modal {
position: absolute;
}
/deep/ .el-dialog__header {
::v-deep .el-dialog__header {
background-color: #0d867f;
// padding-bottom: 20px;
text-align: left;
......@@ -749,7 +749,7 @@ this.dialog = true;
color: #fff;
}
}
/deep/ .el-table__header th {
::v-deep .el-table__header th {
background-color: #f5f5f5;
font-weight: bold;
.cell {
......@@ -757,7 +757,7 @@ this.dialog = true;
}
}
/deep/.el-table {
::v-deep.el-table {
width: 100%;
.el-table__header-wrapper table,
.el-table__body-wrapper table {
......@@ -856,33 +856,33 @@ this.dialog = true;
color: #fff;
}
}
/deep/ .el-dialog__headerbtn .el-dialog__close {
::v-deep .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
/deep/.el-table th.el-table__cell.is-leaf,
::v-deep.el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell {
text-align: center;
}
/deep/ .el-table__cell {
::v-deep .el-table__cell {
text-align: center;
}
h3 {
text-align: left;
}
/deep/.el-dialog__body {
::v-deep.el-dialog__body {
padding: 0 10px;
h3 {
margin: 10px 0;
}
}
/deep/ .el-descriptions-item__container .el-descriptions-item__label {
::v-deep .el-descriptions-item__container .el-descriptions-item__label {
font-weight: bold;
width: 100px;
text-align: right;
}
/deep/.el-tabs__content {
::v-deep.el-tabs__content {
overflow: auto;
height: 500px;
padding-bottom: 20px;
......@@ -905,7 +905,7 @@ h3 {
height: 300px;
overflow: auto;
box-sizing: border-box;
/deep/ .el-table {
::v-deep .el-table {
width: 96% !important;
height: 300px;
overflow: auto;
......@@ -957,33 +957,33 @@ h3 {
}
}
/deep/.el-switch__core {
::v-deep.el-switch__core {
height: 30px;
width: 79px !important;
border-radius: 20px;
}
/deep/.el-switch.is-checked .el-switch__core::after {
::v-deep.el-switch.is-checked .el-switch__core::after {
margin-left: -28px;
}
/deep/ .el-switch_label {
::v-deep .el-switch_label {
height: 30px;
line-height: 30px;
}
/deep/.el-switch {
::v-deep.el-switch {
height: 30px;
line-height: 30px;
border-radius: 20px;
}
/deep/ .el-switch__label * {
::v-deep .el-switch__label * {
font-size: 12px;
}
/deep/.el-switch__core:after {
::v-deep.el-switch__core:after {
width: 26px;
height: 26px;
}
/deep/.el-switch__label--left {
::v-deep.el-switch__label--left {
position: absolute;
left: 30px;
color: #fff;
......@@ -992,7 +992,7 @@ h3 {
user-select: none;
}
/deep/.el-switch__label--right {
::v-deep.el-switch__label--right {
position: absolute;
right: 30px;
color: #fff;
......@@ -1001,14 +1001,14 @@ h3 {
user-select: none;
}
/deep/.el-switch__label--right.is-active {
::v-deep.el-switch__label--right.is-active {
z-index: 1111;
color: grey !important;
height: 30px;
line-height: 30px;
}
/deep/.el-switch__label--left.is-active {
::v-deep.el-switch__label--left.is-active {
z-index: 1111;
color: #fff !important;
height: 30px;
......
This diff could not be displayed because it is too large.
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!