Commit 37a43cbe by 史敦盼

督查通报,督查问题初版,典型案例库修改

1 parent e2f74c08
...@@ -723,3 +723,11 @@ export function qyNeedReview(params) { ...@@ -723,3 +723,11 @@ export function qyNeedReview(params) {
export function editFeedback(params) { export function editFeedback(params) {
return post(EADC_ARRCHITECTURE + '/prj-need-file/upd', params) return post(EADC_ARRCHITECTURE + '/prj-need-file/upd', params)
} }
// 架构督查-督查通报管理
export function updReportManage(params) {
return post(EADC_ARRCHITECTURE + '/reportManage/upd', params)
}
export function delReportManage(params) {
return post(EADC_ARRCHITECTURE + '/reportManage/del', params)
}
...@@ -25,3 +25,7 @@ export const queryArcAstSys = EADC_ARRCHITECTURE + '/arc-ast-sys/' ...@@ -25,3 +25,7 @@ export const queryArcAstSys = EADC_ARRCHITECTURE + '/arc-ast-sys/'
// 架构督查- 督查通报管理列表 // 架构督查- 督查通报管理列表
export const querySupervisionNotifyManagement = export const querySupervisionNotifyManagement =
EADC_ARRCHITECTURE + '/reportManage/selectReportManage' EADC_ARRCHITECTURE + '/reportManage/selectReportManage'
// 架构督查- 督查问题整改列表
export const querySupervisionProblem =
EADC_ARRCHITECTURE + '/rectifyReform/selectRectifyReform'
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* @Autor: pan * @Autor: pan
* @Date: 2024-03-12 14:55:59 * @Date: 2024-03-12 14:55:59
* @LastEditors: pan * @LastEditors: pan
* @LastEditTime: 2024-03-20 09:29:25 * @LastEditTime: 2024-03-26 15:54:50
--> -->
<!-- /** <!-- /**
* 搜索栏公共组件 * 搜索栏公共组件
...@@ -164,6 +164,11 @@ export default { ...@@ -164,6 +164,11 @@ export default {
.el-select { .el-select {
width: 100% !important; width: 100% !important;
} }
.el-rate {
display: flex;
height: 40px;
align-items: center;
}
} }
} }
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* @Autor: pan * @Autor: pan
* @Date: 2024-03-12 15:11:47 * @Date: 2024-03-12 15:11:47
* @LastEditors: pan * @LastEditors: pan
* @LastEditTime: 2024-03-26 11:13:09 * @LastEditTime: 2024-03-26 15:30:38
--> -->
<template> <template>
<div class="form-item"> <div class="form-item">
...@@ -52,6 +52,12 @@ ...@@ -52,6 +52,12 @@
>{{ item.label }}</el-radio >{{ item.label }}</el-radio
> >
</el-radio-group> </el-radio-group>
<el-rate
v-if="isRate"
v-bind="bindProps"
v-on="bindEvents"
v-model="currentVal"
></el-rate>
<!-- datetimerange/daterange --> <!-- datetimerange/daterange -->
<!-- <el-date-picker <!-- <el-date-picker
v-if="isDatePickerDateRange" v-if="isDatePickerDateRange"
...@@ -183,6 +189,10 @@ export default { ...@@ -183,6 +189,10 @@ export default {
isRadio() { isRadio() {
return this.itemOptions.element === 'el-radio' return this.itemOptions.element === 'el-radio'
}, },
// el-rate
isRate() {
return this.itemOptions.element === 'el-rate'
},
// el-date-picker (type: datetimerange/daterange) // el-date-picker (type: datetimerange/daterange)
isDatePickerDateRange() { isDatePickerDateRange() {
const isDatePicker = this.itemOptions.element === 'el-date-picker' const isDatePicker = this.itemOptions.element === 'el-date-picker'
......
...@@ -279,6 +279,17 @@ const routes = [ ...@@ -279,6 +279,17 @@ const routes = [
name: 'conceptualRelated', name: 'conceptualRelated',
component: () => import('@/views/conceptualRelated/index.vue'), component: () => import('@/views/conceptualRelated/index.vue'),
}, },
{
path: '/main/supervisionNotifyManagement', // 架构督查督查通报管理
name: 'supervisionNotifyManagement',
component: () =>
import('@/views/supervisionNotifyManagement/index.vue'),
},
{
path: '/main/supervisionProblemEdit', // 架构督查督查问题整改
name: 'supervisionProblemEdit',
component: () => import('@/views/supervisionProblemEdit/index.vue'),
},
], ],
}, },
] ]
......
...@@ -206,11 +206,11 @@ export const menuOptions = [ ...@@ -206,11 +206,11 @@ export const menuOptions = [
}, },
{ {
name: '督查通报管理', name: '督查通报管理',
path: '', path: '/main/supervisionNotifyManagement',
}, },
{ {
name: '督查问整改', name: '督查问整改',
path: '', path: '/main/supervisionProblemEdit',
}, },
{ {
name: '架构遵从检查', name: '架构遵从检查',
......
<template>
<el-dialog
:title="title"
:visible.sync="showDialog"
:close-on-click-modal="false"
width="50%"
@close="handleClose()"
@open="handleOpen"
>
<div>
<Form
ref="editForm"
:form-options="formOptions"
label-width="120px"
></Form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose()" size="mini">取 消</el-button>
<el-button type="primary" @click="handleSubmit" size="mini"
>保 存</el-button
>
</span></el-dialog
>
</template>
<script>
import Form from '@/components/Form.vue'
import { updReportManage } from '@/api'
export default {
props: {
title: {
type: String,
default: '',
},
visible: {
type: Boolean,
default: false,
},
rowData: {
type: Object,
default: () => {},
},
},
data() {
return {}
},
components: {
Form,
},
computed: {
formOptions() {
return [
{
label: '项目名称', // label文字
prop: 'prjName', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请选择', // elementui组件属性
span: 12,
// rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
},
{
label: '承建单位', // label文字
prop: 'buildOrg', // 字段名
element: 'el-select', // 指定elementui组件
placeholder: '请选择', // elementui组件属性
span: 12,
},
{
label: '通报时间', // label文字
prop: 'reportTime', // 字段名
type: 'date',
valueFormat: 'yyyy-MM-dd',
element: 'el-date-picker', // 指定elementui组件
placeholder: '请选择', // elementui组件属性
span: 12,
},
{
label: '项目评分', // label文字
prop: 'prjScore', // 字段名
element: 'el-rate', // 指定elementui组件
span: 12,
colors: ['#99A9BF', '#F7BA2A', '#FF9900'],
allowHalf: true,
},
{
label: '通报内容', // label文字
prop: 'opinion', // 字段名
type: 'textarea',
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
span: 24,
},
]
},
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
},
mounted() {},
methods: {
handleSubmit() {
this.$refs['editForm'].onValidate(() => {
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
const formInfo = this.$refs['editForm'].getData()
const params = {
...this.rowData,
...formInfo,
}
updReportManage(params).then((res) => {
if (res.code === 200) {
loading.close()
this.$message.success('保存成功')
this.showDialog = false
this.handleClose()
this.$emit('querySearch')
}
})
})
},
handleClose() {
this.showDialog = false
this.formOptions.forEach((v) => {
v.initValue = ''
})
this.$refs['editForm'].addInitValue()
this.$refs['editForm'].onReset()
},
handleOpen() {
this.formOptions.forEach((v) => {
if (v.prop === 'prjScore') {
v.initValue = +this.rowData[v.prop]
} else {
v.initValue = this.rowData[v.prop]
}
})
this.$nextTick(() => {
this.$refs['editForm'].addInitValue()
})
},
},
}
</script>
<style scoped lang="scss">
@import '@/styles/elementui.scss';
</style>
<!--
* @Description: 架构督查-督查通报管理
* @Version: 2.0 关闭时提示是否是典型问题
* @Autor: pan
* @Date: 2024-03-26 10:53:48
* @LastEditors: pan
* @LastEditTime: 2024-03-26 16:34:20
-->
<template>
<div class="searchTable">
<list-page>
<!-- 查询表单插槽 -->
<template #formWrap>
<SearchForm @onSearch="querySearch" :form-options="formOptions" />
</template>
<!-- 表格插槽 -->
<template #tableWrap>
<table-config
ref="searchTable"
@selection-change="selectionChange"
:query="query"
:columns="columns"
id-key="elementId"
>
</table-config>
</template>
</list-page>
<!-- 新增弹窗 -->
<Edit
@querySearch="querySearch"
:visible.sync="visible"
:row-data="rowData"
:title="dialogTitle"
></Edit>
<!-- <ApprovalDialog
:row-data="rowData"
@querySearch="querySearch"
title="审批"
:visible.sync="approvalVisible"
/> -->
</div>
</template>
<script>
import ListPage from '@/components/ListPage.vue'
import SearchForm from '@/components/SearchForm.vue'
import TableConfig from '@/components/TableConfig.vue'
import Edit from './Edit.vue'
import { updReportManage, delReportManage } from '@/api/index.js'
import { querySupervisionNotifyManagement } from '@/api/interface'
import { approvalStatusOptions } from '@/utils/dictionary'
export default {
name: 'supervisionNotifyManagement',
components: {
ListPage,
SearchForm,
TableConfig,
Edit,
},
data() {
return {
selectRows: [],
query: {
url: querySupervisionNotifyManagement,
method: 'post',
queryParam: {},
},
visible: false,
rowData: {},
dialogTitle: '',
approvalVisible: false,
}
},
computed: {
formOptions() {
return [
{
label: '项目名称', // label文字
prop: 'prjName', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
},
]
},
columns() {
return [
{ label: '序号', type: 'index', width: '80px' },
{ label: '项目名称', prop: 'prjName' },
{ label: '承建单位', prop: 'buildOrg', width: '300px' },
{
label: '通报时间',
width: '160px',
prop: 'reportTime',
},
{ label: '版本号', width: '100px', prop: 'version' },
{ label: '修改意见', prop: 'opinion', width: '220px' },
{
label: '操作',
type: 'operation',
width: '520px',
actionButtons: [
{
title: '编辑',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-edit',
},
{
title: '查看',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-view',
},
{
title: '提交',
size: 'mini',
icon: 'el-icon-circle-check',
type: 'primary',
plain: true,
},
{
title: '审批',
size: 'mini',
icon: 'el-icon-s-check',
type: 'primary',
plain: true,
},
{
title: '发布',
size: 'mini',
icon: 'el-icon-s-check',
type: 'primary',
plain: true,
},
{
title: '删除',
type: 'danger',
size: 'mini',
plain: true,
icon: 'el-icon-delete',
},
],
callback: (row, title) => {
this.fnOperation(row, title)
},
},
]
},
},
created() {},
methods: {
// 表格勾选的数据
selectionChange(data) {
this.selectRows = data
},
querySearch(data) {
this.query.queryParam = {
...this.query.queryParam,
...data,
}
this.$refs.searchTable.queryData()
},
fnAdd() {
this.rowData = {}
this.dialogTitle = '新增批次计划'
this.visible = true
},
/**
* @description: 操作按钮
* @param {Object} row 当前操作行数据
* @param {String} title 当前操作按钮名称
* @author: pan
*/
fnOperation(row, title) {
switch (title) {
case '编辑':
this.fnEdit(row)
break
case '查看':
// this.fnEdit(row)
break
case '提交':
this.fnSubmit(row, '提交')
break
case '审批':
// this.fnApproval(row)
break
case '发布':
this.fnSubmit(row, '发布')
break
case '删除':
this.fnDel(row)
break
default:
break
}
},
fnApproval(row) {
this.rowData = row
this.approvalVisible = true
},
fnSubmit(row, text) {
this.$confirm(`是否确认${text}?`, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
const params = {
...row,
state: text === '提交' ? 1 : 3,
}
updReportManage(params).then((res) => {
if (res.code === 200) {
this.$message.success(`${text}成功`)
this.$refs.searchTable.queryData()
} else {
this.$message.error(res.msg)
}
})
})
.catch(() => {})
},
fnDel(row) {
this.$confirm('是否确认删除?', '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
const params = {
...row,
}
delReportManage(params).then((res) => {
if (res.code === 200) {
this.$message.success('删除成功')
this.$refs.searchTable.queryData()
} else {
this.$message.error('删除失败')
}
})
})
.catch(() => {})
},
fnEdit(row) {
this.dialogTitle = '编辑通报'
this.rowData = row
this.visible = true
},
},
}
</script>
<style scoped lang="scss">
@import '@/styles/common.scss';
</style>
<!--
* @Description: 架构督查-督查问题整改
* @Version: 2.0
* @Autor: pan
* @Date: 2024-03-26 10:53:48
* @LastEditors: pan
* @LastEditTime: 2024-03-26 16:42:10
-->
<template>
<div class="searchTable">
<list-page>
<!-- 查询表单插槽 -->
<template #formWrap>
<SearchForm @onSearch="querySearch" :form-options="formOptions" />
</template>
<!-- 表格插槽 -->
<template #tableWrap>
<table-config
ref="searchTable"
@selection-change="selectionChange"
:query="query"
:columns="columns"
id-key="elementId"
>
</table-config>
</template>
</list-page>
<!-- 新增弹窗 -->
<!-- <Edit
@querySearch="querySearch"
:visible.sync="visible"
:row-data="rowData"
:title="dialogTitle"
></Edit> -->
<!-- <ApprovalDialog
:row-data="rowData"
@querySearch="querySearch"
title="审批"
:visible.sync="approvalVisible"
/> -->
</div>
</template>
<script>
import ListPage from '@/components/ListPage.vue'
import SearchForm from '@/components/SearchForm.vue'
import TableConfig from '@/components/TableConfig.vue'
// import Edit from './Edit.vue'
import { updReportManage, delReportManage } from '@/api/index.js'
import { querySupervisionProblem } from '@/api/interface'
import { approvalStatusOptions } from '@/utils/dictionary'
export default {
name: 'supervisionProblemEdit',
components: {
ListPage,
SearchForm,
TableConfig,
// Edit,
},
data() {
return {
selectRows: [],
query: {
url: querySupervisionProblem,
method: 'post',
queryParam: {},
},
visible: false,
rowData: {},
dialogTitle: '',
approvalVisible: false,
}
},
computed: {
formOptions() {
return [
{
label: '项目名称', // label文字
prop: 'prjName', // 字段名
element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性
},
]
},
columns() {
return [
{ label: '序号', type: 'index', width: '80px' },
{ label: '项目名称', prop: 'prjName' },
{ label: '归属部门', prop: 'buildOrg', width: '300px' },
{
label: '承建单位',
width: '160px',
prop: 'reportTime',
},
{ label: '问题类型', width: '100px', prop: 'version' },
{ label: '问题描述', prop: 'opinion' },
{
label: '操作',
type: 'operation',
width: '520px',
actionButtons: [
{
title: '编辑',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-edit',
},
{
title: '查看',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-view',
},
{
title: '提交',
size: 'mini',
icon: 'el-icon-circle-check',
type: 'primary',
plain: true,
},
{
title: '审批',
size: 'mini',
icon: 'el-icon-s-check',
type: 'primary',
plain: true,
},
{
title: '发布',
size: 'mini',
icon: 'el-icon-s-check',
type: 'primary',
plain: true,
},
{
title: '删除',
type: 'danger',
size: 'mini',
plain: true,
icon: 'el-icon-delete',
},
],
callback: (row, title) => {
this.fnOperation(row, title)
},
},
]
},
},
created() {},
methods: {
// 表格勾选的数据
selectionChange(data) {
this.selectRows = data
},
querySearch(data) {
this.query.queryParam = {
...this.query.queryParam,
...data,
}
this.$refs.searchTable.queryData()
},
fnAdd() {
this.rowData = {}
this.dialogTitle = '新增批次计划'
this.visible = true
},
/**
* @description: 操作按钮
* @param {Object} row 当前操作行数据
* @param {String} title 当前操作按钮名称
* @author: pan
*/
fnOperation(row, title) {
switch (title) {
case '编辑':
this.fnEdit(row)
break
case '查看':
// this.fnEdit(row)
break
case '提交':
this.fnSubmit(row, '提交')
break
case '审批':
// this.fnApproval(row)
break
case '发布':
this.fnSubmit(row, '发布')
break
case '删除':
this.fnDel(row)
break
default:
break
}
},
fnApproval(row) {
this.rowData = row
this.approvalVisible = true
},
fnSubmit(row, text) {
this.$confirm(`是否确认${text}?`, '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
const params = {
...row,
state: text === '提交' ? 1 : 3,
}
updReportManage(params).then((res) => {
if (res.code === 200) {
this.$message.success(`${text}成功`)
this.$refs.searchTable.queryData()
} else {
this.$message.error(res.msg)
}
})
})
.catch(() => {})
},
fnDel(row) {
this.$confirm('是否确认删除?', '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
const params = {
...row,
}
delReportManage(params).then((res) => {
if (res.code === 200) {
this.$message.success('删除成功')
this.$refs.searchTable.queryData()
} else {
this.$message.error('删除失败')
}
})
})
.catch(() => {})
},
fnEdit(row) {
this.dialogTitle = '编辑通报'
this.rowData = row
this.visible = true
},
},
}
</script>
<style scoped lang="scss">
@import '@/styles/common.scss';
</style>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!