新增录入页面

This commit is contained in:
zhangyanan 2025-10-13 18:17:10 +08:00
parent 20ca0cd974
commit 087614ead6
21 changed files with 2076 additions and 9 deletions

View File

@ -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>

View 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'
})
}

View 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'
})
}

View 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'
})
}

View 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'
})
}

View File

@ -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>

View File

@ -25,7 +25,7 @@ export default {
props: { props: {
title: { title: {
type: String, type: String,
default: 'Snowy', default: '内蒙雄伟光大',
required: false required: false
}, },
showTitle: { showTitle: {

View File

@ -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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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>

View File

@ -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>