Commit dbc21a84 by yangzhi

工单

parent 2a22a148
......@@ -54,6 +54,12 @@ export function acceptanWorkOrder(data) {
data,
)
}
export function PendingWorkOrder(data) {
return axios.post(
'platform/platformWorkOrder/closeForPending',
data,
)
}
export function replyTocustomer(id, msg) {
return axios.post('platform/platformWorkOrderChat/add', {
msg: msg,
......
......@@ -195,6 +195,7 @@
:sourceData="sourceData"
:cellClassName="cellClassName"
:cellStyle="cellStyle"
@sortChange="sortChange"
>
</table-view>
</div>
......@@ -420,6 +421,13 @@
@click="confirm"
>受理</el-button
>
<el-button
size="mini"
type="danger"
v-if="statusCode === 'PRE_HANDLING'"
@click="closeForPendingDialog"
>不受理</el-button
>
</div>
</div>
</el-dialog>
......@@ -524,6 +532,7 @@
type="datetime"
default-time="23:59:59"
placeholder="选择日期"
:picker-options="pickerOptions"
></el-date-picker>
</el-form-item>
</el-form>
......@@ -611,6 +620,55 @@
>
</span>
</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>
</template>
......@@ -629,6 +687,7 @@ import {
completeWorkOrder,
replyTocustomer,
acceptanWorkOrder,
PendingWorkOrder,
getOrderType,
resume,
pause,
......@@ -661,6 +720,11 @@ export default {
data() {
const userInfo = localStorage.getItem('user')
return {
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now()
},
},
assignFormRules: {
leaders: [
{
......@@ -749,12 +813,6 @@ export default {
trigger: 'blur',
},
],
acceptanceContent: [
{
message: '请填入',
trigger: 'blur',
},
],
},
acceptForm: {},
acceptanceResultList: [
......@@ -767,6 +825,8 @@ export default {
label: '验收不通过',
},
],
pendingVisible: false,
pendingForm: {},
}
},
mounted() {
......@@ -852,14 +912,15 @@ export default {
key: 'priorityStatus',
width: 120,
render: item => {
if (
item.orderStatus === 'TO_BE_ASSIGN' &&
item.priorityStatus
) {
if (item.orderStatus === 'TO_BE_ASSIGN') {
item.priorityStatus = item.priorityStatus
? String(item.priorityStatus)
: ''
return (
<div style="padding:1px;height:30px">
<div class='priorityStatus-select'>
<el-select
v-model={item.priorityStatus}
placeholder=''
onChange={v => this.setStatus(item, v)}
>
<el-option
......@@ -889,20 +950,14 @@ export default {
},
},
{
label: '描述',
key: 'content',
render: item => {
return (
<div
class="description"
domPropsInnerHTML={item.content}
></div>
)
},
label: '不受理原因',
key: 'closeReason',
width: 130,
},
{
label: '创建时间',
key: 'createTime',
sortable: true,
width: 130,
},
{
......@@ -932,7 +987,9 @@ export default {
align: 'center',
render: item => (
<span>
{item.orderStatus === 'PRE_HANDLING' &&
{(item.orderStatus === 'PRE_HANDLING' ||
item.orderStatus === 'TO_BE_ASSIGN' ||
item.orderStatus === 'TO_BE_CONFIRMED') &&
Number(item.fromUser) ===
this.userInfo.id && (
<span title="修改" class="icon-view">
......@@ -1019,7 +1076,8 @@ export default {
/>
</span>
)}
{item.orderStatus === 'ACCEPTANCEING' && (
{item.orderStatus === 'ACCEPTANCEING' && Number(item.leaders) ===
this.userInfo.id && (
<span title="已完成" class="icon-view">
<img
width="24"
......@@ -1029,8 +1087,7 @@ export default {
/>
</span>
)}
{(item.orderStatus === 'PRE_HANDLING' ||
item.orderStatus === 'IN_COMPLETE') && (
{item.orderStatus === 'IN_COMPLETE' && (
<span title="关闭" class="icon-view">
<img
width="24"
......@@ -1060,13 +1117,35 @@ export default {
},
},
methods: {
// 排序
sortChange(column) {
if (column.order === 'asc') {
this.searchForm.createTimeSort = 'asc'
} else {
this.searchForm.createTimeSort = 'desc'
}
this.getlist()
},
/*
设置优先级
*/
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) {
if (data) {
return this.priorityStatusList.find(v => {
return v.value === data
return v.value === Number(data)
}).name
} else {
return ''
......@@ -1237,6 +1316,31 @@ export default {
this.rowId = item.id
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) {
this.acceptVisible = true
......@@ -1807,4 +1911,13 @@ export default {
margin-left: 6px;
}
}
.priorityStatus-select{
height: 30px;
&::v-deep .el-input__inner{
height: 30px;
}
&::v-deep .el-input__suffix{
top: 4px;
}
}
</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