Commit 0b10c798d6bd9f812130d7056534376a99d624fb

Authored by wuxw
1 parent 7684a533

v1.9 优化报修相关bug

src/api/work/repairPoolManageApi.js
@@ -46,10 +46,10 @@ export function dispatchRepair(data) { @@ -46,10 +46,10 @@ export function dispatchRepair(data) {
46 } 46 }
47 }).then(response => { 47 }).then(response => {
48 const res = response.data 48 const res = response.data
49 - if (res.code === 0) { 49 + if (res.code == 0) {
50 resolve(res) 50 resolve(res)
51 } else { 51 } else {
52 - reject(new Error(res.msg || 'Dispatch failed')) 52 + reject(new Error(res.msg ))
53 } 53 }
54 }).catch(error => { 54 }).catch(error => {
55 reject(error) 55 reject(error)
src/components/room/addShops.vue
@@ -50,6 +50,7 @@ export default { @@ -50,6 +50,7 @@ export default {
50 data() { 50 data() {
51 return { 51 return {
52 dialogVisible: false, 52 dialogVisible: false,
  53 + floors:[],
53 formData: { 54 formData: {
54 roomNum: '', 55 roomNum: '',
55 layer: '', 56 layer: '',
src/components/work/addOwnerRepair.vue
1 <template> 1 <template>
2 <el-dialog :title="$t('addOwnerRepair.title')" :visible.sync="visible" width="50%" @close="closeDialog"> 2 <el-dialog :title="$t('addOwnerRepair.title')" :visible.sync="visible" width="50%" @close="closeDialog">
3 <el-form ref="form" :model="formData" :rules="rules" label-width="120px"> 3 <el-form ref="form" :model="formData" :rules="rules" label-width="120px">
4 - <el-form-item :label="$t('addOwnerRepair.repairScope')" prop="repairObjType" required> 4 + <el-form-item :label="$t('addOwnerRepair.repairScope')" prop="repairObjType" >
5 <el-select v-model="formData.repairObjType" style="width:100%" @change="changeRepairObjType"> 5 <el-select v-model="formData.repairObjType" style="width:100%" @change="changeRepairObjType">
6 <el-option v-for="item in repairObjTypes" :key="item.value" :label="item.label" :value="item.value" /> 6 <el-option v-for="item in repairObjTypes" :key="item.value" :label="item.label" :value="item.value" />
7 </el-select> 7 </el-select>
@@ -27,26 +27,26 @@ @@ -27,26 +27,26 @@
27 </el-select> 27 </el-select>
28 </el-form-item> 28 </el-form-item>
29 29
30 - <el-form-item :label="$t('addOwnerRepair.repairType')" prop="repairType" required> 30 + <el-form-item :label="$t('addOwnerRepair.repairType')" prop="repairType" >
31 <el-select v-model="formData.repairType" style="width:100%"> 31 <el-select v-model="formData.repairType" style="width:100%">
32 <el-option v-for="item in repairSettings" :key="item.repairType" :label="item.repairTypeName" 32 <el-option v-for="item in repairSettings" :key="item.repairType" :label="item.repairTypeName"
33 :value="item.repairType" /> 33 :value="item.repairType" />
34 </el-select> 34 </el-select>
35 </el-form-item> 35 </el-form-item>
36 36
37 - <el-form-item :label="$t('addOwnerRepair.repairName')" prop="repairName" required> 37 + <el-form-item :label="$t('addOwnerRepair.repairName')" prop="repairName" >
38 <el-input v-model.trim="formData.repairName" :placeholder="$t('addOwnerRepair.placeholder.repairName')" /> 38 <el-input v-model.trim="formData.repairName" :placeholder="$t('addOwnerRepair.placeholder.repairName')" />
39 </el-form-item> 39 </el-form-item>
40 40
41 - <el-form-item :label="$t('addOwnerRepair.tel')" prop="tel" required> 41 + <el-form-item :label="$t('addOwnerRepair.tel')" prop="tel" >
42 <el-input v-model.trim="formData.tel" type="tel" :placeholder="$t('addOwnerRepair.placeholder.tel')" /> 42 <el-input v-model.trim="formData.tel" type="tel" :placeholder="$t('addOwnerRepair.placeholder.tel')" />
43 </el-form-item> 43 </el-form-item>
44 44
45 - <el-form-item :label="$t('addOwnerRepair.appointmentTime')" prop="appointmentTime" required> 45 + <el-form-item :label="$t('addOwnerRepair.appointmentTime')" prop="appointmentTime" >
46 <el-date-picker v-model="formData.appointmentTime" type="datetime" style="width:100%" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('addOwnerRepair.placeholder.appointmentTime')" /> 46 <el-date-picker v-model="formData.appointmentTime" type="datetime" style="width:100%" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('addOwnerRepair.placeholder.appointmentTime')" />
47 </el-form-item> 47 </el-form-item>
48 48
49 - <el-form-item :label="$t('addOwnerRepair.context')" prop="context" required> 49 + <el-form-item :label="$t('addOwnerRepair.context')" prop="context" >
50 <el-input v-model.trim="formData.context" type="textarea" rows="4" :placeholder="$t('addOwnerRepair.placeholder.context')" /> 50 <el-input v-model.trim="formData.context" type="textarea" rows="4" :placeholder="$t('addOwnerRepair.placeholder.context')" />
51 </el-form-item> 51 </el-form-item>
52 </el-form> 52 </el-form>
src/components/work/chooseSingleResource.vue
@@ -273,7 +273,8 @@ export default { @@ -273,7 +273,8 @@ export default {
273 price: this.form.price, 273 price: this.form.price,
274 useNumber: this.form.useNumber, 274 useNumber: this.form.useNumber,
275 isCustom: this.form.isCustom, 275 isCustom: this.form.isCustom,
276 - customGoodsName: this.form.customGoodsName 276 + customGoodsName: this.form.customGoodsName,
  277 + resName:this.form.customGoodsName
277 } 278 }
278 279
279 if (this.form.isCustom) { 280 if (this.form.isCustom) {
src/components/work/dispatchRepair.vue
@@ -111,6 +111,7 @@ export default { @@ -111,6 +111,7 @@ export default {
111 this.$emit('success') 111 this.$emit('success')
112 } catch (error) { 112 } catch (error) {
113 console.error('Dispatch repair failed:', error) 113 console.error('Dispatch repair failed:', error)
  114 + this.$message.error(error)
114 } 115 }
115 } 116 }
116 }) 117 })
src/components/work/forceFinishRepair.vue
1 <template> 1 <template>
2 <el-dialog :title="$t('forceFinishRepair.title')" :visible.sync="visible" width="40%" @close="closeDialog"> 2 <el-dialog :title="$t('forceFinishRepair.title')" :visible.sync="visible" width="40%" @close="closeDialog">
3 <el-form label-width="120px"> 3 <el-form label-width="120px">
4 - <el-form-item v-if="form.repairObjType !== '004'" :label="$t('forceFinishRepair.useMaterial')"> 4 + <!-- <el-form-item v-if="form.repairObjType !== '004'" :label="$t('forceFinishRepair.useMaterial')">
5 <el-select v-model="form.maintenanceType" placeholder="请选择" style="width:100%"> 5 <el-select v-model="form.maintenanceType" placeholder="请选择" style="width:100%">
6 <template v-for="item in maintenanceTypes"> 6 <template v-for="item in maintenanceTypes">
7 <el-option :key="item.statusCd" :label="item.name" :value="item.statusCd" 7 <el-option :key="item.statusCd" :label="item.name" :value="item.statusCd"
@@ -17,18 +17,18 @@ @@ -17,18 +17,18 @@
17 v-if="item.statusCd !== '1003' && item.statusCd !== '1004'" /> 17 v-if="item.statusCd !== '1003' && item.statusCd !== '1004'" />
18 </template> 18 </template>
19 </el-select> 19 </el-select>
20 - </el-form-item> 20 + </el-form-item> -->
21 21
22 <template v-if="form.maintenanceType === '1001' || form.maintenanceType === '1003'"> 22 <template v-if="form.maintenanceType === '1001' || form.maintenanceType === '1003'">
23 <el-form-item :label="$t('forceFinishRepair.goodsType')"> 23 <el-form-item :label="$t('forceFinishRepair.goodsType')">
24 <el-select v-model="form.rsId" placeholder="请选择" style="width:100%" @change="listSonResourceStoreType"> 24 <el-select v-model="form.rsId" placeholder="请选择" style="width:100%" @change="listSonResourceStoreType">
25 - <el-option v-for="item in resourceStoreTypes" :key="item.rstId" :label="item.name" :value="item.rstId" /> 25 + <el-option v-for="item in form.resourceStoreTypes" :key="item.rstId" :label="item.name" :value="item.rstId" />
26 </el-select> 26 </el-select>
27 </el-form-item> 27 </el-form-item>
28 28
29 <template v-if="form.isCustom"> 29 <template v-if="form.isCustom">
30 <el-form-item :label="$t('forceFinishRepair.goodsName')"> 30 <el-form-item :label="$t('forceFinishRepair.goodsName')">
31 - <el-input v-model="form.customGoodsName" :placeholder="$t('forceFinishRepair.goodsNamePlaceholder')" /> 31 + <el-input v-model="form.customGoodsName" :placeholder="$t('forceFinishRepair.goodsName')" />
32 </el-form-item> 32 </el-form-item>
33 33
34 <el-form-item v-if="form.maintenanceType === '1001'" :label="$t('forceFinishRepair.customPrice')"> 34 <el-form-item v-if="form.maintenanceType === '1001'" :label="$t('forceFinishRepair.customPrice')">
@@ -39,13 +39,14 @@ @@ -39,13 +39,14 @@
39 <template v-else> 39 <template v-else>
40 <el-form-item :label="$t('forceFinishRepair.secondaryCategory')"> 40 <el-form-item :label="$t('forceFinishRepair.secondaryCategory')">
41 <el-select v-model="form.rstId" placeholder="请选择" style="width:100%" @change="choseGoods"> 41 <el-select v-model="form.rstId" placeholder="请选择" style="width:100%" @change="choseGoods">
42 - <el-option v-for="item in sonResourceStoreTypes" :key="item.rstId" :label="item.name" :value="item.rstId" /> 42 + <el-option v-for="item in form.sonResourceStoreTypes" :key="item.rstId" :label="item.name"
  43 + :value="item.rstId" />
43 </el-select> 44 </el-select>
44 </el-form-item> 45 </el-form-item>
45 46
46 <el-form-item v-if="form.rstId" :label="$t('forceFinishRepair.goods')"> 47 <el-form-item v-if="form.rstId" :label="$t('forceFinishRepair.goods')">
47 <el-select v-model="form.resId" placeholder="请选择" style="width:100%" @change="chosePrice"> 48 <el-select v-model="form.resId" placeholder="请选择" style="width:100%" @change="chosePrice">
48 - <el-option v-for="item in resourceStores" :key="item.resId" :label="item.resName" :value="item.resId" /> 49 + <el-option v-for="item in form.resourceStores" :key="item.resId" :label="item.resName" :value="item.resId" />
49 </el-select> 50 </el-select>
50 </el-form-item> 51 </el-form-item>
51 </template> 52 </template>
@@ -64,8 +65,7 @@ @@ -64,8 +65,7 @@
64 </template> 65 </template>
65 66
66 <el-form-item :label="$t('forceFinishRepair.explanation')"> 67 <el-form-item :label="$t('forceFinishRepair.explanation')">
67 - <el-input v-model="form.context" type="textarea" :placeholder="$t('forceFinishRepair.explanation')"  
68 - :rows="4" /> 68 + <el-input v-model="form.context" type="textarea" :placeholder="$t('forceFinishRepair.explanation')" :rows="4" />
69 </el-form-item> 69 </el-form-item>
70 </el-form> 70 </el-form>
71 71
@@ -99,7 +99,7 @@ export default { @@ -99,7 +99,7 @@ export default {
99 repairType: '', 99 repairType: '',
100 repairObjType: '', 100 repairObjType: '',
101 context: '', 101 context: '',
102 - maintenanceType: '', 102 + maintenanceType: '1002',
103 resId: '', 103 resId: '',
104 rsId: '', 104 rsId: '',
105 isCustom: false, 105 isCustom: false,
@@ -174,13 +174,15 @@ export default { @@ -174,13 +174,15 @@ export default {
174 try { 174 try {
175 const params = { 175 const params = {
176 repairId: this.form.repairId, 176 repairId: this.form.repairId,
177 - rstId: this.form.rstId 177 + rstId: this.form.rstId,
  178 + page:1,
  179 + row:50
178 } 180 }
179 const data = await listUserStorehouses(params) 181 const data = await listUserStorehouses(params)
180 this.form.resourceStores = data 182 this.form.resourceStores = data
181 } catch (error) { 183 } catch (error) {
182 console.error('获取商品失败:', error) 184 console.error('获取商品失败:', error)
183 - this.$message.error('获取商品失败') 185 + this.$message.error(error)
184 } 186 }
185 }, 187 },
186 chosePrice() { 188 chosePrice() {
src/components/work/visitOwnerRepair.vue
1 <template> 1 <template>
2 - <el-dialog :title="$t('repairReturnVisit.visitTitle')" :visible.sync="visible" width="600px" @close="resetForm"> 2 + <el-dialog :title="$t('repairReturnVisit.visit')" :visible.sync="visible" width="600px" @close="resetForm">
3 <el-form ref="visitForm" :model="formData" :rules="rules" label-width="100px" label-position="right"> 3 <el-form ref="visitForm" :model="formData" :rules="rules" label-width="100px" label-position="right">
4 <el-form-item :label="$t('repairReturnVisit.satisfaction')" prop="visitType"> 4 <el-form-item :label="$t('repairReturnVisit.satisfaction')" prop="visitType">
5 <el-select v-model="formData.visitType" :placeholder="$t('repairReturnVisit.satisfaction')" 5 <el-select v-model="formData.visitType" :placeholder="$t('repairReturnVisit.satisfaction')"
src/i18n/commonLang.js
@@ -80,7 +80,8 @@ export const messages = { @@ -80,7 +80,8 @@ export const messages = {
80 friday: 'Friday', 80 friday: 'Friday',
81 saturday: 'Saturday', 81 saturday: 'Saturday',
82 sunday: 'Sunday', 82 sunday: 'Sunday',
83 - map:'Map' 83 + map:'Map',
  84 + remove:'Remove'
84 } 85 }
85 }, 86 },
86 zh: { 87 zh: {
@@ -129,6 +130,7 @@ export const messages = { @@ -129,6 +130,7 @@ export const messages = {
129 disabled: '禁用', 130 disabled: '禁用',
130 import: '导入', 131 import: '导入',
131 remark: '备注', 132 remark: '备注',
  133 + remove: '删除',
132 hour:'时', 134 hour:'时',
133 more:'更多', 135 more:'更多',
134 tip:'提示', 136 tip:'提示',
src/views/work/finishRepairList.vue
@@ -42,9 +42,9 @@ @@ -42,9 +42,9 @@
42 v-if="(finishRepairInfo.maintenanceType == '1001' || finishRepairInfo.maintenanceType == '1003') && finishRepairInfo.choosedGoodsList.length > 0"> 42 v-if="(finishRepairInfo.maintenanceType == '1001' || finishRepairInfo.maintenanceType == '1003') && finishRepairInfo.choosedGoodsList.length > 0">
43 <el-form-item :label="$t('finishRepair.usedGoods')"> 43 <el-form-item :label="$t('finishRepair.usedGoods')">
44 <el-table :data="finishRepairInfo.choosedGoodsList" border> 44 <el-table :data="finishRepairInfo.choosedGoodsList" border>
45 - <el-table-column prop="rstName" :label="$t('finishRepair.category')" width="120"></el-table-column>  
46 - <el-table-column prop="resName" :label="$t('finishRepair.goods')" width="120"></el-table-column>  
47 - <el-table-column prop="price" :label="$t('finishRepair.price')" width="120" 45 + <el-table-column prop="rstName" :label="$t('finishRepair.category')" ></el-table-column>
  46 + <el-table-column prop="resName" :label="$t('finishRepair.goods')"></el-table-column>
  47 + <el-table-column prop="price" :label="$t('finishRepair.price')"
48 v-if="finishRepairInfo.maintenanceType == '1001'"> 48 v-if="finishRepairInfo.maintenanceType == '1001'">
49 <template slot-scope="scope"> 49 <template slot-scope="scope">
50 <el-input-number v-model="scope.row.price" 50 <el-input-number v-model="scope.row.price"
@@ -56,7 +56,7 @@ @@ -56,7 +56,7 @@
56 </span> 56 </span>
57 </template> 57 </template>
58 </el-table-column> 58 </el-table-column>
59 - <el-table-column :label="$t('finishRepair.quantity')" width="150"> 59 + <el-table-column :label="$t('finishRepair.quantity')" >
60 <template slot-scope="scope"> 60 <template slot-scope="scope">
61 <el-input-number v-model="scope.row.useNumber" @change="updateTotalPrice" :min="1"> 61 <el-input-number v-model="scope.row.useNumber" @change="updateTotalPrice" :min="1">
62 </el-input-number> 62 </el-input-number>
@@ -115,7 +115,7 @@ @@ -115,7 +115,7 @@
115 </el-row> 115 </el-row>
116 </el-card> 116 </el-card>
117 117
118 - <choose-single-resource ref="chooseSingleResource"></choose-single-resource> 118 + <choose-single-resource ref="chooseSingleResource" @choose-single-resource="chooseSingleResource"></choose-single-resource>
119 </div> 119 </div>
120 </template> 120 </template>
121 121
@@ -123,6 +123,7 @@ @@ -123,6 +123,7 @@
123 import { getDict } from '@/api/community/communityApi' 123 import { getDict } from '@/api/community/communityApi'
124 import { getCommunityId } from '@/api/community/communityApi' 124 import { getCommunityId } from '@/api/community/communityApi'
125 import { repairFinish } from '@/api/work/finishRepairApi' 125 import { repairFinish } from '@/api/work/finishRepairApi'
  126 +import {getUserName} from '@/api/user/userApi'
126 import UploadImageUrl from '@/components/upload/UploadImageUrl' 127 import UploadImageUrl from '@/components/upload/UploadImageUrl'
127 import ChooseSingleResource from '@/components/work/chooseSingleResource' 128 import ChooseSingleResource from '@/components/work/chooseSingleResource'
128 129
@@ -159,6 +160,10 @@ export default { @@ -159,6 +160,10 @@ export default {
159 this.initData() 160 this.initData()
160 }, 161 },
161 methods: { 162 methods: {
  163 + chooseSingleResource(goods) {
  164 + this.finishRepairInfo.choosedGoodsList.push(goods)
  165 + this.updateTotalPrice()
  166 + },
162 async initData() { 167 async initData() {
163 this.finishRepairInfo.repairType = this.$route.query.repairType 168 this.finishRepairInfo.repairType = this.$route.query.repairType
164 this.finishRepairInfo.repairId = this.$route.query.repairId 169 this.finishRepairInfo.repairId = this.$route.query.repairId
@@ -240,7 +245,8 @@ export default { @@ -240,7 +245,8 @@ export default {
240 try { 245 try {
241 const params = { 246 const params = {
242 ...this.finishRepairInfo, 247 ...this.finishRepairInfo,
243 - communityId: this.communityId 248 + communityId: this.communityId,
  249 + userName:getUserName()
244 } 250 }
245 const res = await repairFinish(params) 251 const res = await repairFinish(params)
246 if (res.code === 0) { 252 if (res.code === 0) {
src/views/work/ownerRepairManageList.vue
@@ -222,6 +222,6 @@ export default { @@ -222,6 +222,6 @@ export default {
222 } 222 }
223 223
224 .search-content { 224 .search-content {
225 - padding: 20px; 225 + padding: 0px;
226 } 226 }
227 </style> 227 </style>
228 \ No newline at end of file 228 \ No newline at end of file
src/views/work/repairPoolManageLang.js
@@ -44,7 +44,8 @@ export const messages = { @@ -44,7 +44,8 @@ export const messages = {
44 freeService: 'Free Service', 44 freeService: 'Free Service',
45 needMaterials: 'Need Materials', 45 needMaterials: 'Need Materials',
46 noMaterialsNeeded: 'No Materials Needed', 46 noMaterialsNeeded: 'No Materials Needed',
47 - timedTaskProcessing: 'Timed Task Processing' 47 + timedTaskProcessing: 'Timed Task Processing',
  48 + cannotTransferSelf:' can not transfer to yourself'
48 } 49 }
49 }, 50 },
50 zh: { 51 zh: {
@@ -92,7 +93,8 @@ export const messages = { @@ -92,7 +93,8 @@ export const messages = {
92 freeService: '免费服务', 93 freeService: '免费服务',
93 needMaterials: '需要材料', 94 needMaterials: '需要材料',
94 noMaterialsNeeded: '不需要材料', 95 noMaterialsNeeded: '不需要材料',
95 - timedTaskProcessing: '定时任务处理中' 96 + timedTaskProcessing: '定时任务处理中',
  97 + cannotTransferSelf: '不能转单给自己'
96 } 98 }
97 } 99 }
98 } 100 }
99 \ No newline at end of file 101 \ No newline at end of file
src/views/work/repairPoolManageList.vue
@@ -19,9 +19,9 @@ @@ -19,9 +19,9 @@
19 <el-card class="box-card"> 19 <el-card class="box-card">
20 <div slot="header" class="flex justify-between"> 20 <div slot="header" class="flex justify-between">
21 <span>{{ $t('repairPoolManage.queryConditions') }}</span> 21 <span>{{ $t('repairPoolManage.queryConditions') }}</span>
22 - <el-button style="float: right; padding: 3px 0" type="text" @click="toggleMoreCondition"> 22 + <!-- <el-button style="float: right; padding: 3px 0" type="text" @click="toggleMoreCondition">
23 {{ moreCondition ? $t('repairPoolManage.hide') : $t('repairPoolManage.more') }} 23 {{ moreCondition ? $t('repairPoolManage.hide') : $t('repairPoolManage.more') }}
24 - </el-button> 24 + </el-button> -->
25 </div> 25 </div>
26 26
27 <el-form :model="conditions" label-width="auto"> 27 <el-form :model="conditions" label-width="auto">
src/views/work/repairReturnVisitLang.js
@@ -22,7 +22,10 @@ export const messages = { @@ -22,7 +22,10 @@ export const messages = {
22 satisfaction: 'Satisfaction', 22 satisfaction: 'Satisfaction',
23 visitContent: 'Visit Content', 23 visitContent: 'Visit Content',
24 satisfied: 'Satisfied', 24 satisfied: 'Satisfied',
25 - unsatisfied: 'Unsatisfied' 25 + unsatisfied: 'Unsatisfied',
  26 + satisfactionRequired: 'Please select satisfaction',
  27 + visitContentRequired: 'Please enter visit content',
  28 + visitContentMaxLength: 'The length of visit content cannot exceed 1000 characters'
26 } 29 }
27 }, 30 },
28 zh: { 31 zh: {
@@ -48,7 +51,10 @@ export const messages = { @@ -48,7 +51,10 @@ export const messages = {
48 satisfaction: '满意度', 51 satisfaction: '满意度',
49 visitContent: '回访内容', 52 visitContent: '回访内容',
50 satisfied: '满意', 53 satisfied: '满意',
51 - unsatisfied: '不满意' 54 + unsatisfied: '不满意',
  55 + satisfactionRequired: '请选择满意度',
  56 + visitContentRequired: '请输入回访内容',
  57 + visitContentMaxLength: '回访内容长度不能超过1000个字符'
52 } 58 }
53 } 59 }
54 } 60 }
55 \ No newline at end of file 61 \ No newline at end of file
src/views/work/repairSettingList.vue
@@ -44,9 +44,9 @@ @@ -44,9 +44,9 @@
44 <div slot="header" class="flex justify-between"> 44 <div slot="header" class="flex justify-between">
45 <span>{{ $t('repairSetting.repairSettingTitle') }}</span> 45 <span>{{ $t('repairSetting.repairSettingTitle') }}</span>
46 <div style="float: right"> 46 <div style="float: right">
47 - <el-button type="text" @click="showDocumentation"> 47 + <!-- <el-button type="text" @click="showDocumentation">
48 {{ $t('repairSetting.documentation') }} 48 {{ $t('repairSetting.documentation') }}
49 - </el-button> 49 + </el-button> -->
50 <el-button type="primary" size="small" @click="openAddDialog"> 50 <el-button type="primary" size="small" @click="openAddDialog">
51 {{ $t('repairSetting.add') }} 51 {{ $t('repairSetting.add') }}
52 </el-button> 52 </el-button>