Commit dbc21a84 by yangzhi

工单

parent 2a22a148
...@@ -54,6 +54,12 @@ export function acceptanWorkOrder(data) { ...@@ -54,6 +54,12 @@ export function acceptanWorkOrder(data) {
data, data,
) )
} }
export function PendingWorkOrder(data) {
return axios.post(
'platform/platformWorkOrder/closeForPending',
data,
)
}
export function replyTocustomer(id, msg) { export function replyTocustomer(id, msg) {
return axios.post('platform/platformWorkOrderChat/add', { return axios.post('platform/platformWorkOrderChat/add', {
msg: msg, msg: msg,
......
...@@ -195,6 +195,7 @@ ...@@ -195,6 +195,7 @@
:sourceData="sourceData" :sourceData="sourceData"
:cellClassName="cellClassName" :cellClassName="cellClassName"
:cellStyle="cellStyle" :cellStyle="cellStyle"
@sortChange="sortChange"
> >
</table-view> </table-view>
</div> </div>
...@@ -420,6 +421,13 @@ ...@@ -420,6 +421,13 @@
@click="confirm" @click="confirm"
>受理</el-button >受理</el-button
> >
<el-button
size="mini"
type="danger"
v-if="statusCode === 'PRE_HANDLING'"
@click="closeForPendingDialog"
>不受理</el-button
>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
...@@ -524,6 +532,7 @@ ...@@ -524,6 +532,7 @@
type="datetime" type="datetime"
default-time="23:59:59" default-time="23:59:59"
placeholder="选择日期" placeholder="选择日期"
:picker-options="pickerOptions"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -611,6 +620,55 @@ ...@@ -611,6 +620,55 @@
> >
</span> </span>
</el-dialog> </el-dialog>
<!-- 不受理 -->
<el-dialog
title="不受理"
:close-on-click-modal="false"
:visible.sync="pendingVisible"
width="800px"
>
<el-form
:inline="true"
size="mini"
:model="pendingForm"
ref="pendingForm"
label-width="110px"
>
<el-form-item
label="原因"
prop="closeReason"
:rules="[
{
required: true,
message: '请填写',
trigger: 'blur',
},
]"
>
<el-input
type="textarea"
:autosize="{ minRows: 4 }"
style="width:400px"
placeholder="请输入"
v-model="pendingForm.closeReason"
>
</el-input>
</el-form-item>
</el-form>
<span slot="footer">
<el-button
size="mini"
@click="pendingVisible = false"
>取消</el-button
>
<el-button
size="mini"
type="primary"
@click="submitPending"
>确定</el-button
>
</span>
</el-dialog>
</div> </div>
</template> </template>
...@@ -629,6 +687,7 @@ import { ...@@ -629,6 +687,7 @@ import {
completeWorkOrder, completeWorkOrder,
replyTocustomer, replyTocustomer,
acceptanWorkOrder, acceptanWorkOrder,
PendingWorkOrder,
getOrderType, getOrderType,
resume, resume,
pause, pause,
...@@ -661,6 +720,11 @@ export default { ...@@ -661,6 +720,11 @@ export default {
data() { data() {
const userInfo = localStorage.getItem('user') const userInfo = localStorage.getItem('user')
return { return {
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now()
},
},
assignFormRules: { assignFormRules: {
leaders: [ leaders: [
{ {
...@@ -749,12 +813,6 @@ export default { ...@@ -749,12 +813,6 @@ export default {
trigger: 'blur', trigger: 'blur',
}, },
], ],
acceptanceContent: [
{
message: '请填入',
trigger: 'blur',
},
],
}, },
acceptForm: {}, acceptForm: {},
acceptanceResultList: [ acceptanceResultList: [
...@@ -767,6 +825,8 @@ export default { ...@@ -767,6 +825,8 @@ export default {
label: '验收不通过', label: '验收不通过',
}, },
], ],
pendingVisible: false,
pendingForm: {},
} }
}, },
mounted() { mounted() {
...@@ -852,14 +912,15 @@ export default { ...@@ -852,14 +912,15 @@ export default {
key: 'priorityStatus', key: 'priorityStatus',
width: 120, width: 120,
render: item => { render: item => {
if ( if (item.orderStatus === 'TO_BE_ASSIGN') {
item.orderStatus === 'TO_BE_ASSIGN' && item.priorityStatus = item.priorityStatus
item.priorityStatus ? String(item.priorityStatus)
) { : ''
return ( return (
<div style="padding:1px;height:30px"> <div class='priorityStatus-select'>
<el-select <el-select
v-model={item.priorityStatus} v-model={item.priorityStatus}
placeholder=''
onChange={v => this.setStatus(item, v)} onChange={v => this.setStatus(item, v)}
> >
<el-option <el-option
...@@ -889,20 +950,14 @@ export default { ...@@ -889,20 +950,14 @@ export default {
}, },
}, },
{ {
label: '描述', label: '不受理原因',
key: 'content', key: 'closeReason',
render: item => { width: 130,
return (
<div
class="description"
domPropsInnerHTML={item.content}
></div>
)
},
}, },
{ {
label: '创建时间', label: '创建时间',
key: 'createTime', key: 'createTime',
sortable: true,
width: 130, width: 130,
}, },
{ {
...@@ -932,7 +987,9 @@ export default { ...@@ -932,7 +987,9 @@ export default {
align: 'center', align: 'center',
render: item => ( render: item => (
<span> <span>
{item.orderStatus === 'PRE_HANDLING' && {(item.orderStatus === 'PRE_HANDLING' ||
item.orderStatus === 'TO_BE_ASSIGN' ||
item.orderStatus === 'TO_BE_CONFIRMED') &&
Number(item.fromUser) === Number(item.fromUser) ===
this.userInfo.id && ( this.userInfo.id && (
<span title="修改" class="icon-view"> <span title="修改" class="icon-view">
...@@ -1019,7 +1076,8 @@ export default { ...@@ -1019,7 +1076,8 @@ export default {
/> />
</span> </span>
)} )}
{item.orderStatus === 'ACCEPTANCEING' && ( {item.orderStatus === 'ACCEPTANCEING' && Number(item.leaders) ===
this.userInfo.id && (
<span title="已完成" class="icon-view"> <span title="已完成" class="icon-view">
<img <img
width="24" width="24"
...@@ -1029,8 +1087,7 @@ export default { ...@@ -1029,8 +1087,7 @@ export default {
/> />
</span> </span>
)} )}
{(item.orderStatus === 'PRE_HANDLING' || {item.orderStatus === 'IN_COMPLETE' && (
item.orderStatus === 'IN_COMPLETE') && (
<span title="关闭" class="icon-view"> <span title="关闭" class="icon-view">
<img <img
width="24" width="24"
...@@ -1060,13 +1117,35 @@ export default { ...@@ -1060,13 +1117,35 @@ export default {
}, },
}, },
methods: { methods: {
// 排序
sortChange(column) {
if (column.order === 'asc') {
this.searchForm.createTimeSort = 'asc'
} else {
this.searchForm.createTimeSort = 'desc'
}
this.getlist()
},
/*
设置优先级
*/
setStatus(data, i) { setStatus(data, i) {
console.log(data, i, 123) const { id, priorityStatus } = data
axios
.post('platform/platformWorkOrder/updatePriority', {
id,
priorityStatus: Number(priorityStatus),
})
.then(res => {
if (res.code === 200) {
this.$message.success(res.message)
}
})
}, },
handlePriorityStatus(data) { handlePriorityStatus(data) {
if (data) { if (data) {
return this.priorityStatusList.find(v => { return this.priorityStatusList.find(v => {
return v.value === data return v.value === Number(data)
}).name }).name
} else { } else {
return '' return ''
...@@ -1237,6 +1316,31 @@ export default { ...@@ -1237,6 +1316,31 @@ export default {
this.rowId = item.id this.rowId = item.id
this.currentItem = item this.currentItem = item
}, },
closeForPendingDialog() {
this.pendingVisible = true
if (this.$refs.pendingForm) {
this.$refs.pendingForm.resetFields()
}
},
submitPending() {
this.$refs.pendingForm.validate(v => {
if (v) {
try {
PendingWorkOrder({
id: this.detail.id,
...this.pendingForm,
}).then(res => {
if (res.code === 200) {
this.pendingVisible = false
this.detailVisible = false
this.getOrderTree()
this.getlist()
}
})
} catch (error) {}
}
})
},
// 待验收完成 // 待验收完成
anceing(item) { anceing(item) {
this.acceptVisible = true this.acceptVisible = true
...@@ -1807,4 +1911,13 @@ export default { ...@@ -1807,4 +1911,13 @@ export default {
margin-left: 6px; margin-left: 6px;
} }
} }
.priorityStatus-select{
height: 30px;
&::v-deep .el-input__inner{
height: 30px;
}
&::v-deep .el-input__suffix{
top: 4px;
}
}
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment