|
@@ -5,18 +5,18 @@
|
|
<el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="100px">
|
|
<el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="100px">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="8" class="colBlock">
|
|
<el-col :span="8" class="colBlock">
|
|
- <el-form-item label="流程名称" prop="name">
|
|
|
|
|
|
+ <el-form-item :label="t('message.flowModel.flowName')" prop="name">
|
|
<el-input
|
|
<el-input
|
|
v-model="tableData.param.name"
|
|
v-model="tableData.param.name"
|
|
- placeholder="请输入流程名称"
|
|
|
|
|
|
+ :placeholder="t('message.flowModel.enterFlowName')"
|
|
clearable
|
|
clearable
|
|
@keyup.enter.native="flowModelList"
|
|
@keyup.enter.native="flowModelList"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8" class="colBlock">
|
|
<el-col :span="8" class="colBlock">
|
|
- <el-form-item label="表单类型" prop="flowType">
|
|
|
|
- <el-select v-model="tableData.param.flowType" placeholder="请选择表单类型" clearable style="width: 160px">
|
|
|
|
|
|
+ <el-form-item :label="t('message.flowModel.formType')" prop="flowType">
|
|
|
|
+ <el-select v-model="tableData.param.flowType" :placeholder="t('message.flowModel.selectFormType')" clearable style="width: 160px">
|
|
<el-option
|
|
<el-option
|
|
v-for="dict in flow_model_type"
|
|
v-for="dict in flow_model_type"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
@@ -28,8 +28,8 @@
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8" :class="!showAll ? 'colBlock' : 'colNone'">
|
|
<el-col :span="8" :class="!showAll ? 'colBlock' : 'colNone'">
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button type="primary" @click="flowModelList"><el-icon><ele-Search /></el-icon>搜索</el-button>
|
|
|
|
- <el-button @click="resetQuery(queryRef)"><el-icon><ele-Refresh /></el-icon>重置</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="flowModelList"><el-icon><ele-Search /></el-icon>{{ t('message.flowModel.search') }}</el-button>
|
|
|
|
+ <el-button @click="resetQuery(queryRef)"><el-icon><ele-Refresh /></el-icon>{{ t('message.flowModel.reset') }}</el-button>
|
|
<el-button type="primary" link @click="toggleSearch">
|
|
<el-button type="primary" link @click="toggleSearch">
|
|
{{ word }}
|
|
{{ word }}
|
|
<el-icon v-show="showAll"><ele-ArrowUp/></el-icon>
|
|
<el-icon v-show="showAll"><ele-ArrowUp/></el-icon>
|
|
@@ -38,8 +38,8 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8" :class="showAll ? 'colBlock' : 'colNone'">
|
|
<el-col :span="8" :class="showAll ? 'colBlock' : 'colNone'">
|
|
- <el-form-item label="流程表单类别" prop="flowFormCate">
|
|
|
|
- <el-select v-model="tableData.param.flowFormCate" placeholder="请选择流程表单类别" clearable style="width: 180px">
|
|
|
|
|
|
+ <el-form-item :label="t('message.flowModel.flowFormCategory')" prop="flowFormCate">
|
|
|
|
+ <el-select v-model="tableData.param.flowFormCate" :placeholder="t('message.flowModel.selectFlowFormCategory')" clearable style="width: 180px">
|
|
<el-option
|
|
<el-option
|
|
v-for="item in flowFormCateOptions"
|
|
v-for="item in flowFormCateOptions"
|
|
:key="item.key"
|
|
:key="item.key"
|
|
@@ -50,8 +50,8 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8" :class="showAll ? 'colBlock' : 'colNone'">
|
|
<el-col :span="8" :class="showAll ? 'colBlock' : 'colNone'">
|
|
- <el-form-item label="业务表单类别" prop="flowBusinessCate">
|
|
|
|
- <el-select v-model="tableData.param.flowBusinessCate" placeholder="请选择业务表单类别" clearable style="width: 180px">
|
|
|
|
|
|
+ <el-form-item :label="t('message.flowModel.businessFormCategory')" prop="flowBusinessCate">
|
|
|
|
+ <el-select v-model="tableData.param.flowBusinessCate" :placeholder="t('message.flowModel.selectBusinessFormCategory')" clearable style="width: 180px">
|
|
<el-option
|
|
<el-option
|
|
v-for="dict in flow_model_cate"
|
|
v-for="dict in flow_model_cate"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
@@ -62,8 +62,8 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8" :class="showAll ? 'colBlock' : 'colNone'">
|
|
<el-col :span="8" :class="showAll ? 'colBlock' : 'colNone'">
|
|
- <el-form-item label="流程状态" prop="status">
|
|
|
|
- <el-select v-model="tableData.param.status" placeholder="请选择流程状态" clearable style="width: 180px">
|
|
|
|
|
|
+ <el-form-item :label="t('message.flowModel.flowStatus')" prop="status">
|
|
|
|
+ <el-select v-model="tableData.param.status" :placeholder="t('message.flowModel.selectFlowStatus')" clearable style="width: 180px">
|
|
<el-option
|
|
<el-option
|
|
v-for="dict in flow_form_status"
|
|
v-for="dict in flow_form_status"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
@@ -75,8 +75,8 @@
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8" :class="showAll ? 'colBlock' : 'colNone'">
|
|
<el-col :span="8" :class="showAll ? 'colBlock' : 'colNone'">
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button type="primary" @click="flowModelList"><el-icon><ele-Search /></el-icon>搜索</el-button>
|
|
|
|
- <el-button @click="resetQuery(queryRef)"><el-icon><ele-Refresh /></el-icon>重置</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="flowModelList"><el-icon><ele-Search /></el-icon>{{ t('message.flowModel.search') }}</el-button>
|
|
|
|
+ <el-button @click="resetQuery(queryRef)"><el-icon><ele-Refresh /></el-icon>{{ t('message.flowModel.reset') }}</el-button>
|
|
<el-button type="primary" link @click="toggleSearch">
|
|
<el-button type="primary" link @click="toggleSearch">
|
|
{{ word }}
|
|
{{ word }}
|
|
<el-icon v-show="showAll"><ele-ArrowUp/></el-icon>
|
|
<el-icon v-show="showAll"><ele-ArrowUp/></el-icon>
|
|
@@ -92,7 +92,7 @@
|
|
type="primary"
|
|
type="primary"
|
|
@click="handleAdd"
|
|
@click="handleAdd"
|
|
v-auth="'api/v1/flow/flowModel/add'"
|
|
v-auth="'api/v1/flow/flowModel/add'"
|
|
- ><el-icon><ele-Plus /></el-icon>新增</el-button>
|
|
|
|
|
|
+ ><el-icon><ele-Plus /></el-icon>{{ t('message.flowModel.add') }}</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
@@ -100,7 +100,7 @@
|
|
:disabled="single"
|
|
:disabled="single"
|
|
@click="handleUpdate(null)"
|
|
@click="handleUpdate(null)"
|
|
v-auth="'api/v1/flow/flowModel/edit'"
|
|
v-auth="'api/v1/flow/flowModel/edit'"
|
|
- ><el-icon><ele-Edit /></el-icon>修改</el-button>
|
|
|
|
|
|
+ ><el-icon><ele-Edit /></el-icon>{{ t('message.flowModel.edit') }}</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
@@ -108,84 +108,84 @@
|
|
:disabled="multiple"
|
|
:disabled="multiple"
|
|
@click="handleDelete(null)"
|
|
@click="handleDelete(null)"
|
|
v-auth="'api/v1/flow/flowModel/delete'"
|
|
v-auth="'api/v1/flow/flowModel/delete'"
|
|
- ><el-icon><ele-Delete /></el-icon>删除</el-button>
|
|
|
|
|
|
+ ><el-icon><ele-Delete /></el-icon>{{ t('message.flowModel.delete') }}</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
type="warning"
|
|
type="warning"
|
|
@click="handleExport()"
|
|
@click="handleExport()"
|
|
v-auth="'api/v1/flow/flowModel/export'"
|
|
v-auth="'api/v1/flow/flowModel/export'"
|
|
- ><el-icon><ele-Download /></el-icon>导出Excel</el-button>
|
|
|
|
|
|
+ ><el-icon><ele-Download /></el-icon>{{ t('message.flowModel.export') }}</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
<el-button
|
|
<el-button
|
|
type="success"
|
|
type="success"
|
|
@click="handleImport()"
|
|
@click="handleImport()"
|
|
v-auth="'api/v1/flow/flowModel/import'"
|
|
v-auth="'api/v1/flow/flowModel/import'"
|
|
- ><el-icon><ele-Upload /></el-icon>导入Excel</el-button>
|
|
|
|
|
|
+ ><el-icon><ele-Upload /></el-icon>{{ t('message.flowModel.import') }}</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
<el-table v-loading="loading" :data="tableData.data" @selection-change="handleSelectionChange">
|
|
<el-table v-loading="loading" :data="tableData.data" @selection-change="handleSelectionChange">
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
- <el-table-column label="主键" align="center" prop="id"
|
|
|
|
|
|
+ <el-table-column :label="t('message.flowModel.primaryKey')" align="center" prop="id"
|
|
min-width="150px"
|
|
min-width="150px"
|
|
/>
|
|
/>
|
|
- <el-table-column label="流程名称" align="center" prop="name"
|
|
|
|
|
|
+ <el-table-column :label="t('message.flowModel.flowName')" align="center" prop="name"
|
|
min-width="150px"
|
|
min-width="150px"
|
|
/>
|
|
/>
|
|
- <el-table-column label="表单类型" align="center" prop="flowType" :formatter="flowTypeFormat"
|
|
|
|
|
|
+ <el-table-column :label="t('message.flowModel.formType')" align="center" prop="flowType" :formatter="flowTypeFormat"
|
|
min-width="150px"
|
|
min-width="150px"
|
|
/>
|
|
/>
|
|
- <el-table-column label="流程表单类别" align="center" prop="linkedFlowFormCate.name"
|
|
|
|
|
|
+ <el-table-column :label="t('message.flowModel.flowFormCategory')" align="center" prop="linkedFlowFormCate.name"
|
|
min-width="150px"
|
|
min-width="150px"
|
|
/>
|
|
/>
|
|
- <el-table-column label="业务表单类别" align="center" prop="flowBusinessCate" :formatter="flowBusinessCateFormat"
|
|
|
|
|
|
+ <el-table-column :label="t('message.flowModel.businessFormCategory')" align="center" prop="flowBusinessCate" :formatter="flowBusinessCateFormat"
|
|
min-width="150px"
|
|
min-width="150px"
|
|
/>
|
|
/>
|
|
- <el-table-column label="流程状态" align="center" prop="status" :formatter="statusFormat"
|
|
|
|
|
|
+ <el-table-column :label="t('message.flowModel.flowStatus')" align="center" prop="status" :formatter="statusFormat"
|
|
min-width="150px"
|
|
min-width="150px"
|
|
/>
|
|
/>
|
|
- <el-table-column label="创建时间" align="center" prop="createdAt"
|
|
|
|
|
|
+ <el-table-column :label="t('message.flowModel.createTime')" align="center" prop="createdAt"
|
|
min-width="150px"
|
|
min-width="150px"
|
|
>
|
|
>
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<span>{{ proxy.parseTime(scope.row.createdAt, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
|
<span>{{ proxy.parseTime(scope.row.createdAt, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="创建人" align="center" prop="createdBy"
|
|
|
|
|
|
+ <el-table-column :label="t('message.flowModel.creator')" align="center" prop="createdBy"
|
|
min-width="150px"
|
|
min-width="150px"
|
|
/>
|
|
/>
|
|
- <el-table-column label="操作" align="center" class-name="small-padding" min-width="200px" fixed="right">
|
|
|
|
|
|
+ <el-table-column :label="t('message.flowModel.operation')" align="center" class-name="small-padding" min-width="200px" fixed="right">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-button
|
|
<el-button
|
|
type="primary"
|
|
type="primary"
|
|
link
|
|
link
|
|
@click="handleView(scope.row)"
|
|
@click="handleView(scope.row)"
|
|
v-auth="'api/v1/flow/flowModel/get'"
|
|
v-auth="'api/v1/flow/flowModel/get'"
|
|
- ><el-icon><ele-View /></el-icon>详情</el-button>
|
|
|
|
|
|
+ ><el-icon><ele-View /></el-icon>{{ t('message.flowModel.detail') }}</el-button>
|
|
<el-button
|
|
<el-button
|
|
v-show="!scope.row.isRunning"
|
|
v-show="!scope.row.isRunning"
|
|
type="primary"
|
|
type="primary"
|
|
link
|
|
link
|
|
@click="handleUpdate(scope.row)"
|
|
@click="handleUpdate(scope.row)"
|
|
v-auth="'api/v1/flow/flowModel/edit'"
|
|
v-auth="'api/v1/flow/flowModel/edit'"
|
|
- ><el-icon><ele-EditPen /></el-icon>修改</el-button>
|
|
|
|
|
|
+ ><el-icon><ele-EditPen /></el-icon>{{ t('message.flowModel.edit') }}</el-button>
|
|
<el-button
|
|
<el-button
|
|
v-show="!scope.row.isRunning"
|
|
v-show="!scope.row.isRunning"
|
|
type="primary"
|
|
type="primary"
|
|
link
|
|
link
|
|
@click="handleDesign(scope.row)"
|
|
@click="handleDesign(scope.row)"
|
|
v-auth="'api/v1/flow/flowModel/design'"
|
|
v-auth="'api/v1/flow/flowModel/design'"
|
|
- ><el-icon><ele-Notification /></el-icon>流程设计</el-button>
|
|
|
|
|
|
+ ><el-icon><ele-Notification /></el-icon>{{ t('message.flowModel.deployDesign') }}</el-button>
|
|
<el-button
|
|
<el-button
|
|
v-show="!scope.row.isRunning"
|
|
v-show="!scope.row.isRunning"
|
|
type="primary"
|
|
type="primary"
|
|
link
|
|
link
|
|
@click="handleDelete(scope.row)"
|
|
@click="handleDelete(scope.row)"
|
|
v-auth="'api/v1/flow/flowModel/delete'"
|
|
v-auth="'api/v1/flow/flowModel/delete'"
|
|
- ><el-icon><ele-DeleteFilled /></el-icon>删除</el-button>
|
|
|
|
- <el-tag v-show="scope.row.isRunning" type="danger">流程运行中</el-tag>
|
|
|
|
|
|
+ ><el-icon><ele-DeleteFilled /></el-icon>{{ t('message.flowModel.delete') }}</el-button>
|
|
|
|
+ <el-tag v-show="scope.row.isRunning" type="danger">{{ t('message.flowModel.running') }}</el-tag>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -237,6 +237,7 @@ import ApiV1FlowFlowModelDetail from "/@/views/flow/flowModel/list/component/det
|
|
import {downLoadXml} from "/@/utils/zipdownload";
|
|
import {downLoadXml} from "/@/utils/zipdownload";
|
|
import loadExcel from "/@/components/loadExcel/index.vue"
|
|
import loadExcel from "/@/components/loadExcel/index.vue"
|
|
import {useRouter} from "vue-router";
|
|
import {useRouter} from "vue-router";
|
|
|
|
+import { useI18n } from 'vue-i18n'
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
name: "ApiV1FlowFlowModelList",
|
|
name: "ApiV1FlowFlowModelList",
|
|
components:{
|
|
components:{
|
|
@@ -245,6 +246,7 @@ export default defineComponent({
|
|
ApiV1FlowFlowModelDetail
|
|
ApiV1FlowFlowModelDetail
|
|
},
|
|
},
|
|
setup() {
|
|
setup() {
|
|
|
|
+ const { t } = useI18n()
|
|
const router = useRouter();
|
|
const router = useRouter();
|
|
const {proxy} = <any>getCurrentInstance()
|
|
const {proxy} = <any>getCurrentInstance()
|
|
const loading = ref(false)
|
|
const loading = ref(false)
|
|
@@ -261,9 +263,9 @@ export default defineComponent({
|
|
const word = computed(()=>{
|
|
const word = computed(()=>{
|
|
if(showAll.value === false) {
|
|
if(showAll.value === false) {
|
|
//对文字进行处理
|
|
//对文字进行处理
|
|
- return "展开搜索";
|
|
|
|
|
|
+ return t('message.flowModel.expandSearch');
|
|
} else {
|
|
} else {
|
|
- return "收起搜索";
|
|
|
|
|
|
+ return t('message.flowModel.collapseSearch');
|
|
}
|
|
}
|
|
})
|
|
})
|
|
// 字典选项数据
|
|
// 字典选项数据
|
|
@@ -367,26 +369,26 @@ export default defineComponent({
|
|
router.push('/flow/flowModel/design?id='+row.id)
|
|
router.push('/flow/flowModel/design?id='+row.id)
|
|
}
|
|
}
|
|
const handleDelete = (row: FlowModelTableColumns) => {
|
|
const handleDelete = (row: FlowModelTableColumns) => {
|
|
- let msg = '你确定要删除所选数据?';
|
|
|
|
|
|
+ let msg = t('message.flowModel.confirmDeleteSelected');
|
|
let id:number[] = [] ;
|
|
let id:number[] = [] ;
|
|
if(row){
|
|
if(row){
|
|
- msg = `此操作将永久删除数据,是否继续?`
|
|
|
|
|
|
+ msg = t('message.flowModel.confirmDeleteSingle')
|
|
id = [row.id]
|
|
id = [row.id]
|
|
}else{
|
|
}else{
|
|
id = state.ids
|
|
id = state.ids
|
|
}
|
|
}
|
|
if(id.length===0){
|
|
if(id.length===0){
|
|
- ElMessage.error('请选择要删除的数据。');
|
|
|
|
|
|
+ ElMessage.error(t('message.flowModel.pleaseSelectDeleteData'));
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- ElMessageBox.confirm(msg, '提示', {
|
|
|
|
- confirmButtonText: '确认',
|
|
|
|
- cancelButtonText: '取消',
|
|
|
|
|
|
+ ElMessageBox.confirm(msg, t('message.flowModel.tip'), {
|
|
|
|
+ confirmButtonText: t('message.flowModel.confirm'),
|
|
|
|
+ cancelButtonText: t('message.flowModel.cancel'),
|
|
type: 'warning',
|
|
type: 'warning',
|
|
})
|
|
})
|
|
.then(() => {
|
|
.then(() => {
|
|
delFlowModel(id).then(()=>{
|
|
delFlowModel(id).then(()=>{
|
|
- ElMessage.success('删除成功');
|
|
|
|
|
|
+ ElMessage.success(t('message.flowModel.deleteSuccess'));
|
|
flowModelList();
|
|
flowModelList();
|
|
})
|
|
})
|
|
})
|
|
})
|
|
@@ -403,6 +405,7 @@ export default defineComponent({
|
|
loadExcelFlowModelRef.value.open()
|
|
loadExcelFlowModelRef.value.open()
|
|
}
|
|
}
|
|
return {
|
|
return {
|
|
|
|
+ t,
|
|
proxy,
|
|
proxy,
|
|
editRef,
|
|
editRef,
|
|
detailRef,
|
|
detailRef,
|