修改了新增工单问题

This commit is contained in:
chenze 2024-08-29 13:36:34 +08:00
parent 45ee4039af
commit 375823ecac
5 changed files with 79 additions and 30 deletions

View File

@ -58,7 +58,7 @@ export function complete (parameter) {
export function delRepair (parameter) {
return axios({
url: api.repair + '/remove',
url: api.repair + '/delete',
method: 'post',
params: parameter
})

View File

@ -3,15 +3,31 @@
<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.sn" />
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item label="关键词">
<a-input placeholder="请输入关键词" v-model="queryParam.explain" />
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="所属分类">
<a-form-item label="报修来源">
<a-select v-model="queryParam.remark"
v-decorator="['remark']">
<a-select-option v-for="item in remarkOption" :key="item.value">
{{ item.label }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="5" :sm="15">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="故障类型">
<a-select :label-in-value="true"
v-decorator="['typeId', {rules: [{ required: true, message: '请选择所属分类' }]}]"
v-decorator="['typeId', {rules: [{ required: true, message: '请选择故障类型' }]}]"
@change="selectDevice">
<a-select-option v-for="item in typeList" :key="item.id" :value="item.id">{{ item.name }}
</a-select-option>
@ -56,7 +72,7 @@
</a-col>
<a-col :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" @click="getRepairList()">查询</a-button>
<a-button type="primary" @click="selectRepairList()">查询</a-button>
<a-button style="margin-left: 8px" @click="() => queryParam = {}">重置</a-button>
<a-button style="margin-left: 8px" type="primary" @click="exportRepair()">导出工单模版</a-button>
<a-button style="margin-left: 8px" type="primary" @click="importDataVisible()">导入</a-button>
@ -90,8 +106,12 @@
</span>
<span slot="action" slot-scope="text, record">
<a v-if="editEnabel" @click="handleView(record.id)">详情</a>
<!-- <a v-if="editEnabel" @click="handleEdit(record)">指派</a>-->
<!-- <a-divider type="vertical" />-->
<a-divider type="vertical" />
<a v-if="editEnabel" @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a type="danger" @click="delByIds(record.id)">删除</a>
</span>
</a-table>
<repair-modal ref="modal" @ok="handleOk" />
@ -114,8 +134,8 @@
<script>
import { STable } from '@/components'
import { getRepairList, complete } from '@/api/admin/repair'
import { oneWorkerList, oneFloorList, oneFloorCreateList} from '@/api/admin/repair/repairStats'
import { getRepairList, complete, delRepair } from '@/api/admin/repair'
import { oneWorkerList, oneFloorList, oneFloorCreateList } from '@/api/admin/repair/repairStats'
import RepairModal from './modules/RepairModal.vue'
import { checkPermission } from '@/utils/permissions'
import { getRepairDeviceList } from '@/api/admin/repair/repairDevice'
@ -123,7 +143,7 @@ import { getRepairTypeList } from '@/api/admin/repair/repairDeviceType'
import { exportRepair, exportTemplate, importData } from '@/api/admin/repair/repairIo'
import storage from 'store'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import { message } from 'ant-design-vue';
import { message } from 'ant-design-vue'
export default {
name: 'TableList',
@ -172,6 +192,14 @@ export default {
label: '五级'
}
],
remarkOption: [{
value: '',
label: '普通报修'
}, {
value: '5110',
label: '5110'
}
],
options: [{
value: '1',
label: '待分配'
@ -264,7 +292,7 @@ export default {
}
},
created () {
this.getRepairList()
this.selectRepairList()
this.selectType()
},
methods: {
@ -307,11 +335,11 @@ export default {
//
exportRepairList () {
if (this.dateRange.length < 2) {
message.error("请先设置时间范围,系统将根据时间范围导出工单数据")
return;
message.error('请先设置时间范围,系统将根据时间范围导出工单数据')
return
}
const startDate = this.dateRange[0].format('YYYY-MM-DD');
const endDate = this.dateRange[1].format('YYYY-MM-DD');
const startDate = this.dateRange[0].format('YYYY-MM-DD')
const endDate = this.dateRange[1].format('YYYY-MM-DD')
exportRepair({ startDate: startDate, endDate: endDate }).then(res => {
this.exportExcel('工单数据', res)
})
@ -356,7 +384,7 @@ export default {
this.queryParam.deviceId = item.key
},
//
getRepairList () {
selectRepairList () {
if (this.$route.query.repairUserId != null) {
oneWorkerList({ workerId: this.$route.query.repairUserId }).then(res => {
this.loadData = res.rows
@ -388,7 +416,29 @@ export default {
this.loadData = res.rows
})
}
},
delByIds (ids) {
const _this = this
this.$confirm({
title: '警告',
content: '确认要删除工单吗?',
okText: '是',
okType: 'warning',
cancelText: '否',
onOk () {
delRepair({ id: ids }).then(res => {
if (res.code === 0) {
console.log(res.code)
message.success('删除成功')
_this.selectRepairList()
} else {
message.error(res.msg)
}
})
},
onCancel () {
}
})
},
handleAdd () {
this.$refs.modal.add()

View File

@ -126,15 +126,9 @@
</a-card>
<a-card style="margin-top: 10px" :bordered="false" title="评价">
<a-descriptions>
<a-descriptions-item label="维修速度">
<a-rate v-model="mdl.evalService" disabled />
</a-descriptions-item>
<a-descriptions-item label="服务评价">
<a-rate v-model="mdl.evalService" disabled />
</a-descriptions-item>
<a-descriptions-item label="效果评价">
<a-rate v-model="mdl.evalService" disabled />
</a-descriptions-item>
<a-descriptions-item label="意见建议">
{{ mdl.remark }}
</a-descriptions-item>

View File

@ -14,7 +14,7 @@
<a-row>
<a-col :span="10">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="所属分类">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="故障类型">
<a-select :label-in-value="true"
v-decorator="['typeId', {rules: [{ required: true, message: '请选择所属分类' }]}]"
@change="selectDevice">
@ -50,8 +50,8 @@
</a-row>
<a-row>
<a-col :span="10">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="维修负责人">
<a-select v-decorator="['repairUserId', {rules: [{ required: true, message: '请输入维修负责人' }]}]"
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="派单员">
<a-select v-decorator="['repairUserId']"
@change="selectUser">
<a-select-option v-for="item in userList" :key="item.userId">{{ item.userName }}</a-select-option>
</a-select>
@ -82,22 +82,22 @@
<a-col :span="10">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="门牌号(地点)">
<a-input placeholder="门牌号"
v-decorator="['room', {rules: [{ message: '请输入门牌号' }]}]" />
v-decorator="['room' ]" />
</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="['failureTypeId', {rules: [{ required: true, message: '请选择所属设备' }]}]"
<a-select v-decorator="['failureTypeId' ]"
>
<a-select-option v-for="item in failureTypeList" :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-textarea placeholder="报修内容" v-decorator="['explain']" />
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="故障描述">
<a-textarea placeholder="故障描述" v-decorator="['explain']" />
</a-form-item>
</a-col>
</a-row>
@ -276,10 +276,14 @@ export default {
this.edit({ id: 0 })
},
edit (record) {
console.log(this.typeList)
this.mdl = Object.assign(record)
this.mdl.typeList = this.typeList
this.visible = true
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'repairImages', 'workerId', 'repairMateriel'))
this.form.setFieldsValue(pick(this.mdl, 'id', 'sn', 'repairName', 'typeList', 'repairLevel', 'typeId', 'typeName', 'deviceId', 'deviceName',
'name', 'phone', 'addressId', 'address', 'floorId', 'floor', 'room', 'explain', 'perUserId', 'perUserName', 'preDate', 'cause',
'solution', 'failureTypeId', 'failureTypeName'))
})
//
if (this.mdl.beginDate !== null && this.mdl.beginDate !== undefined && this.mdl.endDate !== null && this.mdl.endDate !== undefined) {

View File

@ -59,6 +59,7 @@
this.edit({ id: 0 })
},
edit (record) {
console.log(record)
this.mdl = Object.assign(record)
this.visible = true
this.$nextTick(() => {