修改流程
This commit is contained in:
@@ -468,7 +468,7 @@ module.exports = {
|
|||||||
processDone: 'Process done',
|
processDone: 'Process done',
|
||||||
sentProcess: 'Sent process',
|
sentProcess: 'Sent process',
|
||||||
monitoringProcess: 'Monitoring process',
|
monitoringProcess: 'Monitoring process',
|
||||||
ConfirmDeployment:'Confirm deployment',
|
ConfirmDeployment:'Confirm deployment?',
|
||||||
terminationProcess:'termination process',
|
terminationProcess:'termination process',
|
||||||
issue:'issue',
|
issue:'issue',
|
||||||
projectInformation:'project information',
|
projectInformation:'project information',
|
||||||
@@ -487,5 +487,16 @@ module.exports = {
|
|||||||
role:'role',
|
role:'role',
|
||||||
operationContent:'operation content',
|
operationContent:'operation content',
|
||||||
operationTime:'operation time',
|
operationTime:'operation time',
|
||||||
|
ConfirmReplication:'Confirm replication',
|
||||||
|
ProcessName:'Process name',
|
||||||
|
ProcessType:'Process type',
|
||||||
|
AddProcess:'Add process',
|
||||||
|
RelatedItems:'Related items',
|
||||||
|
Sponsor:'Sponsor',
|
||||||
|
CurrentProcessor:'Current processor',
|
||||||
|
LastProcessor:'Last processor',
|
||||||
|
ProcessingTime:'Processing time',
|
||||||
|
cutoffTime:'cut-off time',
|
||||||
|
ProcessStatus:'Process status',
|
||||||
|
CompletionTime:'Completion time'
|
||||||
}
|
}
|
||||||
@@ -486,11 +486,21 @@ module.exports = {
|
|||||||
role:'角色',
|
role:'角色',
|
||||||
operationContent:'操作内容',
|
operationContent:'操作内容',
|
||||||
operationTime:'操作时间',
|
operationTime:'操作时间',
|
||||||
|
|
||||||
away:'收起',
|
|
||||||
toDoProcess: '待办流程',
|
toDoProcess: '待办流程',
|
||||||
processDone: '已办流程',
|
processDone: '已办流程',
|
||||||
sentProcess: '已发流程',
|
sentProcess: '已发流程',
|
||||||
monitoringProcess: '监控流程',
|
monitoringProcess: '监控流程',
|
||||||
ConfirmDeployment:'确认部署?',
|
ConfirmDeployment:'确认部署?',
|
||||||
|
ConfirmReplication:'确认复制?',
|
||||||
|
ProcessName:'流程名称',
|
||||||
|
ProcessType:'流程类型',
|
||||||
|
AddProcess:'添加流程',
|
||||||
|
RelatedItems:'相关项目',
|
||||||
|
Sponsor:'发起人',
|
||||||
|
CurrentProcessor:'当前处理人',
|
||||||
|
LastProcessor:'上一处理人',
|
||||||
|
ProcessingTime:'办理时间',
|
||||||
|
cutoffTime:'截止时间',
|
||||||
|
ProcessStatus:'流程状态',
|
||||||
|
CompletionTime:'完成时间',
|
||||||
}
|
}
|
||||||
@@ -17,7 +17,7 @@ let apiBaseUrl = window._CONFIG['domianURL'] || '/jero-boot'
|
|||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
//baseURL: '/jero-boot',
|
//baseURL: '/jero-boot',
|
||||||
baseURL: apiBaseUrl, // api base_url
|
baseURL: apiBaseUrl, // api base_url
|
||||||
timeout: 9000 // 请求超时时间
|
timeout: 900000000000 // 请求超时时间
|
||||||
})
|
})
|
||||||
|
|
||||||
const err = (error) => {
|
const err = (error) => {
|
||||||
|
|||||||
@@ -110,35 +110,35 @@
|
|||||||
total: 0,
|
total: 0,
|
||||||
visible: false,
|
visible: false,
|
||||||
formData: {},
|
formData: {},
|
||||||
title: '添加流程',
|
title: this.$t('AddProcess'),
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
title: '序号',
|
title: this.$t('serialNumber'),
|
||||||
dataIndex: 'index',
|
dataIndex: 'index',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '流程名称',
|
title: this.$t('ProcessName'),
|
||||||
dataIndex: 'name',
|
dataIndex: 'name',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '流程类型',
|
title: this.$t('ProcessType'),
|
||||||
dataIndex: 'categoryName',
|
dataIndex: 'categoryName',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '创建时间',
|
title: this.$t('createTime'),
|
||||||
dataIndex: 'createTime',
|
dataIndex: 'createTime',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
ellipsis: true
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: this.$t('operation'),
|
||||||
width: 100,
|
width: 140,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'operation' }
|
||||||
@@ -226,7 +226,7 @@
|
|||||||
deploy(modelId) {
|
deploy(modelId) {
|
||||||
let _this = this
|
let _this = this
|
||||||
this.$confirm({
|
this.$confirm({
|
||||||
content: _this.$t('ConfirmBatchDeletion'),
|
content: _this.$t('ConfirmDeployment'),
|
||||||
onOk() {
|
onOk() {
|
||||||
getAction('/model/deploy', { modelId: modelId }).then((res) => {
|
getAction('/model/deploy', { modelId: modelId }).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
@@ -240,55 +240,40 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
copyModel(modelId) {
|
copyModel(modelId) {
|
||||||
this.$confirm('确认复制该条数据?', '确认复制', {
|
let _this = this
|
||||||
confirmButtonText: '确定',
|
this.$confirm({
|
||||||
cancelButtonText: '取消',
|
content: _this.$t('ConfirmReplication'),
|
||||||
confirmButtonClass: 'common-button-primary',
|
onOk() {
|
||||||
roundButton: true,
|
getAction('model/copyModel', { modelId: modelId }).then((res) => {
|
||||||
type: 'warning'
|
|
||||||
}).then(() => {
|
|
||||||
this.$http.get('/lawss/activiti/copyModel', {
|
|
||||||
modelId: modelId
|
|
||||||
}, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/ProcessMapping',
|
path: '/ProcessMapping',
|
||||||
query: { id: res.result }
|
query: { id: res.result }
|
||||||
})
|
})
|
||||||
|
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||||
|
this.queryTablePage()
|
||||||
|
} else {
|
||||||
|
_this.$message.warning(_this.$t('operationFailed'))
|
||||||
}
|
}
|
||||||
}, e => {
|
|
||||||
})
|
})
|
||||||
}).catch(() => {
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
deleteRow(row) {
|
deleteRow(row) {
|
||||||
this.$confirm('确认删除该条数据?', '确认删除', {
|
let _this = this
|
||||||
confirmButtonText: '确定',
|
this.$confirm({
|
||||||
cancelButtonText: '取消',
|
content: _this.$t('confirmDeletion'),
|
||||||
confirmButtonClass: 'common-button-primary',
|
onOk() {
|
||||||
roundButton: true,
|
getAction('model/deleteModel', { modelId: row.id }).then((res) => {
|
||||||
type: 'warning'
|
if (res.success) {
|
||||||
}).then(() => {
|
_this.$message.success(_this.$t('OperationSuccessful'))
|
||||||
const id = row.id
|
|
||||||
var oDate1 = new Date('2021-09-22 15:00:00')
|
|
||||||
var oDate2 = new Date(row.createTime)
|
|
||||||
if (oDate1.getTime() > oDate2.getTime()) {
|
|
||||||
this.$message.warning('原始流程不可以删除')
|
|
||||||
} else {
|
|
||||||
this.$http.get('/lawss/activiti/deleteModel', {
|
|
||||||
modelId: id
|
|
||||||
}, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
this.$message.success(res.message)
|
|
||||||
this.queryTablePage()
|
this.queryTablePage()
|
||||||
}, e => {
|
} else {
|
||||||
|
_this.$message.warning(_this.$t('operationFailed'))
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
+101
-117
@@ -1,10 +1,34 @@
|
|||||||
<!--已办流程-->
|
<!--已办流程-->
|
||||||
<template>
|
<template>
|
||||||
<div>11111</div>
|
<div class="box">
|
||||||
|
<a-table
|
||||||
|
class="table"
|
||||||
|
rowKey="id"
|
||||||
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
|
:pagination="false"
|
||||||
|
:scroll="{x: true}"
|
||||||
|
:data-source="dataSource"
|
||||||
|
:loading="loading"
|
||||||
|
:columns="columns"
|
||||||
|
>
|
||||||
|
</a-table>
|
||||||
|
<div class="page" v-if="dataSource.length > 0">
|
||||||
|
<a-pagination
|
||||||
|
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||||
|
show-quick-jumper
|
||||||
|
show-size-changer
|
||||||
|
:page-size.sync="pageSize"
|
||||||
|
:total="total"
|
||||||
|
@change="onChange"
|
||||||
|
@showSizeChange="SizeChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {mapGetters} from "vuex";
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||||
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AlreadyProcess',
|
name: 'AlreadyProcess',
|
||||||
@@ -13,148 +37,108 @@
|
|||||||
searchForm: {},
|
searchForm: {},
|
||||||
total: 0,
|
total: 0,
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
rows: 10,
|
pageSize: 10,
|
||||||
|
selectedRowKeys: [],
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: this.$t('ProcessType'),
|
||||||
|
dataIndex: 'prcType',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('Sponsor'),
|
||||||
|
dataIndex: 'creatUserName',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('CurrentProcessor'),
|
||||||
|
dataIndex: 'taskAssignee',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('LastProcessor'),
|
||||||
|
dataIndex: 'taskBackAssignee',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('createTime'),
|
||||||
|
dataIndex: 'createTime',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('ProcessingTime'),
|
||||||
|
dataIndex: 'createTime',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('ProcessStatus'),
|
||||||
|
dataIndex: 'isEnd',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('cutoffTime'),
|
||||||
|
dataIndex: 'endTime',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('operation'),
|
||||||
|
width: 140,
|
||||||
|
align: 'center',
|
||||||
|
fixed: 'right',
|
||||||
|
scopedSlots: { customRender: 'operation' }
|
||||||
|
}
|
||||||
|
],
|
||||||
loading: false,
|
loading: false,
|
||||||
formLabelWidth: '80px',
|
dataSource: []
|
||||||
tableHeight: null,
|
|
||||||
// 列表数据
|
|
||||||
processList: [],
|
|
||||||
// 流程类型
|
|
||||||
processTypeList: {
|
|
||||||
'1': '点检流程',
|
|
||||||
'2': '法规更新流程',
|
|
||||||
'3': '企标立项流程',
|
|
||||||
'4': '子公司立项流程',
|
|
||||||
'5': '企业标准制修订实施流程',
|
|
||||||
'6': '子公司制修订实施流程',
|
|
||||||
'7': '文件评估流程',
|
|
||||||
},
|
|
||||||
// 流程状态
|
|
||||||
processStateList: [
|
|
||||||
{
|
|
||||||
label: '待发起',
|
|
||||||
value: '0'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '审批中',
|
|
||||||
value: '1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '已完成',
|
|
||||||
value: '2'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {},
|
||||||
|
methods: {
|
||||||
|
...mapGetters(['userInfo']),
|
||||||
|
onSelectChange() {
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
onChange(page, pageSize) {
|
||||||
// 新建流程跳转
|
this.pageNo = page
|
||||||
createProcess() {
|
|
||||||
this.$store.commit('setDetailMap', this.$route.path)
|
|
||||||
this.$router.push({
|
|
||||||
path: '/newProcess'
|
|
||||||
})
|
|
||||||
},
|
|
||||||
rejectTaskToStart(rows) {
|
|
||||||
this.$http.post('activiti/busProcess/processRevocation', {processId: rows.id}
|
|
||||||
, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
if (res.ok) {
|
|
||||||
this.$message.success(this.$t('m.WithdrawalSuccessful'))
|
|
||||||
}
|
|
||||||
this.queryProcess()
|
this.queryProcess()
|
||||||
}, e => {
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
getFlowByUser() {
|
SizeChange(page, pageSize) {
|
||||||
this.$http.get('activiti/busProcess/FlowByUser', {}
|
this.pageSize = pageSize
|
||||||
, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
this.userTypeList = res.data
|
|
||||||
}, e => {
|
|
||||||
})
|
|
||||||
},
|
|
||||||
reset() {
|
|
||||||
this.$refs['processSearch'].resetFields()
|
|
||||||
this.searchForm = {}
|
|
||||||
this.queryProcess()
|
this.queryProcess()
|
||||||
},
|
},
|
||||||
queryProcess() {
|
queryProcess() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
let parmes = JSON.parse(JSON.stringify(this.searchForm))
|
let parmes = JSON.parse(JSON.stringify(this.searchForm))
|
||||||
parmes.current = this.pageNo
|
parmes.current = this.pageNo
|
||||||
parmes.size = this.$store.getters.userInfo.configContent
|
parmes.size = this.pageSize
|
||||||
parmes.userId = this.userInfo.userId
|
parmes.userId = this.userInfo().userId
|
||||||
this.$http.postData('doneProcess',
|
postAction('task/doneProcess', parmes).then((res) => {
|
||||||
parmes,
|
this.dataSource = res.orders || []
|
||||||
{
|
this.total = res.total
|
||||||
loading: 'queryProcessLoading',
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
this.processList = res.list
|
|
||||||
this.total = res.count
|
|
||||||
this.loading = false
|
|
||||||
}, e => {
|
|
||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 搜索按钮
|
|
||||||
selectProcessBtn() {
|
|
||||||
this.pageNo = 1
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
handleSelectionChange(val) {
|
|
||||||
},
|
|
||||||
// 页码改变
|
|
||||||
pageChange(pageNo) {
|
|
||||||
this.pageNo = pageNo
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
// 长度改变
|
|
||||||
pageSizeChange(pageSize) {
|
|
||||||
// this.pageSize = pageSize
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
// 清空条件查询
|
|
||||||
resetSelect() {
|
|
||||||
this.$refs['processSearch'].resetFields()
|
|
||||||
this.searchForm = {}
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
// 打开查看
|
// 打开查看
|
||||||
classAdd(row) {
|
classAdd(row) {
|
||||||
this.$store.commit('setDetailMap', this.$route.path)
|
this.$store.commit('setDetailMap', this.$route.path)
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/ProcessDetail',
|
path: '/ProcessDetail',
|
||||||
query: {
|
query: {
|
||||||
prcNum: row.prcNum,
|
prcNum: row.prcNum
|
||||||
// processNumber: row.processNumber,
|
|
||||||
// id: row.id,
|
|
||||||
// processType: row.processType,
|
|
||||||
// processTypeName: row.processTypeName,
|
|
||||||
// processStatus: row.processStatus
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// let routeUrl = this.$router.resolve({ // eslint-disable-line
|
|
||||||
// name: 'ProcessDetail',
|
|
||||||
// params: {
|
|
||||||
// processNumber: row.processNumber,
|
|
||||||
// id: row.id,
|
|
||||||
// processType: row.processType,
|
|
||||||
// processTypeName: row.processTypeName,
|
|
||||||
// processStatus: row.processStatus
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// window.open(routeUrl.href, '_blank')
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.queryProcess()
|
this.queryProcess()
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,11 +1,33 @@
|
|||||||
<!--已发流程-->
|
<!--已发流程-->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="box">
|
||||||
22222
|
<a-table
|
||||||
|
class="table"
|
||||||
|
rowKey="id"
|
||||||
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
|
:pagination="false"
|
||||||
|
:scroll="{x: true}"
|
||||||
|
:data-source="dataSource"
|
||||||
|
:loading="loading"
|
||||||
|
:columns="columns"
|
||||||
|
>
|
||||||
|
</a-table>
|
||||||
|
<div class="page" v-if="dataSource.length > 0">
|
||||||
|
<a-pagination
|
||||||
|
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||||
|
show-quick-jumper
|
||||||
|
show-size-changer
|
||||||
|
:page-size.sync="pageSize"
|
||||||
|
:total="total"
|
||||||
|
@change="onChange"
|
||||||
|
@showSizeChange="SizeChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -15,164 +37,109 @@
|
|||||||
searchForm: {},
|
searchForm: {},
|
||||||
total: 0,
|
total: 0,
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
rows: 10,
|
pageSize: 10,
|
||||||
loading: false,
|
selectedRowKeys: [],
|
||||||
formLabelWidth: '80px',
|
columns: [
|
||||||
tableHeight: null,
|
|
||||||
// 列表数据
|
|
||||||
processList: [],
|
|
||||||
// 流程类型
|
|
||||||
processTypeList: {
|
|
||||||
'1': '点检流程',
|
|
||||||
'2': '法规更新流程',
|
|
||||||
'3': '企标立项流程',
|
|
||||||
'4': '子公司立项流程',
|
|
||||||
'5': '企业标准制修订实施流程',
|
|
||||||
'6': '子公司制修订实施流程',
|
|
||||||
'7': '文件评估流程'
|
|
||||||
},
|
|
||||||
// 流程状态
|
|
||||||
processStateList: [
|
|
||||||
{
|
{
|
||||||
label: '待发起',
|
title: this.$t('ProcessType'),
|
||||||
value: '0'
|
dataIndex: 'prcType',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '审批中',
|
title: this.$t('Sponsor'),
|
||||||
value: '1'
|
dataIndex: 'creatUserName',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '已完成',
|
title: this.$t('CurrentProcessor'),
|
||||||
value: '2'
|
dataIndex: 'taskAssignee',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('LastProcessor'),
|
||||||
|
dataIndex: 'taskBackAssignee',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('createTime'),
|
||||||
|
dataIndex: 'createTime',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('CompletionTime'),
|
||||||
|
dataIndex: 'createTime',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('ProcessStatus'),
|
||||||
|
dataIndex: 'isEnd',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('cutoffTime'),
|
||||||
|
dataIndex: 'endTime',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('operation'),
|
||||||
|
width: 140,
|
||||||
|
align: 'center',
|
||||||
|
fixed: 'right',
|
||||||
|
scopedSlots: { customRender: 'operation' }
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
loading: false,
|
||||||
|
dataSource: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
methods: {
|
methods: {
|
||||||
/**
|
...mapGetters(['userInfo']),
|
||||||
* 撤回
|
onSelectChange() {
|
||||||
*/
|
|
||||||
recall(row) {
|
},
|
||||||
row.disabled = true
|
onChange(page, pageSize) {
|
||||||
this.$http.post('activiti/busProcess/processRevocation', { processId: row.id, flag: 0 }
|
this.pageNo = page
|
||||||
, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
if (res.ok) {
|
|
||||||
this.$message.success(this.$t('m.WithdrawalSuccessful'))
|
|
||||||
}
|
|
||||||
this.queryProcess()
|
this.queryProcess()
|
||||||
}, e => {
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
// 新建流程跳转
|
SizeChange(page, pageSize) {
|
||||||
createProcess() {
|
this.pageSize = pageSize
|
||||||
this.$store.commit('setDetailMap', this.$route.path)
|
|
||||||
this.$router.push({
|
|
||||||
path: '/newProcess'
|
|
||||||
})
|
|
||||||
},
|
|
||||||
rejectTaskToStart(rows) {
|
|
||||||
this.$http.post('activiti/busProcess/processRevocation', { processId: rows.id }
|
|
||||||
, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
if (res.ok) {
|
|
||||||
this.$message.success(this.$t('m.WithdrawalSuccessful'))
|
|
||||||
}
|
|
||||||
this.queryProcess()
|
|
||||||
}, e => {
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getFlowByUser() {
|
|
||||||
this.$http.get('activiti/busProcess/FlowByUser', {}
|
|
||||||
, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
this.userTypeList = res.data
|
|
||||||
}, e => {
|
|
||||||
})
|
|
||||||
},
|
|
||||||
reset() {
|
|
||||||
this.$refs['processSearch'].resetFields()
|
|
||||||
this.queryProcess()
|
this.queryProcess()
|
||||||
},
|
},
|
||||||
queryProcess() {
|
queryProcess() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
let parmes = JSON.parse(JSON.stringify(this.searchForm))
|
let parmes = JSON.parse(JSON.stringify(this.searchForm))
|
||||||
parmes.current = this.pageNo
|
parmes.current = this.pageNo
|
||||||
parmes.size = this.$store.getters.userInfo.configContent
|
parmes.size = this.pageSize
|
||||||
parmes.userId = this.userInfo.userId
|
parmes.userId = this.userInfo().userId
|
||||||
this.$http.postData('issuedProcess',
|
postAction('task/IssuedProcess', parmes).then((res) => {
|
||||||
parmes,
|
this.dataSource = res.orders || []
|
||||||
{
|
this.total = res.total
|
||||||
loading: 'queryProcessLoading',
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
this.processList = res.list.map(item => {
|
|
||||||
return {
|
|
||||||
...item, disabled: false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.total = res.count
|
|
||||||
this.loading = false
|
|
||||||
}, e => {
|
|
||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 搜索按钮
|
|
||||||
selectProcessBtn() {
|
|
||||||
this.pageNo = 1
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
handleSelectionChange(val) {
|
|
||||||
},
|
|
||||||
// 打开查看
|
// 打开查看
|
||||||
classAdd(row) {
|
classAdd(row) {
|
||||||
row.disabled = true
|
row.disabled = true
|
||||||
this.$store.commit('setDetailMap', this.$route.path)
|
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/ProcessDetail',
|
path: '/ProcessDetail',
|
||||||
query: {
|
query: {
|
||||||
prcNum: row.prcNum
|
prcNum: row.prcNum
|
||||||
// id: row.id,
|
|
||||||
// processType: row.processType,
|
|
||||||
// processTypeName: row.processTypeName,
|
|
||||||
// processStatus: row.processStatus
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// let routeUrl = this.$router.resolve({ // eslint-disable-line
|
|
||||||
// name: 'ProcessDetail',
|
|
||||||
// params: {
|
|
||||||
// processNumber: row.processNumber,
|
|
||||||
// id: row.id,
|
|
||||||
// processType: row.processType,
|
|
||||||
// processTypeName: row.processTypeName,
|
|
||||||
// processStatus: row.processStatus
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// window.open(routeUrl.href, '_blank')
|
|
||||||
},
|
|
||||||
// 页码改变
|
|
||||||
pageChange(pageNo) {
|
|
||||||
this.pageNo = pageNo
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
// 长度改变
|
|
||||||
pageSizeChange(pageSize) {
|
|
||||||
// this.pageSize = pageSize
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
// 清空条件查询
|
|
||||||
resetSelect() {
|
|
||||||
this.$refs['processSearch'].resetFields()
|
|
||||||
this.searchForm = {}
|
|
||||||
this.queryProcess()
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.queryProcess()
|
this.queryProcess()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
+91
-295
@@ -1,13 +1,34 @@
|
|||||||
<!--待办流程-->
|
<!--待办流程-->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="box">
|
||||||
hahahahahh
|
<a-table
|
||||||
|
class="table"
|
||||||
|
rowKey="id"
|
||||||
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
|
:pagination="false"
|
||||||
|
:scroll="{x: true}"
|
||||||
|
:data-source="dataSource"
|
||||||
|
:loading="loading"
|
||||||
|
:columns="columns"
|
||||||
|
>
|
||||||
|
</a-table>
|
||||||
|
<div class="page" v-if="dataSource.length > 0">
|
||||||
|
<a-pagination
|
||||||
|
:show-total="total => $t('total')+` ${total} `+$t('strip')"
|
||||||
|
show-quick-jumper
|
||||||
|
show-size-changer
|
||||||
|
:page-size.sync="pageSize"
|
||||||
|
:total="total"
|
||||||
|
@change="onChange"
|
||||||
|
@showSizeChange="SizeChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {mapGetters, mapMutations} from 'vuex'
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||||
|
import { mapGetters } from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
name: 'ProcessCenter',
|
name: 'ProcessCenter',
|
||||||
data() {
|
data() {
|
||||||
@@ -15,172 +36,84 @@
|
|||||||
searchForm: {},
|
searchForm: {},
|
||||||
total: 0,
|
total: 0,
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
rows: 10,
|
pageSize: 10,
|
||||||
loading: false,
|
selectedRowKeys:[],
|
||||||
formLabelWidth: '80px',
|
columns: [
|
||||||
tableHeight: null,
|
|
||||||
// 列表数据
|
|
||||||
processList: [],
|
|
||||||
// 流程类型
|
|
||||||
processTypeList: {
|
|
||||||
'1': '点检流程',
|
|
||||||
'2': '法规更新流程',
|
|
||||||
'3': '企标立项流程',
|
|
||||||
'4': '子公司立项流程',
|
|
||||||
'5': '企业标准制修订实施流程',
|
|
||||||
'6': '子公司制修订实施流程',
|
|
||||||
'7': '文件评估流程',
|
|
||||||
},
|
|
||||||
// 流程状态
|
|
||||||
processStateList: [
|
|
||||||
{
|
{
|
||||||
label: '待发起',
|
title: this.$t('RelatedItems'),
|
||||||
value: '0'
|
dataIndex: 'RelatedItems',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '审批中',
|
title: this.$t('standard'),
|
||||||
value: '1'
|
dataIndex: 'prcNum',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '已完成',
|
title: this.$t('title'),
|
||||||
value: '2'
|
dataIndex: 'prcName',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('ProcessType'),
|
||||||
|
dataIndex: 'prcType',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('Sponsor'),
|
||||||
|
dataIndex: 'creatUserName',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('createTime'),
|
||||||
|
dataIndex: 'createTime',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('cutoffTime'),
|
||||||
|
dataIndex: 'endTime',
|
||||||
|
align: 'center',
|
||||||
|
ellipsis: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('operation'),
|
||||||
|
width: 140,
|
||||||
|
align: 'center',
|
||||||
|
fixed: 'right',
|
||||||
|
scopedSlots: { customRender: 'operation' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
showProcessList: false, // 流程选择抽屉窗
|
loading: false,
|
||||||
// 当前流程待办子流程列表
|
dataSource:[],
|
||||||
backlogProcessList: [],
|
|
||||||
queryProcessLoading: false,
|
|
||||||
processListLoading: false,
|
|
||||||
styles: {
|
|
||||||
height: 'calc(100% - 55px)',
|
|
||||||
overflow: 'auto',
|
|
||||||
padding: '16px 0 53px 16px',
|
|
||||||
position: 'static'
|
|
||||||
},
|
|
||||||
currentProcessNumber: '' // 办理时使用的将传给下个页面
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {},
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
// 新建流程跳转
|
...mapGetters(['userInfo']),
|
||||||
createProcess() {
|
onSelectChange(){
|
||||||
this.$store.commit('setDetailMap', this.$route.path)
|
|
||||||
this.$router.push({
|
|
||||||
path: '/newProcess'
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 删除
|
|
||||||
classDel(row) {
|
|
||||||
this.$confirm(this.$t('m.confirmToDeleteThisPieceOfData'), this.$t('m.prompt'), {
|
|
||||||
confirmButtonText: this.$t('m.determine'),
|
|
||||||
cancelButtonText: this.$t('m.cancel'),
|
|
||||||
type: 'warning'
|
|
||||||
}).then(() => {
|
|
||||||
this.$http.postData('activiti/busProcess/deleteNoStartProcess', {id: row.id}, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
if (res) {
|
|
||||||
this.resetSelect()
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
rejectTaskToStart(rows) {
|
|
||||||
this.$http.post('activiti/busProcess/processRevocation', {processId: rows.id}
|
|
||||||
, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
if (res.ok) {
|
|
||||||
this.$message.success(this.$t('m.WithdrawalSuccessful'))
|
|
||||||
}
|
|
||||||
this.queryProcess()
|
|
||||||
}, e => {
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getFlowByUser() {
|
|
||||||
this.$http.get('activiti/busProcess/FlowByUser', {}
|
|
||||||
, {
|
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
this.userTypeList = res.data || []
|
|
||||||
}, e => {
|
|
||||||
})
|
|
||||||
},
|
|
||||||
resetSelect() {
|
|
||||||
this.$refs['processSearch'].resetFields()
|
|
||||||
this.searchForm = {}
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
},
|
||||||
queryProcess() {
|
queryProcess() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
let parmes = JSON.parse(JSON.stringify(this.searchForm))
|
let parmes = JSON.parse(JSON.stringify(this.searchForm))
|
||||||
parmes.current = this.pageNo
|
parmes.current = this.pageNo
|
||||||
parmes.size = this.$store.getters.userInfo.configContent
|
parmes.size = this.pageSize
|
||||||
parmes.userId = this.userInfo.userId
|
parmes.userId = this.userInfo().userId
|
||||||
this.$http.postData('todoTaskList',
|
postAction('task/todoTaskList',parmes).then((res)=>{
|
||||||
parmes,
|
this.dataSource = res.orders || []
|
||||||
{
|
this.total = res.total
|
||||||
_this: this
|
|
||||||
}, res => {
|
|
||||||
this.processList = res.list || []
|
|
||||||
this.total = res.count
|
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}, e => {
|
|
||||||
this.loading = false
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 搜索按钮
|
|
||||||
selectProcessBtn() {
|
|
||||||
this.pageNo = 1
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
handleSelectionChange(val) {
|
|
||||||
},
|
|
||||||
// 页码改变
|
|
||||||
pageChange(pageNo) {
|
|
||||||
this.pageNo = pageNo
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
// 长度改变
|
|
||||||
pageSizeChange(pageSize) {
|
|
||||||
// this.pageSize = pageSize
|
|
||||||
this.queryProcess()
|
|
||||||
},
|
|
||||||
// 打开查看
|
|
||||||
classAdd(row) {
|
|
||||||
this.$store.commit('setDetailMap', this.$route.path)
|
|
||||||
// let routeUrl = this.$router.resolve({ // eslint-disable-line
|
|
||||||
// name: 'ProcessDetail',
|
|
||||||
// params: {
|
|
||||||
// processNumber: row.processNumber,
|
|
||||||
// id: row.id,
|
|
||||||
// processType: row.processType,
|
|
||||||
// processTypeName: row.processTypeName,
|
|
||||||
// processStatus: row.processStatus
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// window.open(routeUrl.href, '_blank')
|
|
||||||
this.$router.push({
|
|
||||||
path: '/ProcessDetail',
|
|
||||||
query: {
|
|
||||||
prcNum: row.prcNum,
|
|
||||||
// processNumber: row.processNumber,
|
|
||||||
// id: row.id,
|
|
||||||
// processType: row.processType,
|
|
||||||
// processTypeName: row.processTypeName,
|
|
||||||
// processStatus: row.processStatus
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
dealWith(row) {
|
dealWith(row) {
|
||||||
console.log(row, 'rowrow')
|
console.log(row, 'rowrow')
|
||||||
// this.currentProcessNumber = row.processNumber
|
// this.currentProcessNumber = row.processNumber
|
||||||
// this.queryBacklogProcessList(row.id)
|
|
||||||
// this.showProcessList = true
|
|
||||||
let index = row.taskIds.lastIndexOf(',')
|
let index = row.taskIds.lastIndexOf(',')
|
||||||
row.taskIds = row.taskIds.slice(0, index)
|
row.taskIds = row.taskIds.slice(0, index)
|
||||||
if (row.prcType == '2') {
|
if (row.prcType == '2') {
|
||||||
@@ -221,161 +154,24 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
queryBacklogProcessList(processId) {
|
onChange(page, pageSize) {
|
||||||
this.$http.post('activiti/busProcess/getToDoTaskList',
|
this.pageNo = page
|
||||||
{
|
this.queryProcess()
|
||||||
processId: processId
|
|
||||||
},
|
},
|
||||||
{
|
SizeChange(page, pageSize) {
|
||||||
loading: 'processListLoading',
|
this.pageSize = pageSize
|
||||||
_this: this
|
this.queryProcess()
|
||||||
}, res => {
|
|
||||||
this.backlogProcessList = res.data
|
|
||||||
console.log('this.backlogProcessList', this.backlogProcessList)
|
|
||||||
}, e => {
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
handleProcess(process) {
|
|
||||||
this.$store.commit('setDetailMap', this.$route.path)
|
|
||||||
this.setProcess(JSON.stringify(process))
|
|
||||||
console.log(process)
|
|
||||||
const state = process.state
|
|
||||||
const reject = process.reject
|
|
||||||
if (state === '2' || state === '4' || state === '6' || state === '7') {
|
|
||||||
this.$router.push({
|
|
||||||
name: 'Check',
|
|
||||||
params: {
|
|
||||||
taskId: process.taskId,
|
|
||||||
processNumber: this.currentProcessNumber,
|
|
||||||
state
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (state === '1' || state === '3') {
|
|
||||||
this.$router.push({
|
|
||||||
name: 'Edit',
|
|
||||||
params: {
|
|
||||||
taskId: process.taskId,
|
|
||||||
processNumber: this.currentProcessNumber,
|
|
||||||
state,
|
|
||||||
reject
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (state === '5') {
|
|
||||||
this.$router.push({
|
|
||||||
name: 'Edit2',
|
|
||||||
params: {
|
|
||||||
taskId: process.taskId,
|
|
||||||
processNumber: this.currentProcessNumber,
|
|
||||||
state
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
...mapMutations(['setProcess'])
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.queryProcess()
|
this.queryProcess()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.process-center {
|
.page {
|
||||||
position: relative;
|
|
||||||
height: 100%;
|
|
||||||
padding: 15px;
|
|
||||||
background: #fff;
|
|
||||||
|
|
||||||
/deep/ .el-form-item__label {
|
|
||||||
width: 144.34px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.label-input-form {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
|
||||||
// height: 540px;
|
|
||||||
margin-top: 10px;
|
|
||||||
width: 100%;
|
|
||||||
height: calc(~'100% - 135px') !important;
|
|
||||||
//overflow-y: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tabpagination {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.demo-drawer__content {
|
|
||||||
// border: 1px solid #ccc;
|
|
||||||
padding: 0 15px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.wx-dot {
|
|
||||||
display: inline-block;
|
|
||||||
width: 12px;
|
|
||||||
height: 12px;
|
|
||||||
margin-right: 8px;
|
|
||||||
border-radius: 50%;
|
|
||||||
//background: #e8eaec;
|
|
||||||
position: relative;
|
|
||||||
top: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.backlog-process-list {
|
|
||||||
display: block !important;
|
|
||||||
|
|
||||||
.backlog-process-left {
|
|
||||||
float: left;
|
|
||||||
max-width: 83%;
|
|
||||||
line-height: 35px;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
//.ellipsis();
|
|
||||||
& > span {
|
|
||||||
max-width: 80%;
|
|
||||||
margin-right: 5px;
|
|
||||||
//.ellipsis();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.backlog-process-right {
|
|
||||||
float: right;
|
|
||||||
margin-right: 34px;
|
|
||||||
|
|
||||||
button {
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.clearfix:after { /*伪元素是行内元素 正常浏览器清除浮动方法*/
|
|
||||||
content: "";
|
|
||||||
display: block;
|
|
||||||
height: 0;
|
|
||||||
clear: both;
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.clearfix {
|
|
||||||
*zoom: 1; /*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
|
|
||||||
}
|
|
||||||
|
|
||||||
.clearfix {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.backlog-process-left {
|
|
||||||
width: 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.backlog-process-right {
|
|
||||||
width: 50%;
|
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user