开始施工-施工中-施工完成 100%

This commit is contained in:
xiaofajia 2024-10-19 11:06:09 +08:00
parent fdcc7367e3
commit 9698765ac7
2 changed files with 65 additions and 21 deletions

View File

@ -50,16 +50,21 @@
<el-button v-if="userRole === 'service_advisor' && scope.row.ticketsWorkStatus === '01'" size="mini" type="text" icon="el-icon-check" @click="handleNotify(scope.row)"> <el-button v-if="userRole === 'service_advisor' && scope.row.ticketsWorkStatus === '01'" size="mini" type="text" icon="el-icon-check" @click="handleNotify(scope.row)">
通知施工 通知施工
</el-button> </el-button>
<el-button size="mini" v-if="userRole === 'repair_staff'" type="text" icon="el-icon-monitor" @click="handleRecord(scope.row, 'sgz')"> <el-button size="mini" v-if="userRole === 'repair_staff' && !isFinish" type="text" icon="el-icon-monitor" @click="handleRecord(scope.row, 'sgz')">
过程记录 过程记录
</el-button> </el-button>
<el-button size="mini" v-if="userRole === 'repair_staff'" type="text" icon="el-icon-monitor" @click="handleRecord(scope.row, 'kssg')"> <el-button size="mini" v-if="userRole === 'repair_staff' && !isFinish" type="text" icon="el-icon-monitor" @click="handleRecord(scope.row, 'kssg')">
开始施工 开始施工
</el-button> </el-button>
<el-button size="mini" v-if="userRole === 'repair_staff'" type="text" icon="el-icon-monitor" @click="handleRecord(scope.row, 'sgwczj')"> <el-button size="mini" v-if="userRole === 'repair_staff' && !isFinish" type="text" icon="el-icon-monitor" @click="handleRecord(scope.row, 'sgwczj')">
施工完成 施工完成
</el-button> </el-button>
<el-dropdown @command="(command) => handleCommand(command, scope.$index, scope.row)"> <el-button @click="handleRecord(scope.row, 'zj')" size="mini" type="text" icon="el-icon-monitor" v-if="userRole === 'general_inspection' && scope.row.ticketsWorkStatus === '05'">
终检
</el-button>
<el-dropdown
v-if="userRole !== 'general_inspection'"
@command="(command) => handleCommand(command, scope.$index, scope.row)">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button> <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item v-if="!isFinish && scope.row.ticketsWorkStatus !== '01' && userRole === 'repair_staff'" command="handleGet" size="mini" type="text" icon="el-icon-document-add" <el-dropdown-item v-if="!isFinish && scope.row.ticketsWorkStatus !== '01' && userRole === 'repair_staff'" command="handleGet" size="mini" type="text" icon="el-icon-document-add"
@ -70,7 +75,7 @@
</el-dropdown-item> </el-dropdown-item>
<!-- 还要判断是不是员工 --> <!-- 还要判断是不是员工 -->
<el-dropdown-item <el-dropdown-item
v-if="userRole === 'repair_staff' ? leader : true" v-if="(userRole === 'repair_staff' ? leader : true) && !isFinish"
command="handleReTake" size="mini" type="text" icon="el-icon-refresh" command="handleReTake" size="mini" type="text" icon="el-icon-refresh"
>重新指派 >重新指派
</el-dropdown-item> </el-dropdown-item>

View File

