新增了对应的数据结构

This commit is contained in:
chenze 2024-08-05 15:32:46 +08:00
parent a19e564983
commit c982f7815a
20 changed files with 2106 additions and 25 deletions

View File

@ -0,0 +1,34 @@
import { axios } from '@/utils/request'
const api = {
repairDevice: '/repairDevice'
}
export function getRepairDeviceList (parameter) {
return axios({
url: api.repairDevice + '/list',
method: 'get',
params: parameter
})
}
export function saveRepairDevice (parameter) {
return axios({
url: api.repairDevice + (parameter.id > 0 ? '/update' : '/save'),
method: 'post',
data: parameter,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
export function delRepairDevice (parameter) {
return axios({
url: api.repairDevice + '/remove',
method: 'post',
params: parameter
})
}
export const repairDeviceExport = api.repairDevice + '/export'

View File

@ -0,0 +1,34 @@
import { axios } from '@/utils/request'
const api = {
repairFailureType: '/repairFailureType'
}
export function getRepairFailureTypeList (parameter) {
return axios({
url: api.repairFailureType + '/list',
method: 'get',
params: parameter
})
}
export function saveRepairFailureType (parameter) {
return axios({
url: api.repairFailureType + (parameter.id > 0 ? '/update' : '/save'),
method: 'post',
data: parameter,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
export function delRepairFailureType (parameter) {
return axios({
url: api.repairFailureType + '/remove',
method: 'post',
params: parameter
})
}
export const repairFailureTypeExport = api.repairFailureType + '/export'

View File

@ -0,0 +1,34 @@
import { axios } from '@/utils/request'
const api = {
repairRecord: '/RepairRecord/repairRecord'
}
export function getRepairRecordList (parameter) {
return axios({
url: api.repairRecord + '/list',
method: 'get',
params: parameter
})
}
export function saveRepairRecord (parameter) {
return axios({
url: api.repairRecord + (parameter.id > 0 ? '/update' : '/save'),
method: 'post',
data: parameter,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
export function delRepairRecord (parameter) {
return axios({
url: api.repairRecord + '/remove',
method: 'post',
params: parameter
})
}
export const repairRecordExport = api.repairRecord + '/export'

View File

@ -0,0 +1,34 @@
import { axios } from '@/utils/request'
const api = {
repairStaffType: '/RepairStaffType/repairStaffType'
}
export function getRepairStaffTypeList (parameter) {
return axios({
url: api.repairStaffType + '/list',
method: 'get',
params: parameter
})
}
export function saveRepairStaffType (parameter) {
return axios({
url: api.repairStaffType + (parameter.id > 0 ? '/update' : '/save'),
method: 'post',
data: parameter,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
export function delRepairStaffType (parameter) {
return axios({
url: api.repairStaffType + '/remove',
method: 'post',
params: parameter
})
}
export const repairStaffTypeExport = api.repairStaffType + '/export'

View File

@ -0,0 +1,34 @@
import { axios } from '@/utils/request'
const api = {
repairType: '/repairType'
}
export function getRepairTypeList (parameter) {
return axios({
url: api.repairType + '/list',
method: 'get',
params: parameter
})
}
export function saveRepairType (parameter) {
return axios({
url: api.repairType + (parameter.id > 0 ? '/update' : '/save'),
method: 'post',
data: parameter,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
export function delRepairType (parameter) {
return axios({
url: api.repairType + '/remove',
method: 'post',
params: parameter
})
}
export const repairTypeExport = api.repairType + '/export'

View File

@ -0,0 +1,34 @@
import { axios } from '@/utils/request'
const api = {
repairWorkerType: '/RepairWorkerType/repairWorkerType'
}
export function getRepairWorkerTypeList (parameter) {
return axios({
url: api.repairWorkerType + '/list',
method: 'get',
params: parameter
})
}
export function saveRepairWorkerType (parameter) {
return axios({
url: api.repairWorkerType + (parameter.id > 0 ? '/update' : '/save'),
method: 'post',
data: parameter,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
export function delRepairWorkerType (parameter) {
return axios({
url: api.repairWorkerType + '/remove',
method: 'post',
params: parameter
})
}
export const repairWorkerTypeExport = api.repairWorkerType + '/export'

View File

@ -17,6 +17,9 @@
</a-row> </a-row>
</a-form> </a-form>
</div> </div>
<div class="table-operator">
<a-button v-if="addEnable" type="primary" icon="plus" @click="$refs.modal.add()">新建</a-button>
</div>
<s-table <s-table
size="default" size="default"
ref="table" ref="table"
@ -74,26 +77,36 @@ export default {
dataIndex: 'sn' dataIndex: 'sn'
}, },
{ {
title: '报修园区', title: '报修名称',
dataIndex: 'park.name' dataIndex: 'park.name'
}, },
{ {
title: '报修人', title: '工单来源',
dataIndex: 'name' dataIndex: 'name'
}, },
{ {
title: '报修人手机', title: '设备名称',
dataIndex: 'phone' dataIndex: 'phone'
}, },
{ {
title: '维修工人', title: '所属分类',
dataIndex: 'user.userName' dataIndex: 'user.userName'
}, },
{ {
title: '状态', title: '工单状态',
dataIndex: 'status', dataIndex: 'status',
scopedSlots: { customRender: 'status' } scopedSlots: { customRender: 'status' }
}, },
{
title: '故障等级',
dataIndex: 'status',
scopedSlots: { customRender: 'status' }
},
{
title: '提交人',
dataIndex: 'userName',
scopedSlots: { customRender: 'status' }
},
{ {
title: '报修时间', title: '报修时间',
dataIndex: 'repairTime', dataIndex: 'repairTime',

View File

@ -2,7 +2,7 @@
<a-modal <a-modal
title="指派维修员" title="指派维修员"
style="top: 20px;" style="top: 20px;"
:width="800" :width="1200"
v-model="visible" v-model="visible"
:confirmLoading="confirmLoading" :confirmLoading="confirmLoading"
@ok="handleSubmit" @ok="handleSubmit"
@ -11,23 +11,137 @@
<a-form-item style="display:none"> <a-form-item style="display:none">
<a-input v-decorator="['id']"/> <a-input v-decorator="['id']"/>
</a-form-item> </a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修员"> <a-row>
<a-select v-decorator="['workerId', {rules: [{ required: true, message: '请选择维修员' }]}]">
<a-select-option v-for="item in workerData" :key="item.value">{{ item.text }}</a-select-option> <a-col :span='10'>
</a-select> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="工单名称">
<a-input placeholder="工单名称" v-decorator="['repairName', {rules: [{ required: true, message: '请输入工单名称' }]}]"/>
</a-form-item> </a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修时间"> </a-col>
<a-range-picker <a-col :span='10'>
style="width: 100%" <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="报修人">
showTime <a-input placeholder="报修人" v-decorator="['userId', {rules: [{ required: true, message: '请选择报修人' }]}]"/>
format="YYYY-MM-DD HH:mm:ss" </a-form-item>
:value="dateValue" </a-col>
@change="onChange" </a-row>
<a-row>
<a-col :span='10'>
<a-form-item label='报修时间' :labelCol='labelCol' :wrapperCol='wrapperCol'>
<a-date-picker
format='YYYY-MM-DD HH:mm:ss'
valueFormat='YYYY-MM-DD HH:mm:ss'
v-decorator="['repairTime',{rules: [{ required: true, message: '选择报修时间'}]}]"
:show-time="{ defaultValue: moment('00:00:00', 'HH:mm:ss') }"
type='date'
placeholder='选择报修时间'
style='width: 100%;'
/> />
</a-form-item> </a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修材料"> </a-col>
<a-input placeholder="维修材料" v-decorator="['repairMateriel']"/> <a-col :span='10'>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="所属分类">
<a-select v-decorator="['typeId', {rules: [{ required: true, message: '请选择所属分类' }]}]"
@change="selectDevice">
<a-select-option v-for="item in typeList" :key="item.id">{{ item.name }}</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span='10'>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="报修设备">
<a-select v-decorator="['deviceId', {rules: [{ required: true, message: '请选择所属设备' }]}]"
>
<a-select-option v-for="item in deviceList" :key="item.id">{{ item.name }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span='10'>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修负责人">
<a-input placeholder="维修负责人" v-decorator="['workerId', {rules: [{ required: true, message: '请输入维修负责人' }]}]"/>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span='10'>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="故障等级">
<a-select v-decorator="['repairLevel',{rules: [{ required: true, message: '请选择故障等级'}]}]"
placeholder='请选择故障等级'>
<a-select-option :value='一级'>
一级
</a-select-option>
<a-select-option :value='二级'>
二级
</a-select-option>
<a-select-option :value='三级'>
三级
</a-select-option>
<a-select-option :value='四级'>
四级
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span='10'>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="故障类型">
<a-input placeholder="故障类型" v-decorator="['sn']"/>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span='10'>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="报修内容">
<a-input placeholder="报修内容" v-decorator="['repairName']"/>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span='10'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='报修图片'>
<a-upload
v-decorator="['indoorPicUrl', {rules: [{ required: true, message: '上传室内图片' }]}]"
list-type='picture-card'
class='avatar-uploader'
:file-list='fileList'
:action='uploadUrl'
:headers='headers'
@preview='handlePreview'
@change='handleChangeFileList'
>
<div v-if='fileList.length < 4'>
<a-icon type='plus' />
<div class='ant-upload-text'> 上传</div>
</div>
</a-upload>
<a-modal :visible='previewVisible' :footer='null' @cancel='handleCancel'>
<img style='width: 100%' :src='previewImage' />
</a-modal>
</a-form-item>
</a-col>
</a-row>
<!-- <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修员">-->
<!-- <a-select v-decorator="['workerId', {rules: [{ required: true, message: '请选择维修员' }]}]">-->
<!-- <a-select-option v-for="item in workerData" :key="item.value">{{ item.text }}</a-select-option>-->
<!-- </a-select>-->
<!-- </a-form-item>-->
<!-- <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修时间">-->
<!-- <a-range-picker-->
<!-- style="width: 100%"-->
<!-- showTime-->
<!-- format="YYYY-MM-DD HH:mm:ss"-->
<!-- :value="dateValue"-->
<!-- @change="onChange"-->
<!-- />-->
<!-- </a-form-item>-->
<!-- <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修材料">-->
<!-- <a-input placeholder="维修材料" v-decorator="['repairMateriel']"/>-->
<!-- </a-form-item>-->
</a-form> </a-form>
</a-modal> </a-modal>
</template> </template>
@ -35,7 +149,13 @@
import { review } from '@/api/admin/repair' import { review } from '@/api/admin/repair'
import pick from 'lodash.pick' import pick from 'lodash.pick'
import { getUserList } from '@/api/system' import { getUserList } from '@/api/system'
import {getRepairTypeList} from '@/api/admin/repair/repairType'
import { getRepairDeviceList } from '@/api/admin/repair/repairDevice'
import moment from 'moment' import moment from 'moment'
import storage from 'store'
import { ACCESS_TOKEN } from '@/store/mutation-types'
const dateFormat = 'YYYY-MM-DD HH:mm:ss' const dateFormat = 'YYYY-MM-DD HH:mm:ss'
export default { export default {
@ -49,12 +169,18 @@ export default {
visible: false, visible: false,
labelCol: { labelCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 5 } sm: { span: 8 }
}, },
wrapperCol: { wrapperCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 16 } sm: { span: 16 }
}, },
uploadUrl: process.env.VUE_APP_API_BASE_URL + '/api/dfs/upload',
imageUrl: '',
headers: {
Authorization: 'Bearer ' + storage.get(ACCESS_TOKEN)
},
fileList: [],
confirmLoading: false, confirmLoading: false,
mdl: {}, mdl: {},
workerData: [], workerData: [],
@ -63,7 +189,11 @@ export default {
// //
endDate: null, endDate: null,
dateValue: [], dateValue: [],
form: this.$form.createForm(this) previewVisible: false,
previewImage: '',
form: this.$form.createForm(this),
typeList: [],
deviceList:[]
} }
}, },
beforeCreate () { beforeCreate () {
@ -78,9 +208,36 @@ export default {
}) })
} }
}) })
this.selectType()
}, },
methods: { methods: {
moment, moment,
selectType () {
getRepairTypeList().then(res => {
this.typeList = res.rows
})
},
// id
selectDevice(id){
getRepairDeviceList({"typeId":id}).then(res =>{
this.deviceList = res.rows
})
},
async handlePreview(file) {
if (!file.url && !file.preview) {
file.preview = await getBase64FileList(file.originFileObj)
}
this.previewImage = file.url || file.preview
this.previewVisible = true
},
handleCancel() {
this.previewVisible = false
},
// banner
handleChangeFileList({ fileList }) {
this.fileList = fileList
},
add () { add () {
this.form.resetFields() this.form.resetFields()
this.edit({ id: 0 }) this.edit({ id: 0 })
@ -130,4 +287,9 @@ export default {
watch: { watch: {
} }
} }
function getBase64(img, callback) {
const reader = new FileReader()
reader.addEventListener('load', () => callback(reader.result))
reader.readAsDataURL(img)
}
</script> </script>

View File

@ -0,0 +1,148 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="5" :sm="15">
<a-form-item label="名称">
<a-input placeholder="请输入名称" v-model="queryParam.name" />
</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>
<div class="table-operator">
<a-button v-if="addEnable" type="primary" icon="plus" @click="$refs.modal.add()">新建</a-button>
<a-dropdown v-if="removeEnable&&selectedRowKeys.length > 0">
<a-button type="danger" icon="delete" @click="delByIds(selectedRowKeys)">删除</a-button>
</a-dropdown>
</div>
<s-table
size="default"
ref="table"
rowKey="id"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:columns="columns"
:data="loadData"
>
<span slot="action" slot-scope="text, record">
<a v-if="editEnabel" @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a v-if="removeEnable" @click="delByIds([record.id])">删除</a>
</span>
</s-table>
<repairDevice-modal ref="modal" @ok="handleOk" />
</a-card>
</template>
<script>
import { STable } from '@/components'
import { delRepairDevice, getRepairDeviceList } from '@/api/admin/repair/repairDevice'
import RepairDeviceModal from './modules/RepairDeviceModal.vue'
import { checkPermission } from '@/utils/permissions'
export default {
name: 'TableList',
components: {
STable,
RepairDeviceModal
},
data () {
return {
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
form: this.$form.createForm(this),
mdl: {},
// /
advanced: false,
//
queryParam: {},
//
columns: [
{
title: '名称',
dataIndex: 'name'
},
{
title: '品牌',
dataIndex: 'brand'
},
{
title: '操作',
width: '200px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
}
],
// Promise
loadData: parameter => {
return getRepairDeviceList(Object.assign(parameter, this.queryParam))
},
selectedRowKeys: [],
selectedRows: [],
addEnable: checkPermission('core:repairDevice:add'),
editEnabel: checkPermission('core:repairDevice:edit'),
removeEnable: checkPermission('core:repairDevice:remove')
}
},
filters: {},
created () {
},
methods: {
onSelectChange (selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
},
handleAdd () {
this.$refs.modal.add()
},
handleEdit (record) {
this.$refs.modal.edit(record)
},
handleOk () {
this.$refs.table.refresh(true)
console.log('handleSaveOk')
},
delByIds (ids) {
delRepairDevice({ ids: ids.join(',') }).then(res => {
if (res.code === 0) {
this.$message.success('删除成功')
this.handleOk()
} else {
this.$message.error(res.msg)
}
this.selectedRowKeys = []
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,151 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="5" :sm="15">
<a-form-item label="名称">
<a-input placeholder="请输入名称" v-model="queryParam.name"/>
</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>
<div class="table-operator">
<a-button v-if="addEnable" type="primary" icon="plus" @click="$refs.modal.add()">新建</a-button>
<a-dropdown v-if="removeEnable&&selectedRowKeys.length > 0">
<a-button type="danger" icon="delete" @click="delByIds(selectedRowKeys)">删除</a-button>
</a-dropdown>
</div>
<s-table
size="default"
ref="table"
rowKey="id"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:columns="columns"
:data="loadData"
>
<span slot="action" slot-scope="text, record">
<a v-if="editEnabel" @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a v-if="removeEnable" @click="delByIds([record.id])">删除</a>
</span>
</s-table>
<repairFailureType-modal ref="modal" @ok="handleOk"/>
</a-card>
</template>
<script>
import {STable} from '@/components'
import {delRepairFailureType,getRepairFailureTypeList} from '@/api/admin/repair/repairFailureType'
import RepairFailureTypeModal from './modules/RepairFailureTypeModal.vue'
import {checkPermission} from '@/utils/permissions'
export default {
name: 'TableList',
components: {
STable,
RepairFailureTypeModal
},
data () {
return {
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
form: this.$form.createForm(this),
mdl: {},
// /
advanced: false,
//
queryParam: {},
//
columns: [
{
title: '名称',
dataIndex: 'name'
},
{
title: '备注',
dataIndex: 'remark'
},
{
title: '园区ID',
dataIndex: 'parkId'
},
{
title: '操作',
width: '200px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
}
],
// Promise
loadData: parameter => {
return getRepairFailureTypeList(Object.assign(parameter, this.queryParam))
},
selectedRowKeys: [],
selectedRows: [],
addEnable: checkPermission('RepairFailureType:repairFailureType:add'),
editEnabel: checkPermission('RepairFailureType:repairFailureType:edit'),
removeEnable: checkPermission('RepairFailureType:repairFailureType:remove')
}
},
filters: {
},
created () {
},
methods: {
onSelectChange (selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
},
handleAdd () {
this.$refs.modal.add()
},
handleEdit (record) {
this.$refs.modal.edit(record)
},
handleOk () {
this.$refs.table.refresh(true)
console.log('handleSaveOk')
},
delByIds (ids) {
delRepairFailureType({ ids: ids.join(',') }).then(res => {
if (res.code === 0) {
this.$message.success('删除成功')
this.handleOk()
} else {
this.$message.error(res.msg)
}
this.selectedRowKeys = []
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,205 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="5" :sm="15">
<a-form-item label="维修速度">
<a-input placeholder="请输入维修速度" v-model="queryParam.speed"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="服务评价">
<a-input placeholder="请输入服务评价" v-model="queryParam.serve"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="效果评价">
<a-input placeholder="请输入效果评价" v-model="queryParam.effect"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="园区ID">
<a-input placeholder="请输入园区ID" v-model="queryParam.parkId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="保修id">
<a-input placeholder="请输入保修id" v-model="queryParam.repairId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="维修人员id">
<a-input placeholder="请输入维修人员id" v-model="queryParam.workerId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="评价人id">
<a-input placeholder="请输入评价人id" v-model="queryParam.userId"/>
</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>
<div class="table-operator">
<a-button v-if="addEnable" type="primary" icon="plus" @click="$refs.modal.add()">新建</a-button>
<a-dropdown v-if="removeEnable&&selectedRowKeys.length > 0">
<a-button type="danger" icon="delete" @click="delByIds(selectedRowKeys)">删除</a-button>
</a-dropdown>
</div>
<s-table
size="default"
ref="table"
rowKey="id"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:columns="columns"
:data="loadData"
>
<span slot="action" slot-scope="text, record">
<a v-if="editEnabel" @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a v-if="removeEnable" @click="delByIds([record.id])">删除</a>
</span>
</s-table>
<repairRecord-modal ref="modal" @ok="handleOk"/>
</a-card>
</template>
<script>
import {STable} from '@/components'
import {delRepairRecord} from '@/api/admin/repair/repairRecord'
import RepairRecordModal from './modules/RepairRecordModal.vue'
import {checkPermission} from '@/utils/permissions'
export default {
name: 'TableList',
components: {
STable,
RepairRecordModal
},
data () {
return {
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
form: this.$form.createForm(this),
mdl: {},
// /
advanced: false,
//
queryParam: {},
//
columns: [
{
title: '维修速度',
dataIndex: 'speed'
},
{
title: '服务评价',
dataIndex: 'serve'
},
{
title: '效果评价',
dataIndex: 'effect'
},
{
title: '留言反馈',
dataIndex: 'remark'
},
{
title: '图片',
dataIndex: 'img'
},
{
title: '园区ID',
dataIndex: 'parkId'
},
{
title: '保修id',
dataIndex: 'repairId'
},
{
title: '维修人员id',
dataIndex: 'workerId'
},
{
title: '评价人id',
dataIndex: 'userId'
},
{
title: '操作',
width: '200px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
}
],
// Promise
loadData: parameter => {
return getRepairRecordList(Object.assign(parameter, this.queryParam))
},
selectedRowKeys: [],
selectedRows: [],
addEnable: checkPermission('RepairRecord:repairRecord:add'),
editEnabel: checkPermission('RepairRecord:repairRecord:edit'),
removeEnable: checkPermission('RepairRecord:repairRecord:remove')
}
},
filters: {
},
created () {
},
methods: {
onSelectChange (selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
},
handleAdd () {
this.$refs.modal.add()
},
handleEdit (record) {
this.$refs.modal.edit(record)
},
handleOk () {
this.$refs.table.refresh(true)
console.log('handleSaveOk')
},
delByIds (ids) {
delRepairRecord({ ids: ids.join(',') }).then(res => {
if (res.code === 0) {
this.$message.success('删除成功')
this.handleOk()
} else {
this.$message.error(res.msg)
}
this.selectedRowKeys = []
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,161 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="5" :sm="15">
<a-form-item label="派单员id">
<a-input placeholder="请输入派单员id" v-model="queryParam.staffId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="设备类型id">
<a-input placeholder="请输入设备类型id" v-model="queryParam.typeId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="园区ID">
<a-input placeholder="请输入园区ID" v-model="queryParam.parkId"/>
</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>
<div class="table-operator">
<a-button v-if="addEnable" type="primary" icon="plus" @click="$refs.modal.add()">新建</a-button>
<a-dropdown v-if="removeEnable&&selectedRowKeys.length > 0">
<a-button type="danger" icon="delete" @click="delByIds(selectedRowKeys)">删除</a-button>
</a-dropdown>
</div>
<s-table
size="default"
ref="table"
rowKey="id"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:columns="columns"
:data="loadData"
>
<span slot="action" slot-scope="text, record">
<a v-if="editEnabel" @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a v-if="removeEnable" @click="delByIds([record.id])">删除</a>
</span>
</s-table>
<repairStaffType-modal ref="modal" @ok="handleOk"/>
</a-card>
</template>
<script>
import {STable} from '@/components'
import {delRepairStaffType} from '@/api/admin/repair/repairStaffType'
import RepairStaffTypeModal from './modules/RepairStaffTypeModal.vue'
import {checkPermission} from '@/utils/permissions'
export default {
name: 'TableList',
components: {
STable,
RepairStaffTypeModal
},
data () {
return {
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
form: this.$form.createForm(this),
mdl: {},
// /
advanced: false,
//
queryParam: {},
//
columns: [
{
title: '派单员id',
dataIndex: 'staffId'
},
{
title: '设备类型id',
dataIndex: 'typeId'
},
{
title: '园区ID',
dataIndex: 'parkId'
},
{
title: '操作',
width: '200px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
}
],
// Promise
loadData: parameter => {
return getRepairStaffTypeList(Object.assign(parameter, this.queryParam))
},
selectedRowKeys: [],
selectedRows: [],
addEnable: checkPermission('RepairStaffType:repairStaffType:add'),
editEnabel: checkPermission('RepairStaffType:repairStaffType:edit'),
removeEnable: checkPermission('RepairStaffType:repairStaffType:remove')
}
},
filters: {
},
created () {
},
methods: {
onSelectChange (selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
},
handleAdd () {
this.$refs.modal.add()
},
handleEdit (record) {
this.$refs.modal.edit(record)
},
handleOk () {
this.$refs.table.refresh(true)
console.log('handleSaveOk')
},
delByIds (ids) {
delRepairStaffType({ ids: ids.join(',') }).then(res => {
if (res.code === 0) {
this.$message.success('删除成功')
this.handleOk()
} else {
this.$message.error(res.msg)
}
this.selectedRowKeys = []
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,148 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="5" :sm="15">
<a-form-item label="名称">
<a-input placeholder="请输入名称" v-model="queryParam.name"/>
</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>
<div class="table-operator">
<a-button v-if="addEnable" type="primary" icon="plus" @click="$refs.modal.add()">新建</a-button>
<a-dropdown v-if="removeEnable&&selectedRowKeys.length > 0">
<a-button type="danger" icon="delete" @click="delByIds(selectedRowKeys)">删除</a-button>
</a-dropdown>
</div>
<s-table
size="default"
ref="table"
rowKey="id"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:columns="columns"
:data="loadData"
>
<span slot="action" slot-scope="text, record">
<a v-if="editEnabel" @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a v-if="removeEnable" @click="delByIds([record.id])">删除</a>
</span>
</s-table>
<repairType-modal ref="modal" @ok="handleOk"/>
</a-card>
</template>
<script>
import {STable} from '@/components'
import {delRepairType,getRepairTypeList} from '@/api/admin/repair/repairType'
import RepairTypeModal from './modules/RepairTypeModal.vue'
import {checkPermission} from '@/utils/permissions'
export default {
name: 'TableList',
components: {
STable,
RepairTypeModal
},
data () {
return {
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
form: this.$form.createForm(this),
mdl: {},
// /
advanced: false,
//
queryParam: {},
//
columns: [
{
title: '名称',
dataIndex: 'name'
},
{
title: '备注',
dataIndex: 'remark'
},
{
title: '操作',
width: '200px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
}
],
// Promise
loadData: parameter => {
return getRepairTypeList(Object.assign(parameter, this.queryParam))
},
selectedRowKeys: [],
selectedRows: [],
addEnable: checkPermission('RepairType:repairType:add'),
editEnabel: checkPermission('RepairType:repairType:edit'),
removeEnable: checkPermission('RepairType:repairType:remove')
}
},
filters: {
},
created () {
},
methods: {
onSelectChange (selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
},
handleAdd () {
this.$refs.modal.add()
},
handleEdit (record) {
this.$refs.modal.edit(record)
},
handleOk () {
this.$refs.table.refresh(true)
console.log('handleSaveOk')
},
delByIds (ids) {
delRepairType({ ids: ids.join(',') }).then(res => {
if (res.code === 0) {
this.$message.success('删除成功')
this.handleOk()
} else {
this.$message.error(res.msg)
}
this.selectedRowKeys = []
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,161 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="5" :sm="15">
<a-form-item label="维修人id">
<a-input placeholder="请输入维修人id" v-model="queryParam.workerId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="设备类型id">
<a-input placeholder="请输入设备类型id" v-model="queryParam.typeId"/>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="园区ID">
<a-input placeholder="请输入园区ID" v-model="queryParam.parkId"/>
</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>
<div class="table-operator">
<a-button v-if="addEnable" type="primary" icon="plus" @click="$refs.modal.add()">新建</a-button>
<a-dropdown v-if="removeEnable&&selectedRowKeys.length > 0">
<a-button type="danger" icon="delete" @click="delByIds(selectedRowKeys)">删除</a-button>
</a-dropdown>
</div>
<s-table
size="default"
ref="table"
rowKey="id"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
:columns="columns"
:data="loadData"
>
<span slot="action" slot-scope="text, record">
<a v-if="editEnabel" @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a v-if="removeEnable" @click="delByIds([record.id])">删除</a>
</span>
</s-table>
<repairWorkerType-modal ref="modal" @ok="handleOk"/>
</a-card>
</template>
<script>
import {STable} from '@/components'
import {delRepairWorkerType} from '@/api/admin/repair/repairWorkerType'
import RepairWorkerTypeModal from './modules/RepairWorkerTypeModal.vue'
import {checkPermission} from '@/utils/permissions'
export default {
name: 'TableList',
components: {
STable,
RepairWorkerTypeModal
},
data () {
return {
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
form: this.$form.createForm(this),
mdl: {},
// /
advanced: false,
//
queryParam: {},
//
columns: [
{
title: '维修人id',
dataIndex: 'workerId'
},
{
title: '设备类型id',
dataIndex: 'typeId'
},
{
title: '园区ID',
dataIndex: 'parkId'
},
{
title: '操作',
width: '200px',
dataIndex: 'action',
scopedSlots: { customRender: 'action' }
}
],
// Promise
loadData: parameter => {
return getRepairWorkerTypeList(Object.assign(parameter, this.queryParam))
},
selectedRowKeys: [],
selectedRows: [],
addEnable: checkPermission('RepairWorkerType:repairWorkerType:add'),
editEnabel: checkPermission('RepairWorkerType:repairWorkerType:edit'),
removeEnable: checkPermission('RepairWorkerType:repairWorkerType:remove')
}
},
filters: {
},
created () {
},
methods: {
onSelectChange (selectedRowKeys, selectedRows) {
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
},
handleAdd () {
this.$refs.modal.add()
},
handleEdit (record) {
this.$refs.modal.edit(record)
},
handleOk () {
this.$refs.table.refresh(true)
console.log('handleSaveOk')
},
delByIds (ids) {
delRepairWorkerType({ ids: ids.join(',') }).then(res => {
if (res.code === 0) {
this.$message.success('删除成功')
this.handleOk()
} else {
this.$message.error(res.msg)
}
this.selectedRowKeys = []
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,123 @@
<template>
<a-modal
title="操作"
style="top: 20px;"
:width="800"
v-model="visible"
:confirmLoading="confirmLoading"
@ok="handleSubmit"
>
<a-form :form="form">
<a-form-item style="display:none">
<a-input v-decorator="['id']" />
</a-form-item>
<a-form-item style="display:none">
<a-input v-decorator="['version']" />
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="名称">
<a-input placeholder="名称" v-decorator="['name']" />
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="品牌">
<a-input placeholder="品牌" v-decorator="['brand']" />
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="规格">
<a-input placeholder="规格" v-decorator="['specification']" />
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="所属分类">
<a-select v-decorator="['typeId', {rules: [{ required: true, message: '请选择所属分类' }]}]"
@change="selectType">
<a-select-option v-for="item in typeList" :key="item.id">{{ item.name }}</a-select-option>
</a-select>
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import { saveRepairDevice } from '@/api/admin/repair/repairDevice'
import {getRepairTypeList} from '@/api/admin/repair/repairType'
import pick from 'lodash.pick'
export default {
name: 'RepairDeviceModal',
props: {},
components: {},
data () {
return {
visible: false,
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
confirmLoading: false,
mdl: {},
form: this.$form.createForm(this),
typeList: []
}
},
beforeCreate () {
},
created () {
this.selectType()
},
methods: {
//
selectType () {
getRepairTypeList().then(res => {
this.typeList = res.rows
})
},
add () {
this.form.resetFields()
this.edit({ id: 0 })
},
edit (record) {
this.mdl = Object.assign(record)
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'name', 'brand', 'specification', 'picUrl', 'fileUrl', 'remark', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime', 'tenantId', 'parkId'))
})
},
handleSubmit (e) {
e.preventDefault()
this.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values)
this.confirmLoading = true
saveRepairDevice(values).then(res => {
if (res.code === 0) {
this.$message.success('保存成功')
this.$emit('ok')
this.visible = false
} else {
this.$message.error(res.msg)
}
}).catch(() => {
this.$message.error('系统错误,请稍后再试')
}).finally(() => {
this.confirmLoading = false
})
}
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,106 @@
<template>
<a-modal
title="操作"
style="top: 20px;"
:width="800"
v-model="visible"
:confirmLoading="confirmLoading"
@ok="handleSubmit"
>
<a-form :form="form">
<a-form-item style="display:none">
<a-input v-decorator="['id']"/>
</a-form-item>
<a-form-item style="display:none">
<a-input v-decorator="['version']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="名称">
<a-input placeholder="名称" v-decorator="['name']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="备注">
<a-input placeholder="备注" v-decorator="['remark']"/>
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import {saveRepairFailureType,getRepairFailureTypeList} from '@/api/admin/repair/repairFailureType'
import pick from 'lodash.pick'
export default {
name: 'RepairFailureTypeModal',
props: {
},
components: {
},
data () {
return {
visible: false,
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
confirmLoading: false,
mdl: {},
form: this.$form.createForm(this)
}
},
beforeCreate () {
},
created () {
},
methods: {
add () {
this.form.resetFields()
this.edit({ id: 0 })
},
edit (record) {
this.mdl = Object.assign(record)
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'name', 'remark', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime', 'tenantId', 'parkId'))
})
},
handleSubmit (e) {
e.preventDefault()
this.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values)
this.confirmLoading = true
saveRepairFailureType(values).then(res => {
if (res.code === 0) {
this.$message.success('保存成功')
this.$emit('ok')
this.visible = false
} else {
this.$message.error(res.msg)
}
}).catch(() => {
this.$message.error('系统错误,请稍后再试')
}).finally(() => {
this.confirmLoading = false
})
}
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,136 @@
<template>
<a-modal
title="操作"
style="top: 20px;"
:width="800"
v-model="visible"
:confirmLoading="confirmLoading"
@ok="handleSubmit"
>
<a-form :form="form">
<a-form-item style="display:none">
<a-input v-decorator="['id']"/>
</a-form-item>
<a-form-item style="display:none">
<a-input v-decorator="['version']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修速度">
<a-input placeholder="维修速度" v-decorator="['speed']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="服务评价">
<a-input placeholder="服务评价" v-decorator="['serve']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="效果评价">
<a-input placeholder="效果评价" v-decorator="['effect']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="留言反馈">
<a-input placeholder="留言反馈" v-decorator="['remark']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="删除标志">
<a-input placeholder="删除标志" v-decorator="['deleteFlag']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="创建者">
<a-input placeholder="创建者" v-decorator="['createBy']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="更新者">
<a-input placeholder="更新者" v-decorator="['updateBy']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="租户ID">
<a-input placeholder="租户ID" v-decorator="['tenantId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="园区ID">
<a-input placeholder="园区ID" v-decorator="['parkId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="保修id">
<a-input placeholder="保修id" v-decorator="['repairId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修人员id">
<a-input placeholder="维修人员id" v-decorator="['workerId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="评价人id">
<a-input placeholder="评价人id" v-decorator="['userId']"/>
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import {saveRepairRecord} from '@/api/admin/repair/repairRecord'
import pick from 'lodash.pick'
export default {
name: 'RepairRecordModal',
props: {
},
components: {
},
data () {
return {
visible: false,
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
confirmLoading: false,
mdl: {},
form: this.$form.createForm(this)
}
},
beforeCreate () {
},
created () {
},
methods: {
add () {
this.form.resetFields()
this.edit({ id: 0 })
},
edit (record) {
this.mdl = Object.assign(record)
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'speed', 'serve', 'effect', 'remark', 'img', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime', 'tenantId', 'parkId', 'repairId', 'workerId', 'userId'))
})
},
handleSubmit (e) {
e.preventDefault()
this.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values)
this.confirmLoading = true
saveRepairRecord(values).then(res => {
if (res.code === 0) {
this.$message.success('保存成功')
this.$emit('ok')
this.visible = false
} else {
this.$message.error(res.msg)
}
}).catch(() => {
this.$message.error('系统错误,请稍后再试')
}).finally(() => {
this.confirmLoading = false
})
}
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,121 @@
<template>
<a-modal
title="操作"
style="top: 20px;"
:width="800"
v-model="visible"
:confirmLoading="confirmLoading"
@ok="handleSubmit"
>
<a-form :form="form">
<a-form-item style="display:none">
<a-input v-decorator="['id']"/>
</a-form-item>
<a-form-item style="display:none">
<a-input v-decorator="['version']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="派单员id">
<a-input placeholder="派单员id" v-decorator="['staffId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="设备类型id">
<a-input placeholder="设备类型id" v-decorator="['typeId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="删除标志">
<a-input placeholder="删除标志" v-decorator="['deleteFlag']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="创建者">
<a-input placeholder="创建者" v-decorator="['createBy']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="更新者">
<a-input placeholder="更新者" v-decorator="['updateBy']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="租户ID">
<a-input placeholder="租户ID" v-decorator="['tenantId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="园区ID">
<a-input placeholder="园区ID" v-decorator="['parkId']"/>
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import {saveRepairStaffType} from '@/api/admin/repair/repairStaffType'
import pick from 'lodash.pick'
export default {
name: 'RepairStaffTypeModal',
props: {
},
components: {
},
data () {
return {
visible: false,
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
confirmLoading: false,
mdl: {},
form: this.$form.createForm(this)
}
},
beforeCreate () {
},
created () {
},
methods: {
add () {
this.form.resetFields()
this.edit({ id: 0 })
},
edit (record) {
this.mdl = Object.assign(record)
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'staffId', 'typeId', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime', 'tenantId', 'parkId'))
})
},
handleSubmit (e) {
e.preventDefault()
this.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values)
this.confirmLoading = true
saveRepairStaffType(values).then(res => {
if (res.code === 0) {
this.$message.success('保存成功')
this.$emit('ok')
this.visible = false
} else {
this.$message.error(res.msg)
}
}).catch(() => {
this.$message.error('系统错误,请稍后再试')
}).finally(() => {
this.confirmLoading = false
})
}
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,121 @@
<template>
<a-modal
title="操作"
style="top: 20px;"
:width="800"
v-model="visible"
:confirmLoading="confirmLoading"
@ok="handleSubmit"
>
<a-form :form="form">
<a-form-item style="display:none">
<a-input v-decorator="['id']"/>
</a-form-item>
<a-form-item style="display:none">
<a-input v-decorator="['version']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="名称">
<a-input placeholder="名称" v-decorator="['name']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="备注">
<a-input placeholder="备注" v-decorator="['remark']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="删除标志">
<a-input placeholder="删除标志" v-decorator="['deleteFlag']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="创建者">
<a-input placeholder="创建者" v-decorator="['createBy']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="更新者">
<a-input placeholder="更新者" v-decorator="['updateBy']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="租户ID">
<a-input placeholder="租户ID" v-decorator="['tenantId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="园区ID">
<a-input placeholder="园区ID" v-decorator="['parkId']"/>
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import {saveRepairType} from '@/api/admin/repair/repairType'
import pick from 'lodash.pick'
export default {
name: 'RepairTypeModal',
props: {
},
components: {
},
data () {
return {
visible: false,
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
confirmLoading: false,
mdl: {},
form: this.$form.createForm(this)
}
},
beforeCreate () {
},
created () {
},
methods: {
add () {
this.form.resetFields()
this.edit({ id: 0 })
},
edit (record) {
this.mdl = Object.assign(record)
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'name', 'remark', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime', 'tenantId', 'parkId'))
})
},
handleSubmit (e) {
e.preventDefault()
this.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values)
this.confirmLoading = true
saveRepairType(values).then(res => {
if (res.code === 0) {
this.$message.success('保存成功')
this.$emit('ok')
this.visible = false
} else {
this.$message.error(res.msg)
}
}).catch(() => {
this.$message.error('系统错误,请稍后再试')
}).finally(() => {
this.confirmLoading = false
})
}
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>

View File

@ -0,0 +1,121 @@
<template>
<a-modal
title="操作"
style="top: 20px;"
:width="800"
v-model="visible"
:confirmLoading="confirmLoading"
@ok="handleSubmit"
>
<a-form :form="form">
<a-form-item style="display:none">
<a-input v-decorator="['id']"/>
</a-form-item>
<a-form-item style="display:none">
<a-input v-decorator="['version']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修人id">
<a-input placeholder="维修人id" v-decorator="['workerId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="设备类型id">
<a-input placeholder="设备类型id" v-decorator="['typeId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="删除标志">
<a-input placeholder="删除标志" v-decorator="['deleteFlag']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="创建者">
<a-input placeholder="创建者" v-decorator="['createBy']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="更新者">
<a-input placeholder="更新者" v-decorator="['updateBy']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="租户ID">
<a-input placeholder="租户ID" v-decorator="['tenantId']"/>
</a-form-item>
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="园区ID">
<a-input placeholder="园区ID" v-decorator="['parkId']"/>
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import {saveRepairWorkerType} from '@/api/admin/repair/repairWorkerType'
import pick from 'lodash.pick'
export default {
name: 'RepairWorkerTypeModal',
props: {
},
components: {
},
data () {
return {
visible: false,
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 }
},
confirmLoading: false,
mdl: {},
form: this.$form.createForm(this)
}
},
beforeCreate () {
},
created () {
},
methods: {
add () {
this.form.resetFields()
this.edit({ id: 0 })
},
edit (record) {
this.mdl = Object.assign(record)
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'workerId', 'typeId', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime', 'tenantId', 'parkId'))
})
},
handleSubmit (e) {
e.preventDefault()
this.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values)
this.confirmLoading = true
saveRepairWorkerType(values).then(res => {
if (res.code === 0) {
this.$message.success('保存成功')
this.$emit('ok')
this.visible = false
} else {
this.$message.error(res.msg)
}
}).catch(() => {
this.$message.error('系统错误,请稍后再试')
}).finally(() => {
this.confirmLoading = false
})
}
})
}
},
watch: {
/*
'selectedRows': function (selectedRows) {
this.needTotalList = this.needTotalList.map(item => {
return {
...item,
total: selectedRows.reduce( (sum, val) => {
return sum + val[item.dataIndex]
}, 0)
}
})
}
*/
}
}
</script>