Commit 5b109410 by yuzhenWang

添加了scrm的返回路径和带入客户ID

parent 2024115a
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -252,7 +252,12 @@ export default {
}
}
</script>
<style>
/* 当前页面所有 confirm 弹窗 */
.el-message-box__wrapper {
top: -20% !important;
margin-top: 0 !important;
}
</style>
<style scoped>
</style>
......@@ -158,6 +158,14 @@ export default {
}).then((response) => {
this.processStructureValue = response.data
this.currentNode = this.processStructureValue.nodes[0]
// 检查是否有 readonlyTpls 包含 5,如果有则设置默认值
if (
this.currentNode.readonlyTpls &&
this.currentNode.readonlyTpls.includes(5)
) {
this.setDefaultValues(this.scrmParams, 5)
}
})
},
submitAction(item) {
......@@ -224,7 +232,8 @@ export default {
// this.$router.push({ path: '/process/upcoming' })
if (window.parent) {
const returnTarget =
this.scrmParams?.returnTarget || '/process/upcoming'
(this.scrmParams && this.scrmParams.returnTarget) ||
'/process/upcoming'
// 发送消息给父窗口
window.parent.postMessage(
......@@ -234,7 +243,7 @@ export default {
// 可以附加其他数据,如新创建的工单ID
// workOrderId: response.data.id
},
this.scrmParams?.baseUrl
this.scrmParams && this.scrmParams.baseUrl
)
} else {
// 备用方案
......@@ -251,6 +260,33 @@ export default {
})
}
})
},
setDefaultValues(defaultVal, id) {
// 找到 id 为 5 的模板
const tpl5 = this.processStructureValue.tpls.find((tpl) => tpl.id === id)
if (tpl5) {
// 遍历模板中的字段
tpl5.form_structure.list.forEach((field) => {
// 如果是 grid 类型,需要遍历 columns
if (field.type === 'grid') {
field.columns.forEach((column) => {
column.list.forEach((item) => {
if (item.model === 'customerId' && defaultVal.customerId) {
item.options.defaultValue = Number(defaultVal.customerId)
}
// else if (item.model === 'customerPhone') {
// item.options.defaultValue = defaultVal.customerPhone
// }
})
})
} else if (field.model === 'customerId' && defaultVal.customerId) {
field.options.defaultValue = Number(defaultVal.customerId)
}
// else if (field.model === 'customerPhone') {
// field.options.defaultValue = defaultVal.customerPhone
// }
})
}
}
}
}
......
......@@ -7,11 +7,24 @@
</el-form>
</el-form>
<el-table v-loading="loading" border :data="ticketList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
border
:data="ticketList"
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="ID" prop="id" width="120" />
<el-table-column label="标题" prop="title" :show-overflow-tooltip="true" />
<el-table-column label="流程" prop="process_name" :show-overflow-tooltip="true" />
<el-table-column
label="标题"
prop="title"
:show-overflow-tooltip="true"
/>
<el-table-column
label="流程"
prop="process_name"
:show-overflow-tooltip="true"
/>
<el-table-column label="当前状态" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>
......@@ -21,15 +34,22 @@
</el-table-column>
<el-table-column label="当前处理人" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.is_end===0">{{ scope.row.principals }}</span>
<span v-if="scope.row.is_end === 0">{{
scope.row.principals
}}</span>
</template>
</el-table-column>
<el-table-column label="优先级" :show-overflow-tooltip="true" width="120" align="left">
<el-table-column
label="优先级"
:show-overflow-tooltip="true"
width="120"
align="left"
>
<template slot-scope="scope">
<span v-if="scope.row.priority===2">
<span v-if="scope.row.priority === 2">
<el-tag type="warning">紧急</el-tag>
</span>
<span v-else-if="scope.row.priority===3">
<span v-else-if="scope.row.priority === 3">
<el-tag type="danger">非常紧急</el-tag>
</span>
<span v-else>
......@@ -37,18 +57,37 @@
</span>
</template>
</el-table-column>
<el-table-column label="是否结束" :show-overflow-tooltip="true" width="80" align="center">
<el-table-column
label="是否结束"
:show-overflow-tooltip="true"
width="80"
align="center"
>
<template slot-scope="scope">
<el-tag v-if="scope.row.is_end===0" size="mini" type="success"></el-tag>
<el-tag
v-if="scope.row.is_end === 0"
size="mini"
type="success"
></el-tag>
<el-tag v-else size="mini" type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="create_time" width="180">
<el-table-column
label="创建时间"
align="center"
prop="create_time"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.create_time) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="180"
>
<template slot-scope="scope">
<el-button
v-permisaction="['process:list:myCreate:select']"
......@@ -65,7 +104,7 @@
@click="handleReopen(scope.row.id)"
>重开</el-button>
<el-button
v-if="scope.row.is_end===0"
v-if="scope.row.is_end === 0"
v-permisaction="['process:list:upcoming:urge']"
size="mini"
type="text"
......@@ -77,7 +116,7 @@
</el-table>
<pagination
v-show="total>0"
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageIndex"
:limit.sync="queryParams.pageSize"
......@@ -88,7 +127,11 @@
</template>
<script>
import { workOrderList, urgeWorkOrder, reopenWorkOrder } from '@/api/process/work-order'
import {
workOrderList,
urgeWorkOrder,
reopenWorkOrder
} from '@/api/process/work-order'
// 搜索
import WorkOrderSearch from './components/search/index'
......@@ -113,12 +156,8 @@ export default {
remarks: ''
},
rules: {
node_id: [
{ required: true, message: '请选择节点', trigger: 'change' }
],
user_id: [
{ required: true, message: '请选择用户', trigger: 'change' }
]
node_id: [{ required: true, message: '请选择节点', trigger: 'change' }],
user_id: [{ required: true, message: '请选择用户', trigger: 'change' }]
}
}
},
......@@ -131,7 +170,7 @@ export default {
this.listQuery.page = this.queryParams.pageIndex
this.listQuery.per_page = this.queryParams.pageSize
this.listQuery.classify = 2
workOrderList(this.listQuery).then(response => {
workOrderList(this.listQuery).then((response) => {
this.ticketList = response.data.data
this.queryParams.pageIndex = response.data.page
this.queryParams.pageSize = response.data.per_page
......@@ -146,7 +185,10 @@ export default {
this.getList()
},
handleView(row) {
this.$router.push({ name: 'ProcessListHandle', query: { workOrderId: row.id, processId: row.process }})
this.$router.push({
name: 'ProcessListHandle',
query: { workOrderId: row.id, processId: row.process }
})
},
handleReopen(id) {
this.$confirm('根据此工单新建一个新的工单?', '提示', {
......@@ -154,7 +196,7 @@ export default {
cancelButtonText: '取消',
type: 'info'
}).then(() => {
reopenWorkOrder(id).then(res => {
reopenWorkOrder(id).then((res) => {
this.getList()
this.$message({
type: 'success',
......@@ -165,31 +207,41 @@ export default {
},
handleSelectionChange() {},
handleUrge(row) {
this.$confirm('<span style="font-size:15px ">对此工单处理人进行催办通知提醒, 是否继续?</span><br><span style="color: #c33; font-size: 10px">注意:十分钟内只能催办一次。</span>', '催办', {
dangerouslyUseHTMLString: true,
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
urgeWorkOrder({
workOrderId: row.id
}).then(response => {
this.$message({
type: 'success',
message: '已进行催办通知!'
this.$confirm(
'<span style="font-size:15px ">对此工单处理人进行催办通知提醒, 是否继续?</span><br><span style="color: #c33; font-size: 10px">注意:十分钟内只能催办一次。</span>',
'催办',
{
dangerouslyUseHTMLString: true,
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}
)
.then(() => {
urgeWorkOrder({
workOrderId: row.id
}).then((response) => {
this.$message({
type: 'success',
message: '已进行催办通知!'
})
})
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
.catch(() => {
this.$message({
type: 'info',
message: '已取消'
})
})
})
}
}
}
</script>
<style scoped>
<style>
/* 当前页面所有 confirm 弹窗 */
.el-message-box__wrapper {
top: -30% !important;
margin-top: 0 !important;
}
</style>
<style scoped></style>
......@@ -7,11 +7,24 @@
</el-form>
</el-form>
<el-table v-loading="loading" border :data="ticketList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
border
:data="ticketList"
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="ID" prop="id" width="120" />
<el-table-column label="标题" prop="title" :show-overflow-tooltip="true" />
<el-table-column label="流程" prop="process_name" :show-overflow-tooltip="true" />
<el-table-column
label="标题"
prop="title"
:show-overflow-tooltip="true"
/>
<el-table-column
label="流程"
prop="process_name"
:show-overflow-tooltip="true"
/>
<el-table-column label="当前状态" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>
......@@ -21,15 +34,22 @@
</el-table-column>
<el-table-column label="当前处理人" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.is_end===0">{{ scope.row.principals }}</span>
<span v-if="scope.row.is_end === 0">{{
scope.row.principals
}}</span>
</template>
</el-table-column>
<el-table-column label="优先级" :show-overflow-tooltip="true" width="120" align="left">
<el-table-column
label="优先级"
:show-overflow-tooltip="true"
width="120"
align="left"
>
<template slot-scope="scope">
<span v-if="scope.row.priority===2">
<span v-if="scope.row.priority === 2">
<el-tag type="warning">紧急</el-tag>
</span>
<span v-else-if="scope.row.priority===3">
<span v-else-if="scope.row.priority === 3">
<el-tag type="danger">非常紧急</el-tag>
</span>
<span v-else>
......@@ -37,18 +57,37 @@
</span>
</template>
</el-table-column>
<el-table-column label="是否结束" :show-overflow-tooltip="true" width="80" align="center">
<el-table-column
label="是否结束"
:show-overflow-tooltip="true"
width="80"
align="center"
>
<template slot-scope="scope">
<el-tag v-if="scope.row.is_end===0" size="mini" type="success"></el-tag>
<el-tag
v-if="scope.row.is_end === 0"
size="mini"
type="success"
></el-tag>
<el-tag v-else size="mini" type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="create_time" width="180">
<el-table-column
label="创建时间"
align="center"
prop="create_time"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.create_time) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="180"
>
<template slot-scope="scope">
<el-button
v-permisaction="['process:list:related:select']"
......@@ -61,34 +100,60 @@
</el-table-column>
</el-table>
<el-dialog
title="转交工单"
:visible.sync="dialogVisible"
width="30%"
>
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="60px" class="demo-ruleForm">
<el-dialog title="转交工单" :visible.sync="dialogVisible" width="30%">
<el-form
ref="ruleForm"
:model="ruleForm"
:rules="rules"
label-width="60px"
class="demo-ruleForm"
>
<el-form-item label="节点" prop="node_id">
<el-select v-model="ruleForm.node_id" placeholder="选择节点" size="small" style="width: 100%">
<el-option v-for="(item, index) in nodeList" :key="index" :label="item.label" :value="item.id" />
<el-select
v-model="ruleForm.node_id"
placeholder="选择节点"
size="small"
style="width: 100%"
>
<el-option
v-for="(item, index) in nodeList"
:key="index"
:label="item.label"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="用户" prop="user_id">
<el-select v-model="ruleForm.user_id" filterable placeholder="选择用户" size="small" style="width: 100%">
<el-option v-for="(item, index) in users" :key="index" :label="item.nickName" :value="item.userId" />
<el-select
v-model="ruleForm.user_id"
filterable
placeholder="选择用户"
size="small"
style="width: 100%"
>
<el-option
v-for="(item, index) in users"
:key="index"
:label="item.nickName"
:value="item.userId"
/>
</el-select>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="ruleForm.remarks" type="textarea" size="small" />
</el-form-item>
<el-form-item style="text-align: right">
<el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
<el-button
type="primary"
@click="submitForm('ruleForm')"
>提交</el-button>
<el-button @click="dialogVisible = false">关闭</el-button>
</el-form-item>
</el-form>
</el-dialog>
<pagination
v-show="total>0"
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageIndex"
:limit.sync="queryParams.pageSize"
......@@ -126,12 +191,8 @@ export default {
remarks: ''
},
rules: {
node_id: [
{ required: true, message: '请选择节点', trigger: 'change' }
],
user_id: [
{ required: true, message: '请选择用户', trigger: 'change' }
]
node_id: [{ required: true, message: '请选择节点', trigger: 'change' }],
user_id: [{ required: true, message: '请选择用户', trigger: 'change' }]
}
}
},
......@@ -144,7 +205,7 @@ export default {
this.listQuery.page = this.queryParams.pageIndex
this.listQuery.per_page = this.queryParams.pageSize
this.listQuery.classify = 3
workOrderList(this.listQuery).then(response => {
workOrderList(this.listQuery).then((response) => {
this.ticketList = response.data.data
this.queryParams.pageIndex = response.data.page
this.queryParams.pageSize = response.data.per_page
......@@ -159,13 +220,20 @@ export default {
this.getList()
},
handleView(row) {
this.$router.push({ name: 'ProcessListHandle', query: { workOrderId: row.id, processId: row.process }})
this.$router.push({
name: 'ProcessListHandle',
query: { workOrderId: row.id, processId: row.process }
})
},
handleSelectionChange() {}
}
}
</script>
<style scoped>
<style>
/* 当前页面所有 confirm 弹窗 */
.el-message-box__wrapper {
top: -30% !important;
margin-top: 0 !important;
}
</style>
<style scoped></style>
......@@ -199,7 +199,13 @@ export default {
}
}
</script>
<style>
/* 当前页面所有 confirm 弹窗 */
.el-message-box__wrapper {
top: -30% !important;
margin-top: 0 !important;
}
</style>
<style scoped>
</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