@ -4,7 +4,7 @@
<el-form :model="formData" ref="formRef" :rules="formRules" :loading="formLoading" :inline="true" label-width="15rem"> <el-form :model="formData" ref="formRef" :rules="formRules" :loading="formLoading" :inline="true" label-width="15rem">
<el-row :gutter="1"> <el-row :gutter="1">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="维修项目" prop="item.id"> <el-form-item v-if="formData.recordType !== 'zj'" label="维修项目" prop="item.id">
<el-select style="width: 20rem" v-model="formData.item.id" > <el-select style="width: 20rem" v-model="formData.item.id" >
<el-option v-for="item in projectList" :key="item.id" :label="item.itemName" :value="item.id" /> <el-option v-for="item in projectList" :key="item.id" :label="item.itemName" :value="item.id" />
</el-select> </el-select>
@ -29,22 +29,26 @@
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button v-if="formData.recordType !== 'sgwczj'" type="primary" @click="doUpdate"> </el-button> <el-button v-if="formData.recordType !== 'sgwczj'" type="primary" @click="doUpdate"> </el-button>
<el-button v-if="formData.recordType === 'sgwczj'" type="primary">部分完成</el-button> <el-button v-if="formData.recordType === 'sgwczj'" type="primary" @click="doUpdate">部分完成</el-button>
<el-button v-if="formData.recordType === 'sgwczj'" type="success"> <el-button v-if="formData.recordType === 'sgwczj'" type="success" @click="doFinish">
{{isNext ? "整体完成并指派下一项目" : (isEndCheck ? "整体完成并移交总检" : "整体完成")}} {{isNext ? "整体完成并指派下一项目" : (isEndCheck ? "整体完成并移交总检" : "整体完成")}}
</el-button> </el-button>
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<UpdateRepair ref="updateRepair" @success="doUpdate" />
</div> </div>
</template> </template>
<script> <script>
import {getProjectList} from "@/api/repair/tickets/TicketsItem"; import {getProjectList} from "@/api/repair/tickets/TicketsItem";
import {updateStatus} from "@/api/repair/tickets/Tickets"; import {updateStatus} from "@/api/repair/tickets/Tickets";
import UpdateRepair from "@/views/repair/tickets/form/UpdateRepair.vue";
export default { export default {
name: "UpdateRecord", name: "UpdateRecord",
components: {UpdateRepair},
data(){ data(){
return { return {
dialogVisible: false, dialogVisible: false,
@ -71,6 +75,7 @@ export default {
isNext: false, isNext: false,
// //
isEndCheck: true, isEndCheck: true,
clickRow: null
} }
}, },
methods:{ methods:{
@ -90,9 +95,11 @@ export default {
recordType: null, recordType: null,
} }
this.projectList = [] this.projectList = []
this.clickRow = null
}, },
async open(row){ async open(row){
this.init() this.init()
this.clickRow = row
this.isEndCheck = row.endCheck === '1' this.isEndCheck = row.endCheck === '1'
this.formData.id = row.id this.formData.id = row.id
this.formData.recordType = row.clickType this.formData.recordType = row.clickType
@ -104,16 +111,15 @@ export default {
this.formLoading = true this.formLoading = true
const res = await getProjectList(ticketId) const res = await getProjectList(ticketId)
this.projectList = res.data this.projectList = res.data
this.formData.ticketsWorkStatus = "02"
this.formData.item.itemStatus = "02"
if (this.formData.recordType === 'kssg') { if (this.formData.recordType === 'kssg') {
this.formData.ticketsWorkStatus = "02"
this.formData.item.itemStatus = "02"
this.projectList = this.projectList.filter(item => item.itemStatus === '01') this.projectList = this.projectList.filter(item => item.itemStatus === '01')
}else if (this.formData.recordType === 'sgz'){ }else if (this.formData.recordType === 'sgz'){
this.formData.ticketsWorkStatus = "02"
this.formData.item.itemStatus = "02"
this.projectList = this.projectList.filter(item => item.itemStatus === '02') this.projectList = this.projectList.filter(item => item.itemStatus === '02')
}else { }else {
this.isNext = this.projectList.filter(item => item.itemStatus !== '03').length > 0 // >1
this.isNext = this.projectList.filter(item => item.itemStatus !== '03').length > 1
this.projectList = this.projectList.filter(item => item.itemStatus === '02') this.projectList = this.projectList.filter(item => item.itemStatus === '02')
} }
}finally { }finally {
@ -122,16 +128,49 @@ export default {
}, },
async doUpdate(){ async doUpdate(){
try { try {
await this.$refs.formRef.validate() if (this.formData.recordType === 'zj'){
// this.formData.image = this.formData.image.map(item => item.url).join(",") this.formData.ticketsWorkStatus = '03'
this.formLoading = true this.formData['isFinish'] = '1'
await updateStatus(this.formData) }
this.$modal.msgSuccess("操作成功") if (this.formData.recordType !== 'zj'){
this.dialogVisible = false await this.$refs.formRef.validate()
this.$emit("success") this.formLoading = true
await updateStatus(this.formData)
this.$modal.msgSuccess("操作成功")
this.dialogVisible = false
this.$emit("success")
}else {
this.formLoading = true
await updateStatus(this.formData)
this.$modal.msgSuccess("操作成功")
this.dialogVisible = false
this.$emit("success")
}
}catch { }catch {
} }
},
async doFinish(){
try{
await this.$refs.formRef.validate()
this.formLoading = true
//
this.formData.item.itemStatus = "03"
//
if (this.isNext){
await this.$refs.updateRepair.open(this.clickRow)
return
}
//
if (this.isEndCheck){
this.formData.ticketsWorkStatus = "05"
await this.doUpdate();
return
}
// ,
this.formData.ticketsWorkStatus = "03"
this.formData['isFinish'] = '1'
await this.doUpdate()
}catch{}
} }
} }
} }