接单上传图片

This commit is contained in:
xiaofajia 2024-11-04 15:04:44 +08:00
parent b1e6a559b9
commit 8cc46e3a28
2 changed files with 95 additions and 43 deletions

View File

@ -82,9 +82,9 @@ export function getUserRole(){
}
// 接单
export function updateTake(id){
export function updateTake(id, image){
return request({
url: preUrl + "/take?id=" + id,
url: preUrl + "/take?id=" + id + "&image=" + image,
method: "get",
})
}

View File

@ -44,16 +44,20 @@
<el-button size="mini" type="text" icon="el-icon-view" @click="handleShow(scope.row)"
>查看
</el-button>
<el-button v-hasPermi="['repair:tkm:edit']" size="mini" type="text" icon="el-icon-setting" @click="handleEditTicket(scope.row)">
<el-button v-hasPermi="['repair:tkm:edit']" size="mini" type="text" icon="el-icon-setting"
@click="handleEditTicket(scope.row)">
编辑工单
</el-button>
<el-button v-hasPermi="['repair:tkm:remove']" size="mini" type="text" icon="el-icon-remove" @click="handleRemove(scope.row)">
<el-button v-hasPermi="['repair:tkm:remove']" size="mini" type="text" icon="el-icon-remove"
@click="handleRemove(scope.row)">
删除
</el-button>
<el-button v-hasPermi="['repair:tkm:void']" size="mini" type="text" icon="el-icon-delete" @click="handleVoid(scope.row)">
<el-button v-hasPermi="['repair:tkm:void']" size="mini" type="text" icon="el-icon-delete"
@click="handleVoid(scope.row)">
作废
</el-button>
<el-button v-if="userRole === 'service_advisor' && isFinish" size="mini" type="text" icon="el-icon-refresh" @click="handleEditRecord(scope.row)">
<el-button v-if="userRole === 'service_advisor' && isFinish" size="mini" type="text" icon="el-icon-refresh"
@click="handleEditRecord(scope.row)">
维修记录设置
</el-button>
<el-button
@ -61,7 +65,8 @@
size="mini" type="text" icon="el-icon-check" @click="handleTake(scope.row)">
接单
</el-button>
<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 size="mini"
@ -79,14 +84,16 @@
type="text" icon="el-icon-monitor" @click="handleRecord(scope.row, 'sgwczj')">
施工完成
</el-button>
<!-- <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-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-button @click="handleReTake(scope.row)" size="mini" type="text" icon="el-icon-refresh"
v-if="(userRole === 'repair_staff' ? (leader ? !isFinish : false) : false) && !(scope.row.ticketsWorkStatus !== '01' && userRole === 'repair_staff' && !isFinish)">
重新指派
</el-button>
<el-button v-if="userRole === 'repair_staff' && !isFinish && scope.row.ticketsWorkStatus === '01' && !(nowUser.id === scope.row.nowRepairId)" @click="handleGet(scope.row)" size="mini" type="text" icon="el-icon-document-add">
<el-button
v-if="userRole === 'repair_staff' && !isFinish && scope.row.ticketsWorkStatus === '01' && !(nowUser.id === scope.row.nowRepairId)"
@click="handleGet(scope.row)" size="mini" type="text" icon="el-icon-document-add">
申请配件
</el-button>
<el-dropdown
@ -94,12 +101,13 @@
@command="(command) => handleCommand(command, scope.$index, scope.row)">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<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"
>申请配件
</el-dropdown-item>
<!-- <el-dropdown-item v-if="scope.row.ticketsWorkStatus !== '01' && userRole === 'repair_staff'" command="handleBack" size="mini" type="text" icon="el-icon-document-delete"-->
<!-- >申请退料-->
<!-- </el-dropdown-item>-->
<!-- <el-dropdown-item v-if="scope.row.ticketsWorkStatus !== '01' && userRole === 'repair_staff'" command="handleBack" size="mini" type="text" icon="el-icon-document-delete"-->
<!-- >申请退料-->
<!-- </el-dropdown-item>-->
<!-- 还要判断是不是员工 -->
<el-dropdown-item
v-if="userRole !== 'repair_staff' && !isFinish && scope.row.ticketsWorkStatus !== '01'"
@ -123,7 +131,7 @@
<TicketsShow ref="ticketsShow" :user-role="userRole"/>
<UpdateRepair ref="updateRepair" @success="listTickets"/>
<TWOperate ref="twOperate" @success="listTickets"/>
<UpdateRecord ref="updateRecord" @success="listTickets" />
<UpdateRecord ref="updateRecord" @success="listTickets"/>
<el-dialog title="退料申请" :visible.sync="backVisible" width="60%" v-dialogDrag append-to-body>
<el-table v-loading="backLoading" :data="partList" :stripe="true" :show-overflow-tooltip="true"
@ -132,7 +140,7 @@
@cell-click="handleCellClick"
@selection-change="rowSelect"
>
<el-table-column type="selection" align="center" />
<el-table-column type="selection" align="center"/>
<el-table-column label="商品名称" prop="itemName" align="center"/>
<el-table-column label="规格" prop="ware.model" align="center"/>
<el-table-column label="数量" prop="itemCount" align="center">
@ -150,7 +158,7 @@
</el-table>
<el-row :gutter="1" style="margin-top: 1rem">
<el-col :span="24">
<el-input v-model="remark" placeholder="备注" />
<el-input v-model="remark" placeholder="备注"/>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
@ -159,8 +167,28 @@
</div>
</el-dialog>
<RecordSetting ref="recordSet" />
<RecordSetting ref="recordSet"/>
<EditTickets ref="editTickets" @success="listTickets"/>
<el-dialog title="诊断维修单和车辆维修前照片" :visible.sync="beginDialog" width="60%" v-dialogDrag append-to-body>
<el-form v-model="beginData" :inline="true" label-width="15rem">
<el-row :gutter="1">
<el-col :span="24">
<el-form-item label="附件" prop="image">
<ImageUpload v-model="beginData.image"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="doTake">
确定
</el-button>
<el-button @click="beginDialog = false">
取消
</el-button>
</div>
</el-dialog>
</div>
</template>
@ -189,7 +217,7 @@ export default {
default: '',
required: true
},
isType:{
isType: {
type: String,
}
},
@ -218,6 +246,11 @@ export default {
remark: null,
leader: false,
nowUser: null,
beginDialog: false,
beginData: {
id: null,
image: null,
},
}
},
mounted() {
@ -226,11 +259,11 @@ export default {
this.getNowUser()
},
methods: {
async getNowUser(){
async getNowUser() {
const res = await getUserProfile()
this.nowUser = res.data
},
async isLeader(){
async isLeader() {
const res = await getIfLeader()
this.leader = res.data
},
@ -270,18 +303,36 @@ export default {
},
//
async handleTake(row) {
this.beginData.id = row.id
this.beginDialog = true
},
async doTake(){
try {
if (!this.beginData.image){
this.$modal.msgError("附件不能为空")
return
}
this.loading = true
await this.$modal.confirm("确认接单吗?")
await updateTake(row.id)
if (this.beginData.image){
const data = this.beginData.image.split(",")
this.beginData.image = data.map(item => {
return item.replace(process.env.VUE_APP_FILE_API, "")
}).join(",")
}
await updateTake(this.beginData.id, this.beginData.image)
this.beginDialog = false
this.$modal.msgSuccess("接单成功")
this.beginData = {
id: null,
image: null
}
await this.listTickets()
}finally {
} finally {
this.loading = false
}
},
// 退
async handleBack(row){
async handleBack(row) {
this.formData = {}
this.formData = row
this.remark = null
@ -290,12 +341,12 @@ export default {
this.backLoading = true
const res = await getTicketsById(row.id)
this.partList = res.data.wares
}finally {
} finally {
this.backLoading = false
}
},
//
handleReTake(row){
handleReTake(row) {
row = {
...row,
//
@ -304,12 +355,12 @@ export default {
this.$refs.updateRepair.open(row)
},
//
handleNotify(row){
handleNotify(row) {
this.$refs.updateRepair.open(row)
},
//
handleCommand(command, index, row){
switch (command){
handleCommand(command, index, row) {
switch (command) {
case 'handleReTake':
this.handleReTake(row)
break
@ -378,10 +429,10 @@ export default {
})
this.clickCellMap[id] = []
},
rowSelect(val){
rowSelect(val) {
this.selections = val
},
async doBack(flag){
async doBack(flag) {
const data = {
no: createUniqueCodeByHead("TLSQ"),
ticketId: this.formData.id,
@ -391,9 +442,9 @@ export default {
adviserId: this.formData.adviserId,
adviserName: this.formData.adviserName
}
if (flag){
if (flag) {
data.items = this.partList
}else {
} else {
data.items = this.selections
}
await updateTicketWares(data)
@ -401,7 +452,7 @@ export default {
this.$modal.msgSuccess("申请成功");
await this.listTickets()
},
handleRecord(row, type){
handleRecord(row, type) {
row = {
...row,
clickType: type
@ -409,22 +460,23 @@ export default {
this.$refs.updateRecord.open(row)
},
//
handleEditRecord(row){
handleEditRecord(row) {
this.$refs.recordSet.open(row.id)
},
handleEditTicket(row){
handleEditTicket(row) {
this.$refs.editTickets.open(row)
},
async handleRemove(row){
async handleRemove(row) {
try {
const id = row.id
if (id){
if (id) {
await this.$modal.confirm("确认删除工单" + row.ticketNo + "吗?")
await removeTicketById(id)
await this.listTickets()
this.$modal.msgSuccess("删除成功")
}
}catch{}
} catch {
}
},
async handleVoid(row) {
this.$prompt('作废备注', '提示', {