新增录入页面
This commit is contained in:
parent
20ca0cd974
commit
087614ead6
@ -21,7 +21,7 @@
|
|||||||
</noscript>
|
</noscript>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<div class="first-loading-wrp">
|
<div class="first-loading-wrp">
|
||||||
<h1>Snowy</h1>
|
<h1>内蒙雄伟光大</h1>
|
||||||
<div class="loading-wrp">
|
<div class="loading-wrp">
|
||||||
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
|
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
86
src/api/modular/main/scrhidedata/scrHideDataManage.js
Normal file
86
src/api/modular/main/scrhidedata/scrHideDataManage.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
import { axios } from '@/utils/request'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询隐患整改
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:15:20
|
||||||
|
*/
|
||||||
|
export function scrHideDataPage (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrHideData/page',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 隐患整改列表
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:15:20
|
||||||
|
*/
|
||||||
|
export function scrHideDataList (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrHideData/list',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加隐患整改
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:15:20
|
||||||
|
*/
|
||||||
|
export function scrHideDataAdd (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrHideData/add',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑隐患整改
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:15:20
|
||||||
|
*/
|
||||||
|
export function scrHideDataEdit (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrHideData/edit',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除隐患整改
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:15:20
|
||||||
|
*/
|
||||||
|
export function scrHideDataDelete (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrHideData/delete',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出隐患整改
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:15:20
|
||||||
|
*/
|
||||||
|
export function scrHideDataExport (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrHideData/export',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter,
|
||||||
|
responseType: 'blob'
|
||||||
|
})
|
||||||
|
}
|
||||||
86
src/api/modular/main/scrmeterdata/scrMeterDataManage.js
Normal file
86
src/api/modular/main/scrmeterdata/scrMeterDataManage.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
import { axios } from '@/utils/request'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询电表
|
||||||
|
*
|
||||||
|
* @author 2
|
||||||
|
* @date 2025-10-13 17:55:42
|
||||||
|
*/
|
||||||
|
export function scrMeterDataPage (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrMeterData/page',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电表列表
|
||||||
|
*
|
||||||
|
* @author 2
|
||||||
|
* @date 2025-10-13 17:55:42
|
||||||
|
*/
|
||||||
|
export function scrMeterDataList (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrMeterData/list',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加电表
|
||||||
|
*
|
||||||
|
* @author 2
|
||||||
|
* @date 2025-10-13 17:55:42
|
||||||
|
*/
|
||||||
|
export function scrMeterDataAdd (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrMeterData/add',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑电表
|
||||||
|
*
|
||||||
|
* @author 2
|
||||||
|
* @date 2025-10-13 17:55:42
|
||||||
|
*/
|
||||||
|
export function scrMeterDataEdit (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrMeterData/edit',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除电表
|
||||||
|
*
|
||||||
|
* @author 2
|
||||||
|
* @date 2025-10-13 17:55:42
|
||||||
|
*/
|
||||||
|
export function scrMeterDataDelete (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrMeterData/delete',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出电表
|
||||||
|
*
|
||||||
|
* @author 2
|
||||||
|
* @date 2025-10-13 17:55:42
|
||||||
|
*/
|
||||||
|
export function scrMeterDataExport (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrMeterData/export',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter,
|
||||||
|
responseType: 'blob'
|
||||||
|
})
|
||||||
|
}
|
||||||
86
src/api/modular/main/scrriskdata/scrRiskDataManage.js
Normal file
86
src/api/modular/main/scrriskdata/scrRiskDataManage.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
import { axios } from '@/utils/request'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询风险排查
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:02:00
|
||||||
|
*/
|
||||||
|
export function scrRiskDataPage (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrRiskData/page',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 风险排查列表
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:02:00
|
||||||
|
*/
|
||||||
|
export function scrRiskDataList (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrRiskData/list',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加风险排查
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:02:00
|
||||||
|
*/
|
||||||
|
export function scrRiskDataAdd (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrRiskData/add',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑风险排查
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:02:00
|
||||||
|
*/
|
||||||
|
export function scrRiskDataEdit (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrRiskData/edit',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除风险排查
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:02:00
|
||||||
|
*/
|
||||||
|
export function scrRiskDataDelete (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrRiskData/delete',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出风险排查
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:02:00
|
||||||
|
*/
|
||||||
|
export function scrRiskDataExport (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrRiskData/export',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter,
|
||||||
|
responseType: 'blob'
|
||||||
|
})
|
||||||
|
}
|
||||||
86
src/api/modular/main/scrworktask/scrWorkTaskManage.js
Normal file
86
src/api/modular/main/scrworktask/scrWorkTaskManage.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
import { axios } from '@/utils/request'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询作业票
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:49:44
|
||||||
|
*/
|
||||||
|
export function scrWorkTaskPage (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrWorkTask/page',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 作业票列表
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:49:44
|
||||||
|
*/
|
||||||
|
export function scrWorkTaskList (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrWorkTask/list',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加作业票
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:49:44
|
||||||
|
*/
|
||||||
|
export function scrWorkTaskAdd (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrWorkTask/add',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑作业票
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:49:44
|
||||||
|
*/
|
||||||
|
export function scrWorkTaskEdit (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrWorkTask/edit',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除作业票
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:49:44
|
||||||
|
*/
|
||||||
|
export function scrWorkTaskDelete (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrWorkTask/delete',
|
||||||
|
method: 'post',
|
||||||
|
data: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出作业票
|
||||||
|
*
|
||||||
|
* @author 1
|
||||||
|
* @date 2025-10-13 17:49:44
|
||||||
|
*/
|
||||||
|
export function scrWorkTaskExport (parameter) {
|
||||||
|
return axios({
|
||||||
|
url: '/scrWorkTask/export',
|
||||||
|
method: 'get',
|
||||||
|
params: parameter,
|
||||||
|
responseType: 'blob'
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -2,9 +2,9 @@
|
|||||||
<div class="footer">
|
<div class="footer">
|
||||||
<div class="links">
|
<div class="links">
|
||||||
</div>
|
</div>
|
||||||
<div class="copyright">
|
<!-- <div class="copyright">
|
||||||
Copyright © 2020 <a target="_blank" href="https://www.xiaonuo.vip/">小诺开源技术</a> All rights reserved. Snowy 1.8
|
Copyright © 2020 <a target="_blank" href="https://www.xiaonuo.vip/">小诺开源技术</a> All rights reserved. Snowy 1.8
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@ -25,7 +25,7 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'Snowy',
|
default: '内蒙雄伟光大',
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
showTitle: {
|
showTitle: {
|
||||||
|
|||||||
@ -16,14 +16,14 @@
|
|||||||
<route-view></route-view>
|
<route-view></route-view>
|
||||||
|
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<div class="links">
|
<!-- <div class="links">
|
||||||
<a href="_self">帮助</a>
|
<a href="_self">帮助</a>
|
||||||
<a href="_self">隐私</a>
|
<a href="_self">隐私</a>
|
||||||
<a href="_self">条款</a>
|
<a href="_self">条款</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="copyright">
|
<div class="copyright">
|
||||||
Copyright © 2020 <a target="_blank" href="https://www.xiaonuo.vip/">小诺开源技术</a> All rights reserved. Snowy 1.8
|
Copyright © 2020 <a target="_blank" href="https://www.xiaonuo.vip/">小诺开源技术</a> All rights reserved. Snowy 1.8
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
116
src/views/main/scrhidedata/addForm.vue
Normal file
116
src/views/main/scrhidedata/addForm.vue
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
title="新增隐患整改"
|
||||||
|
:width="900"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleSubmit"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
>
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-form-item
|
||||||
|
label="年份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入年份" style="width: 100%" v-decorator="['year', {rules: [{required: true, message: '请输入年份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="月份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入月份" style="width: 100%" v-decorator="['month', {rules: [{required: true, message: '请输入月份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="隐患数量"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入隐患数量" style="width: 100%" v-decorator="['yhsl', {rules: [{required: true, message: '请输入隐患数量!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="已整改"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入已整改" style="width: 100%" v-decorator="['yzg', {rules: [{required: true, message: '请输入已整改!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="未整改"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入未整改" style="width: 100%" v-decorator="['wzg', {rules: [{required: true, message: '请输入未整改!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { scrHideDataAdd } from '@/api/modular/main/scrhidedata/scrHideDataManage'
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 15 }
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化方法
|
||||||
|
add (record) {
|
||||||
|
this.visible = true
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 提交表单
|
||||||
|
*/
|
||||||
|
handleSubmit () {
|
||||||
|
const { form: { validateFields } } = this
|
||||||
|
this.confirmLoading = true
|
||||||
|
validateFields((errors, values) => {
|
||||||
|
if (!errors) {
|
||||||
|
for (const key in values) {
|
||||||
|
if (typeof (values[key]) === 'object' && values[key] != null) {
|
||||||
|
values[key] = JSON.stringify(values[key])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scrHideDataAdd(values).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('新增成功')
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$emit('ok', values)
|
||||||
|
this.handleCancel()
|
||||||
|
} else {
|
||||||
|
this.$message.error('新增失败')// + res.message
|
||||||
|
}
|
||||||
|
}).finally((res) => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel () {
|
||||||
|
this.form.resetFields()
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
126
src/views/main/scrhidedata/editForm.vue
Normal file
126
src/views/main/scrhidedata/editForm.vue
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
title="编辑隐患整改"
|
||||||
|
:width="900"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleSubmit"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
>
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="年份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入年份" style="width: 100%" v-decorator="['year', {rules: [{required: true, message: '请输入年份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="月份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入月份" style="width: 100%" v-decorator="['month', {rules: [{required: true, message: '请输入月份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="隐患数量"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入隐患数量" style="width: 100%" v-decorator="['yhsl', {rules: [{required: true, message: '请输入隐患数量!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="已整改"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入已整改" style="width: 100%" v-decorator="['yzg', {rules: [{required: true, message: '请输入已整改!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="未整改"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入未整改" style="width: 100%" v-decorator="['wzg', {rules: [{required: true, message: '请输入未整改!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { scrHideDataEdit } from '@/api/modular/main/scrhidedata/scrHideDataManage'
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 15 }
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化方法
|
||||||
|
edit (record) {
|
||||||
|
this.visible = true
|
||||||
|
setTimeout(() => {
|
||||||
|
this.form.setFieldsValue(
|
||||||
|
{
|
||||||
|
id: record.id,
|
||||||
|
year: record.year,
|
||||||
|
month: record.month,
|
||||||
|
yhsl: record.yhsl,
|
||||||
|
yzg: record.yzg,
|
||||||
|
wzg: record.wzg
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}, 100)
|
||||||
|
},
|
||||||
|
handleSubmit () {
|
||||||
|
const { form: { validateFields } } = this
|
||||||
|
this.confirmLoading = true
|
||||||
|
validateFields((errors, values) => {
|
||||||
|
if (!errors) {
|
||||||
|
for (const key in values) {
|
||||||
|
if (typeof (values[key]) === 'object' && values[key] != null) {
|
||||||
|
values[key] = JSON.stringify(values[key])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scrHideDataEdit(values).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('编辑成功')
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$emit('ok', values)
|
||||||
|
this.handleCancel()
|
||||||
|
} else {
|
||||||
|
this.$message.error('编辑失败')// + res.message
|
||||||
|
}
|
||||||
|
}).finally((res) => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel () {
|
||||||
|
this.form.resetFields()
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
182
src/views/main/scrhidedata/index.vue
Normal file
182
src/views/main/scrhidedata/index.vue
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<a-card :bordered="false" :bodyStyle="tstyle">
|
||||||
|
<div class="table-page-search-wrapper">
|
||||||
|
<a-form layout="inline">
|
||||||
|
<a-row :gutter="48">
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="年份">
|
||||||
|
<a-input-number v-model="queryParam.year" style="width: 100%" allow-clear placeholder="请输入年份"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="月份">
|
||||||
|
<a-input-number v-model="queryParam.month" style="width: 100%" allow-clear placeholder="请输入月份"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<span class="table-page-search-submitButtons">
|
||||||
|
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
|
||||||
|
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
|
||||||
|
</span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
</a-card>
|
||||||
|
<a-card :bordered="false">
|
||||||
|
<s-table
|
||||||
|
ref="table"
|
||||||
|
:columns="columns"
|
||||||
|
:data="loadData"
|
||||||
|
:alert="options.alert"
|
||||||
|
:rowKey="(record) => record.id"
|
||||||
|
:rowSelection="options.rowSelection"
|
||||||
|
>
|
||||||
|
<template class="table-operator" slot="operator">
|
||||||
|
<a-button type="primary" icon="plus" @click="$refs.addForm.add()">新增</a-button>
|
||||||
|
<a-button type="danger" :disabled="selectedRowKeys.length < 1" @click="batchDelete"><a-icon type="delete"/>批量删除</a-button>
|
||||||
|
<x-down
|
||||||
|
ref="batchExport"
|
||||||
|
@batchExport="batchExport"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<span slot="action" slot-scope="text, record">
|
||||||
|
<a @click="$refs.editForm.edit(record)">编辑</a>
|
||||||
|
<a-divider type="vertical"/>
|
||||||
|
<a-popconfirm placement="topRight" title="确认删除?" @confirm="() => singleDelete(record)">
|
||||||
|
<a>删除</a>
|
||||||
|
</a-popconfirm>
|
||||||
|
</span>
|
||||||
|
</s-table>
|
||||||
|
<add-form ref="addForm" @ok="handleOk" />
|
||||||
|
<edit-form ref="editForm" @ok="handleOk" />
|
||||||
|
</a-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { STable, XDown } from '@/components'
|
||||||
|
import { scrHideDataPage, scrHideDataDelete, scrHideDataExport } from '@/api/modular/main/scrhidedata/scrHideDataManage'
|
||||||
|
import addForm from './addForm.vue'
|
||||||
|
import editForm from './editForm.vue'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
STable,
|
||||||
|
addForm,
|
||||||
|
editForm,
|
||||||
|
XDown
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
// 查询参数
|
||||||
|
queryParam: {},
|
||||||
|
// 表头
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '年份',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'year'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '月份',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'month'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '隐患数量',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'yhsl'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '已整改',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'yzg'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '未整改',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'wzg'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
|
||||||
|
// 加载数据方法 必须为 Promise 对象
|
||||||
|
loadData: parameter => {
|
||||||
|
return scrHideDataPage(Object.assign(parameter, this.queryParam)).then((res) => {
|
||||||
|
return res.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
selectedRowKeys: [],
|
||||||
|
selectedRows: [],
|
||||||
|
options: {
|
||||||
|
alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
|
||||||
|
rowSelection: {
|
||||||
|
selectedRowKeys: this.selectedRowKeys,
|
||||||
|
onChange: this.onSelectChange
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
this.columns.push({
|
||||||
|
title: '操作',
|
||||||
|
width: '150px',
|
||||||
|
dataIndex: 'action',
|
||||||
|
scopedSlots: { customRender: 'action' }
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* 单个删除
|
||||||
|
*/
|
||||||
|
singleDelete (record) {
|
||||||
|
const param = [{ 'id': record.id }]
|
||||||
|
this.scrHideDataDelete(param)
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*/
|
||||||
|
batchDelete () {
|
||||||
|
const paramIds = this.selectedRowKeys.map((d) => {
|
||||||
|
return { 'id': d }
|
||||||
|
})
|
||||||
|
this.scrHideDataDelete(paramIds)
|
||||||
|
},
|
||||||
|
scrHideDataDelete (record) {
|
||||||
|
scrHideDataDelete(record).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('删除成功')
|
||||||
|
this.$refs.table.clearRefreshSelected()
|
||||||
|
} else {
|
||||||
|
this.$message.error('删除失败') // + res.message
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 批量导出
|
||||||
|
*/
|
||||||
|
batchExport () {
|
||||||
|
const paramIds = this.selectedRowKeys.map((d) => {
|
||||||
|
return { 'id': d }
|
||||||
|
})
|
||||||
|
scrHideDataExport(paramIds).then((res) => {
|
||||||
|
this.$refs.batchExport.downloadfile(res)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleOk () {
|
||||||
|
this.$refs.table.refresh()
|
||||||
|
},
|
||||||
|
onSelectChange (selectedRowKeys, selectedRows) {
|
||||||
|
this.selectedRowKeys = selectedRowKeys
|
||||||
|
this.selectedRows = selectedRows
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="less">
|
||||||
|
.table-operator {
|
||||||
|
margin-bottom: 18px;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
116
src/views/main/scrmeterdata/addForm.vue
Normal file
116
src/views/main/scrmeterdata/addForm.vue
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
title="新增电表"
|
||||||
|
:width="900"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleSubmit"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
>
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-form-item
|
||||||
|
label="电表"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input placeholder="请输入电表" v-decorator="['name', {rules: [{required: true, message: '请输入电表!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="年份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入年份" style="width: 100%" v-decorator="['year', {rules: [{required: true, message: '请输入年份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="月份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入月份" style="width: 100%" v-decorator="['month', {rules: [{required: true, message: '请输入月份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="累计电量"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入累计电量" style="width: 100%" v-decorator="['totalEcnum', {rules: [{required: true, message: '请输入累计电量!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="平均功率"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入平均功率" style="width: 100%" v-decorator="['avgPower', {rules: [{required: true, message: '请输入平均功率!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { scrMeterDataAdd } from '@/api/modular/main/scrmeterdata/scrMeterDataManage'
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 15 }
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化方法
|
||||||
|
add (record) {
|
||||||
|
this.visible = true
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 提交表单
|
||||||
|
*/
|
||||||
|
handleSubmit () {
|
||||||
|
const { form: { validateFields } } = this
|
||||||
|
this.confirmLoading = true
|
||||||
|
validateFields((errors, values) => {
|
||||||
|
if (!errors) {
|
||||||
|
for (const key in values) {
|
||||||
|
if (typeof (values[key]) === 'object' && values[key] != null) {
|
||||||
|
values[key] = JSON.stringify(values[key])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scrMeterDataAdd(values).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('新增成功')
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$emit('ok', values)
|
||||||
|
this.handleCancel()
|
||||||
|
} else {
|
||||||
|
this.$message.error('新增失败')// + res.message
|
||||||
|
}
|
||||||
|
}).finally((res) => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel () {
|
||||||
|
this.form.resetFields()
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
126
src/views/main/scrmeterdata/editForm.vue
Normal file
126
src/views/main/scrmeterdata/editForm.vue
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
title="编辑电表"
|
||||||
|
:width="900"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleSubmit"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
>
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="电表"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input placeholder="请输入电表" v-decorator="['name', {rules: [{required: true, message: '请输入电表!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="年份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入年份" style="width: 100%" v-decorator="['year', {rules: [{required: true, message: '请输入年份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="月份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入月份" style="width: 100%" v-decorator="['month', {rules: [{required: true, message: '请输入月份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="累计电量"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入累计电量" style="width: 100%" v-decorator="['totalEcnum', {rules: [{required: true, message: '请输入累计电量!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="平均功率"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入平均功率" style="width: 100%" v-decorator="['avgPower', {rules: [{required: true, message: '请输入平均功率!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { scrMeterDataEdit } from '@/api/modular/main/scrmeterdata/scrMeterDataManage'
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 15 }
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化方法
|
||||||
|
edit (record) {
|
||||||
|
this.visible = true
|
||||||
|
setTimeout(() => {
|
||||||
|
this.form.setFieldsValue(
|
||||||
|
{
|
||||||
|
id: record.id,
|
||||||
|
name: record.name,
|
||||||
|
year: record.year,
|
||||||
|
month: record.month,
|
||||||
|
totalEcnum: record.totalEcnum,
|
||||||
|
avgPower: record.avgPower
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}, 100)
|
||||||
|
},
|
||||||
|
handleSubmit () {
|
||||||
|
const { form: { validateFields } } = this
|
||||||
|
this.confirmLoading = true
|
||||||
|
validateFields((errors, values) => {
|
||||||
|
if (!errors) {
|
||||||
|
for (const key in values) {
|
||||||
|
if (typeof (values[key]) === 'object' && values[key] != null) {
|
||||||
|
values[key] = JSON.stringify(values[key])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scrMeterDataEdit(values).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('编辑成功')
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$emit('ok', values)
|
||||||
|
this.handleCancel()
|
||||||
|
} else {
|
||||||
|
this.$message.error('编辑失败')// + res.message
|
||||||
|
}
|
||||||
|
}).finally((res) => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel () {
|
||||||
|
this.form.resetFields()
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
198
src/views/main/scrmeterdata/index.vue
Normal file
198
src/views/main/scrmeterdata/index.vue
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<a-card :bordered="false" :bodyStyle="tstyle">
|
||||||
|
<div class="table-page-search-wrapper">
|
||||||
|
<a-form layout="inline">
|
||||||
|
<a-row :gutter="48">
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="电表">
|
||||||
|
<a-input v-model="queryParam.name" allow-clear placeholder="请输入电表"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="年份">
|
||||||
|
<a-input-number v-model="queryParam.year" style="width: 100%" allow-clear placeholder="请输入年份"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<template v-if="advanced">
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="月份">
|
||||||
|
<a-input-number v-model="queryParam.month" style="width: 100%" allow-clear placeholder="请输入月份"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</template>
|
||||||
|
<a-col :md="8" :sm="24" >
|
||||||
|
<span class="table-page-search-submitButtons">
|
||||||
|
<a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
|
||||||
|
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
|
||||||
|
<a @click="toggleAdvanced" style="margin-left: 8px">
|
||||||
|
{{ advanced ? '收起' : '展开' }}
|
||||||
|
<a-icon :type="advanced ? 'up' : 'down'"/>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
</a-card>
|
||||||
|
<a-card :bordered="false">
|
||||||
|
<s-table
|
||||||
|
ref="table"
|
||||||
|
:columns="columns"
|
||||||
|
:data="loadData"
|
||||||
|
:alert="options.alert"
|
||||||
|
:rowKey="(record) => record.id"
|
||||||
|
:rowSelection="options.rowSelection"
|
||||||
|
>
|
||||||
|
<template class="table-operator" slot="operator" >
|
||||||
|
<a-button type="primary" icon="plus" @click="$refs.addForm.add()">新增</a-button>
|
||||||
|
<a-button type="danger" :disabled="selectedRowKeys.length < 1" @click="batchDelete"><a-icon type="delete"/>批量删除</a-button>
|
||||||
|
<x-down
|
||||||
|
ref="batchExport"
|
||||||
|
@batchExport="batchExport"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<span slot="action" slot-scope="text, record">
|
||||||
|
<a @click="$refs.editForm.edit(record)">编辑</a>
|
||||||
|
<a-divider type="vertical"/>
|
||||||
|
<a-popconfirm placement="topRight" title="确认删除?" @confirm="() => singleDelete(record)">
|
||||||
|
<a>删除</a>
|
||||||
|
</a-popconfirm>
|
||||||
|
</span>
|
||||||
|
</s-table>
|
||||||
|
<add-form ref="addForm" @ok="handleOk" />
|
||||||
|
<edit-form ref="editForm" @ok="handleOk" />
|
||||||
|
</a-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { STable, XDown } from '@/components'
|
||||||
|
import { scrMeterDataPage, scrMeterDataDelete, scrMeterDataExport } from '@/api/modular/main/scrmeterdata/scrMeterDataManage'
|
||||||
|
import addForm from './addForm.vue'
|
||||||
|
import editForm from './editForm.vue'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
STable,
|
||||||
|
addForm,
|
||||||
|
editForm,
|
||||||
|
XDown
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
// 高级搜索 展开/关闭
|
||||||
|
advanced: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParam: {},
|
||||||
|
// 表头
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '电表',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'name'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '年份',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'year'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '月份',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'month'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '累计电量',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'totalEcnum'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '平均功率',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'avgPower'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
|
||||||
|
// 加载数据方法 必须为 Promise 对象
|
||||||
|
loadData: parameter => {
|
||||||
|
return scrMeterDataPage(Object.assign(parameter, this.queryParam)).then((res) => {
|
||||||
|
return res.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
selectedRowKeys: [],
|
||||||
|
selectedRows: [],
|
||||||
|
options: {
|
||||||
|
alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
|
||||||
|
rowSelection: {
|
||||||
|
selectedRowKeys: this.selectedRowKeys,
|
||||||
|
onChange: this.onSelectChange
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
this.columns.push({
|
||||||
|
title: '操作',
|
||||||
|
width: '150px',
|
||||||
|
dataIndex: 'action',
|
||||||
|
scopedSlots: { customRender: 'action' }
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* 单个删除
|
||||||
|
*/
|
||||||
|
singleDelete (record) {
|
||||||
|
const param = [{ 'id': record.id }]
|
||||||
|
this.scrMeterDataDelete(param)
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*/
|
||||||
|
batchDelete () {
|
||||||
|
const paramIds = this.selectedRowKeys.map((d) => {
|
||||||
|
return { 'id': d }
|
||||||
|
})
|
||||||
|
this.scrMeterDataDelete(paramIds)
|
||||||
|
},
|
||||||
|
scrMeterDataDelete (record) {
|
||||||
|
scrMeterDataDelete(record).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('删除成功')
|
||||||
|
this.$refs.table.clearRefreshSelected()
|
||||||
|
} else {
|
||||||
|
this.$message.error('删除失败') // + res.message
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
toggleAdvanced () {
|
||||||
|
this.advanced = !this.advanced
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 批量导出
|
||||||
|
*/
|
||||||
|
batchExport () {
|
||||||
|
const paramIds = this.selectedRowKeys.map((d) => {
|
||||||
|
return { 'id': d }
|
||||||
|
})
|
||||||
|
scrMeterDataExport(paramIds).then((res) => {
|
||||||
|
this.$refs.batchExport.downloadfile(res)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleOk () {
|
||||||
|
this.$refs.table.refresh()
|
||||||
|
},
|
||||||
|
onSelectChange (selectedRowKeys, selectedRows) {
|
||||||
|
this.selectedRowKeys = selectedRowKeys
|
||||||
|
this.selectedRows = selectedRows
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="less">
|
||||||
|
.table-operator {
|
||||||
|
margin-bottom: 18px;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
116
src/views/main/scrriskdata/addForm.vue
Normal file
116
src/views/main/scrriskdata/addForm.vue
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
title="新增风险排查"
|
||||||
|
:width="900"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleSubmit"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
>
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-form-item
|
||||||
|
label="年份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入年份" style="width: 100%" v-decorator="['year', {rules: [{required: true, message: '请输入年份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="月份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入月份" style="width: 100%" v-decorator="['month', {rules: [{required: true, message: '请输入月份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="已排查"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入已排查" style="width: 100%" v-decorator="['ypc', {rules: [{required: true, message: '请输入已排查!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="未排查"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入未排查" style="width: 100%" v-decorator="['wpc', {rules: [{required: true, message: '请输入未排查!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="超期未排查"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入超期未排查" style="width: 100%" v-decorator="['cqwpc', {rules: [{required: true, message: '请输入超期未排查!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { scrRiskDataAdd } from '@/api/modular/main/scrriskdata/scrRiskDataManage'
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 15 }
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化方法
|
||||||
|
add (record) {
|
||||||
|
this.visible = true
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 提交表单
|
||||||
|
*/
|
||||||
|
handleSubmit () {
|
||||||
|
const { form: { validateFields } } = this
|
||||||
|
this.confirmLoading = true
|
||||||
|
validateFields((errors, values) => {
|
||||||
|
if (!errors) {
|
||||||
|
for (const key in values) {
|
||||||
|
if (typeof (values[key]) === 'object' && values[key] != null) {
|
||||||
|
values[key] = JSON.stringify(values[key])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scrRiskDataAdd(values).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('新增成功')
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$emit('ok', values)
|
||||||
|
this.handleCancel()
|
||||||
|
} else {
|
||||||
|
this.$message.error('新增失败')// + res.message
|
||||||
|
}
|
||||||
|
}).finally((res) => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel () {
|
||||||
|
this.form.resetFields()
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
126
src/views/main/scrriskdata/editForm.vue
Normal file
126
src/views/main/scrriskdata/editForm.vue
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
title="编辑风险排查"
|
||||||
|
:width="900"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleSubmit"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
>
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="年份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入年份" style="width: 100%" v-decorator="['year', {rules: [{required: true, message: '请输入年份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="月份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入月份" style="width: 100%" v-decorator="['month', {rules: [{required: true, message: '请输入月份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="已排查"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入已排查" style="width: 100%" v-decorator="['ypc', {rules: [{required: true, message: '请输入已排查!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="未排查"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入未排查" style="width: 100%" v-decorator="['wpc', {rules: [{required: true, message: '请输入未排查!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="超期未排查"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入超期未排查" style="width: 100%" v-decorator="['cqwpc', {rules: [{required: true, message: '请输入超期未排查!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { scrRiskDataEdit } from '@/api/modular/main/scrriskdata/scrRiskDataManage'
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 15 }
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化方法
|
||||||
|
edit (record) {
|
||||||
|
this.visible = true
|
||||||
|
setTimeout(() => {
|
||||||
|
this.form.setFieldsValue(
|
||||||
|
{
|
||||||
|
id: record.id,
|
||||||
|
year: record.year,
|
||||||
|
month: record.month,
|
||||||
|
ypc: record.ypc,
|
||||||
|
wpc: record.wpc,
|
||||||
|
cqwpc: record.cqwpc
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}, 100)
|
||||||
|
},
|
||||||
|
handleSubmit () {
|
||||||
|
const { form: { validateFields } } = this
|
||||||
|
this.confirmLoading = true
|
||||||
|
validateFields((errors, values) => {
|
||||||
|
if (!errors) {
|
||||||
|
for (const key in values) {
|
||||||
|
if (typeof (values[key]) === 'object' && values[key] != null) {
|
||||||
|
values[key] = JSON.stringify(values[key])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scrRiskDataEdit(values).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('编辑成功')
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$emit('ok', values)
|
||||||
|
this.handleCancel()
|
||||||
|
} else {
|
||||||
|
this.$message.error('编辑失败')// + res.message
|
||||||
|
}
|
||||||
|
}).finally((res) => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel () {
|
||||||
|
this.form.resetFields()
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
182
src/views/main/scrriskdata/index.vue
Normal file
182
src/views/main/scrriskdata/index.vue
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<a-card :bordered="false" :bodyStyle="tstyle">
|
||||||
|
<div class="table-page-search-wrapper" >
|
||||||
|
<a-form layout="inline">
|
||||||
|
<a-row :gutter="48">
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="年份">
|
||||||
|
<a-input-number v-model="queryParam.year" style="width: 100%" allow-clear placeholder="请输入年份"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="月份">
|
||||||
|
<a-input-number v-model="queryParam.month" style="width: 100%" allow-clear placeholder="请输入月份"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<span class="table-page-search-submitButtons">
|
||||||
|
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
|
||||||
|
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
|
||||||
|
</span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
</a-card>
|
||||||
|
<a-card :bordered="false">
|
||||||
|
<s-table
|
||||||
|
ref="table"
|
||||||
|
:columns="columns"
|
||||||
|
:data="loadData"
|
||||||
|
:alert="options.alert"
|
||||||
|
:rowKey="(record) => record.id"
|
||||||
|
:rowSelection="options.rowSelection"
|
||||||
|
>
|
||||||
|
<template class="table-operator" slot="operator">
|
||||||
|
<a-button type="primary" icon="plus" @click="$refs.addForm.add()">新增</a-button>
|
||||||
|
<a-button type="danger" :disabled="selectedRowKeys.length < 1" @click="batchDelete"><a-icon type="delete"/>批量删除</a-button>
|
||||||
|
<x-down
|
||||||
|
ref="batchExport"
|
||||||
|
@batchExport="batchExport"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<span slot="action" slot-scope="text, record">
|
||||||
|
<a @click="$refs.editForm.edit(record)">编辑</a>
|
||||||
|
<a-divider type="vertical"/>
|
||||||
|
<a-popconfirm placement="topRight" title="确认删除?" @confirm="() => singleDelete(record)">
|
||||||
|
<a>删除</a>
|
||||||
|
</a-popconfirm>
|
||||||
|
</span>
|
||||||
|
</s-table>
|
||||||
|
<add-form ref="addForm" @ok="handleOk" />
|
||||||
|
<edit-form ref="editForm" @ok="handleOk" />
|
||||||
|
</a-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { STable, XDown } from '@/components'
|
||||||
|
import { scrRiskDataPage, scrRiskDataDelete, scrRiskDataExport } from '@/api/modular/main/scrriskdata/scrRiskDataManage'
|
||||||
|
import addForm from './addForm.vue'
|
||||||
|
import editForm from './editForm.vue'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
STable,
|
||||||
|
addForm,
|
||||||
|
editForm,
|
||||||
|
XDown
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
// 查询参数
|
||||||
|
queryParam: {},
|
||||||
|
// 表头
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '年份',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'year'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '月份',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'month'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '已排查',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'ypc'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '未排查',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'wpc'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '超期未排查',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'cqwpc'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
|
||||||
|
// 加载数据方法 必须为 Promise 对象
|
||||||
|
loadData: parameter => {
|
||||||
|
return scrRiskDataPage(Object.assign(parameter, this.queryParam)).then((res) => {
|
||||||
|
return res.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
selectedRowKeys: [],
|
||||||
|
selectedRows: [],
|
||||||
|
options: {
|
||||||
|
alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
|
||||||
|
rowSelection: {
|
||||||
|
selectedRowKeys: this.selectedRowKeys,
|
||||||
|
onChange: this.onSelectChange
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
this.columns.push({
|
||||||
|
title: '操作',
|
||||||
|
width: '150px',
|
||||||
|
dataIndex: 'action',
|
||||||
|
scopedSlots: { customRender: 'action' }
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* 单个删除
|
||||||
|
*/
|
||||||
|
singleDelete (record) {
|
||||||
|
const param = [{ 'id': record.id }]
|
||||||
|
this.scrRiskDataDelete(param)
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*/
|
||||||
|
batchDelete () {
|
||||||
|
const paramIds = this.selectedRowKeys.map((d) => {
|
||||||
|
return { 'id': d }
|
||||||
|
})
|
||||||
|
this.scrRiskDataDelete(paramIds)
|
||||||
|
},
|
||||||
|
scrRiskDataDelete (record) {
|
||||||
|
scrRiskDataDelete(record).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('删除成功')
|
||||||
|
this.$refs.table.clearRefreshSelected()
|
||||||
|
} else {
|
||||||
|
this.$message.error('删除失败') // + res.message
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 批量导出
|
||||||
|
*/
|
||||||
|
batchExport () {
|
||||||
|
const paramIds = this.selectedRowKeys.map((d) => {
|
||||||
|
return { 'id': d }
|
||||||
|
})
|
||||||
|
scrRiskDataExport(paramIds).then((res) => {
|
||||||
|
this.$refs.batchExport.downloadfile(res)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleOk () {
|
||||||
|
this.$refs.table.refresh()
|
||||||
|
},
|
||||||
|
onSelectChange (selectedRowKeys, selectedRows) {
|
||||||
|
this.selectedRowKeys = selectedRowKeys
|
||||||
|
this.selectedRows = selectedRows
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="less">
|
||||||
|
.table-operator {
|
||||||
|
margin-bottom: 18px;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
112
src/views/main/scrworktask/addForm.vue
Normal file
112
src/views/main/scrworktask/addForm.vue
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
title="新增作业票"
|
||||||
|
:width="900"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleSubmit"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
>
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-form-item
|
||||||
|
label="8大作业票"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
>
|
||||||
|
<a-select style="width: 100%" placeholder="请选择8大作业票" v-decorator="['name', {rules: [{ required: true, message: '请选择8大作业票!' }]}]">
|
||||||
|
<a-select-option v-for="(item,index) in nameData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
|
||||||
|
</a-select>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="年"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入年" style="width: 100%" v-decorator="['year', {rules: [{required: true, message: '请输入年!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="月份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入月份" style="width: 100%" v-decorator="['month', {rules: [{required: true, message: '请输入月份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="数量"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入数量" style="width: 100%" v-decorator="['totalNum', {rules: [{required: true, message: '请输入数量!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { scrWorkTaskAdd } from '@/api/modular/main/scrworktask/scrWorkTaskManage'
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 15 }
|
||||||
|
},
|
||||||
|
nameData: [],
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化方法
|
||||||
|
add (record) {
|
||||||
|
this.visible = true
|
||||||
|
const nameOption = this.$options
|
||||||
|
this.nameData = nameOption.filters['dictData']('work_task_type')
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 提交表单
|
||||||
|
*/
|
||||||
|
handleSubmit () {
|
||||||
|
const { form: { validateFields } } = this
|
||||||
|
this.confirmLoading = true
|
||||||
|
validateFields((errors, values) => {
|
||||||
|
if (!errors) {
|
||||||
|
for (const key in values) {
|
||||||
|
if (typeof (values[key]) === 'object' && values[key] != null) {
|
||||||
|
values[key] = JSON.stringify(values[key])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scrWorkTaskAdd(values).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('新增成功')
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$emit('ok', values)
|
||||||
|
this.handleCancel()
|
||||||
|
} else {
|
||||||
|
this.$message.error('新增失败')// + res.message
|
||||||
|
}
|
||||||
|
}).finally((res) => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel () {
|
||||||
|
this.form.resetFields()
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
121
src/views/main/scrworktask/editForm.vue
Normal file
121
src/views/main/scrworktask/editForm.vue
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
title="编辑作业票"
|
||||||
|
:width="900"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
@ok="handleSubmit"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
>
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-form :form="form">
|
||||||
|
<a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="8大作业票"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
>
|
||||||
|
<a-select style="width: 100%" placeholder="请选择8大作业票" v-decorator="['name', {rules: [{ required: true, message: '请选择8大作业票!' }]}]">
|
||||||
|
<a-select-option v-for="(item,index) in nameData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
|
||||||
|
</a-select>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="年"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入年" style="width: 100%" v-decorator="['year', {rules: [{required: true, message: '请输入年!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="月份"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入月份" style="width: 100%" v-decorator="['month', {rules: [{required: true, message: '请输入月份!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item
|
||||||
|
label="数量"
|
||||||
|
:labelCol="labelCol"
|
||||||
|
:wrapperCol="wrapperCol"
|
||||||
|
has-feedback
|
||||||
|
>
|
||||||
|
<a-input-number placeholder="请输入数量" style="width: 100%" v-decorator="['totalNum', {rules: [{required: true, message: '请输入数量!'}]}]" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { scrWorkTaskEdit } from '@/api/modular/main/scrworktask/scrWorkTaskManage'
|
||||||
|
export default {
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 15 }
|
||||||
|
},
|
||||||
|
nameData: [],
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化方法
|
||||||
|
edit (record) {
|
||||||
|
this.visible = true
|
||||||
|
const nameOption = this.$options
|
||||||
|
this.nameData = nameOption.filters['dictData']('work_task_type')
|
||||||
|
setTimeout(() => {
|
||||||
|
this.form.setFieldsValue(
|
||||||
|
{
|
||||||
|
id: record.id,
|
||||||
|
name: record.name,
|
||||||
|
year: record.year,
|
||||||
|
month: record.month,
|
||||||
|
totalNum: record.totalNum
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}, 100)
|
||||||
|
},
|
||||||
|
handleSubmit () {
|
||||||
|
const { form: { validateFields } } = this
|
||||||
|
this.confirmLoading = true
|
||||||
|
validateFields((errors, values) => {
|
||||||
|
if (!errors) {
|
||||||
|
for (const key in values) {
|
||||||
|
if (typeof (values[key]) === 'object' && values[key] != null) {
|
||||||
|
values[key] = JSON.stringify(values[key])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scrWorkTaskEdit(values).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('编辑成功')
|
||||||
|
this.confirmLoading = false
|
||||||
|
this.$emit('ok', values)
|
||||||
|
this.handleCancel()
|
||||||
|
} else {
|
||||||
|
this.$message.error('编辑失败')// + res.message
|
||||||
|
}
|
||||||
|
}).finally((res) => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.confirmLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel () {
|
||||||
|
this.form.resetFields()
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
202
src/views/main/scrworktask/index.vue
Normal file
202
src/views/main/scrworktask/index.vue
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<a-card :bordered="false" :bodyStyle="tstyle">
|
||||||
|
<div class="table-page-search-wrapper">
|
||||||
|
<a-form layout="inline">
|
||||||
|
<a-row :gutter="48">
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="作业票类型">
|
||||||
|
<a-select style="width: 100%" v-model="queryParam.name" placeholder="请选择作业票类型">
|
||||||
|
<a-select-option v-for="(item,index) in nameData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
|
||||||
|
</a-select>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="年">
|
||||||
|
<a-input-number v-model="queryParam.year" style="width: 100%" allow-clear placeholder="请输入年"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<template v-if="advanced">
|
||||||
|
<a-col :md="8" :sm="24">
|
||||||
|
<a-form-item label="月份">
|
||||||
|
<a-input-number v-model="queryParam.month" style="width: 100%" allow-clear placeholder="请输入月份"/>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</template>
|
||||||
|
<a-col :md="8" :sm="24" >
|
||||||
|
<span class="table-page-search-submitButtons">
|
||||||
|
<a-button type="primary" @click="$refs.table.refresh(true)" >查询</a-button>
|
||||||
|
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
|
||||||
|
<a @click="toggleAdvanced" style="margin-left: 8px">
|
||||||
|
{{ advanced ? '收起' : '展开' }}
|
||||||
|
<a-icon :type="advanced ? 'up' : 'down'"/>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
</a-card>
|
||||||
|
<a-card :bordered="false">
|
||||||
|
<s-table
|
||||||
|
ref="table"
|
||||||
|
:columns="columns"
|
||||||
|
:data="loadData"
|
||||||
|
:alert="options.alert"
|
||||||
|
:rowKey="(record) => record.id"
|
||||||
|
:rowSelection="options.rowSelection"
|
||||||
|
>
|
||||||
|
<template class="table-operator" slot="operator">
|
||||||
|
<a-button type="primary" icon="plus" @click="$refs.addForm.add()">新增</a-button>
|
||||||
|
<a-button type="danger" :disabled="selectedRowKeys.length < 1" @click="batchDelete"><a-icon type="delete"/>批量删除</a-button>
|
||||||
|
<x-down
|
||||||
|
ref="batchExport"
|
||||||
|
@batchExport="batchExport"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<span slot="nameScopedSlots" slot-scope="text">
|
||||||
|
{{ 'work_task_type' | dictType(text) }}
|
||||||
|
</span>
|
||||||
|
<span slot="action" slot-scope="text, record">
|
||||||
|
<a @click="$refs.editForm.edit(record)">编辑</a>
|
||||||
|
<a-divider type="vertical"/>
|
||||||
|
<a-popconfirm placement="topRight" title="确认删除?" @confirm="() => singleDelete(record)">
|
||||||
|
<a>删除</a>
|
||||||
|
</a-popconfirm>
|
||||||
|
</span>
|
||||||
|
</s-table>
|
||||||
|
<add-form ref="addForm" @ok="handleOk" />
|
||||||
|
<edit-form ref="editForm" @ok="handleOk" />
|
||||||
|
</a-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { STable, XDown } from '@/components'
|
||||||
|
import { scrWorkTaskPage, scrWorkTaskDelete, scrWorkTaskExport } from '@/api/modular/main/scrworktask/scrWorkTaskManage'
|
||||||
|
import addForm from './addForm.vue'
|
||||||
|
import editForm from './editForm.vue'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
STable,
|
||||||
|
addForm,
|
||||||
|
editForm,
|
||||||
|
XDown
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
// 高级搜索 展开/关闭
|
||||||
|
advanced: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParam: {},
|
||||||
|
// 表头
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: '作业票类型',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'name',
|
||||||
|
scopedSlots: { customRender: 'nameScopedSlots' }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '年份',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'year'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '月份',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'month'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '数量',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'totalNum'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
|
||||||
|
// 加载数据方法 必须为 Promise 对象
|
||||||
|
loadData: parameter => {
|
||||||
|
return scrWorkTaskPage(Object.assign(parameter, this.queryParam)).then((res) => {
|
||||||
|
return res.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
nameData: [],
|
||||||
|
selectedRowKeys: [],
|
||||||
|
selectedRows: [],
|
||||||
|
options: {
|
||||||
|
alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
|
||||||
|
rowSelection: {
|
||||||
|
selectedRowKeys: this.selectedRowKeys,
|
||||||
|
onChange: this.onSelectChange
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
this.columns.push({
|
||||||
|
title: '操作',
|
||||||
|
width: '150px',
|
||||||
|
dataIndex: 'action',
|
||||||
|
scopedSlots: { customRender: 'action' }
|
||||||
|
})
|
||||||
|
const nameOption = this.$options
|
||||||
|
this.nameData = nameOption.filters['dictData']('work_task_type')
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* 单个删除
|
||||||
|
*/
|
||||||
|
singleDelete (record) {
|
||||||
|
const param = [{ 'id': record.id }]
|
||||||
|
this.scrWorkTaskDelete(param)
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*/
|
||||||
|
batchDelete () {
|
||||||
|
const paramIds = this.selectedRowKeys.map((d) => {
|
||||||
|
return { 'id': d }
|
||||||
|
})
|
||||||
|
this.scrWorkTaskDelete(paramIds)
|
||||||
|
},
|
||||||
|
scrWorkTaskDelete (record) {
|
||||||
|
scrWorkTaskDelete(record).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success('删除成功')
|
||||||
|
this.$refs.table.clearRefreshSelected()
|
||||||
|
} else {
|
||||||
|
this.$message.error('删除失败') // + res.message
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
toggleAdvanced () {
|
||||||
|
this.advanced = !this.advanced
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 批量导出
|
||||||
|
*/
|
||||||
|
batchExport () {
|
||||||
|
const paramIds = this.selectedRowKeys.map((d) => {
|
||||||
|
return { 'id': d }
|
||||||
|
})
|
||||||
|
scrWorkTaskExport(paramIds).then((res) => {
|
||||||
|
this.$refs.batchExport.downloadfile(res)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleOk () {
|
||||||
|
this.$refs.table.refresh()
|
||||||
|
},
|
||||||
|
onSelectChange (selectedRowKeys, selectedRows) {
|
||||||
|
this.selectedRowKeys = selectedRowKeys
|
||||||
|
this.selectedRows = selectedRows
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="less">
|
||||||
|
.table-operator {
|
||||||
|
margin-bottom: 18px;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -48,11 +48,11 @@
|
|||||||
|
|
||||||
<a-form-item>
|
<a-form-item>
|
||||||
<a-checkbox v-decorator="['rememberMe', { valuePropName: 'checked' }]">自动登录</a-checkbox>
|
<a-checkbox v-decorator="['rememberMe', { valuePropName: 'checked' }]">自动登录</a-checkbox>
|
||||||
<router-link
|
<!-- <router-link
|
||||||
:to="{ name: 'recover', params: { user: 'aaa'} }"
|
:to="{ name: 'recover', params: { user: 'aaa'} }"
|
||||||
class="forge-password"
|
class="forge-password"
|
||||||
style="float: right;"
|
style="float: right;"
|
||||||
>忘记密码</router-link>
|
>忘记密码</router-link> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item>
|
<a-form-item>
|
||||||
@ -77,7 +77,7 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<div class="user-login-other">
|
<div class="user-login-other">
|
||||||
<router-link class="register" :to="{ name: 'register' }">注册账户</router-link>
|
<!-- <router-link class="register" :to="{ name: 'register' }">注册账户</router-link> -->
|
||||||
</div>
|
</div>
|
||||||
</a-form>
|
</a-form>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user