Commit df66098f authored by 我在何方's avatar 我在何方
parents ec4d788e 4ebe0837
<template>
<div class="app-container">
<doc-alert title="工作流1" url="https://doc.iocoder.cn/bpm" />
<!-- <doc-alert :title="$t('工作流')" url="https://doc.iocoder.cn/bpm" /> -->
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="定义编号" align="center" prop="id" width="400" />
<el-table-column label="定义名称" align="center" prop="name" width="100">
<el-table-column :label="$t('定义编号')" align="center" prop="id" width="400" />
<el-table-column :label="$t('定义名称')" align="center" prop="name" width="100">
<template slot-scope="scope">
<el-button type="text" @click="handleBpmnDetail(scope.row)">
<span>{{ scope.row.name }}</span>
</el-button>
</template>
</el-table-column>
<el-table-column label="定义分类" align="center" prop="category" width="100">
<el-table-column :label="$t('定义分类')" align="center" prop="category" width="100">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
</template>
</el-table-column>
<el-table-column label="表单信息" align="center" prop="formType" width="200">
<el-table-column :label="$t('表单信息')" align="center" prop="formType" width="200">
<template slot-scope="scope">
<el-button v-if="scope.row.formId" type="text" @click="handleFormDetail(scope.row)">
<span>{{ scope.row.formName }}</span>
......@@ -25,42 +25,42 @@
<el-button v-else-if="scope.row.formCustomCreatePath" type="text" @click="handleFormDetail(scope.row)">
<span>{{ scope.row.formCustomCreatePath }}</span>
</el-button>
<label v-else>暂无表单</label>
<label v-else>{{$t('暂无表单')}}</label>
</template>
</el-table-column>
<el-table-column label="流程版本" align="center" prop="processDefinition.version" width="80">
<el-table-column :label="$t('流程版本')" align="center" prop="processDefinition.version" width="80">
<template slot-scope="scope">
<el-tag size="medium" v-if="scope.row">v{{ scope.row.version }}</el-tag>
<el-tag size="medium" type="warning" v-else>未部署</el-tag>
<el-tag size="medium" type="warning" v-else>{{$t('未部署')}}</el-tag>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="version" width="80">
<el-table-column :label="$t('状态')" align="center" prop="version" width="80">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.suspensionState === 1">激活</el-tag>
<el-tag type="warning" v-if="scope.row.suspensionState === 2">挂起</el-tag>
<el-tag type="success" v-if="scope.row.suspensionState === 1">{{$t('激活')}}</el-tag>
<el-tag type="warning" v-if="scope.row.suspensionState === 2">{{$t('挂起')}}</el-tag>
</template>
</el-table-column>
<el-table-column label="部署时间" align="center" prop="deploymentTime" width="180">
<el-table-column :label="$t('部署时间')" align="center" prop="deploymentTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.deploymentTime) }}</span>
</template>
</el-table-column>
<el-table-column label="定义描述" align="center" prop="description" width="300" show-overflow-tooltip />
<el-table-column label="操作" align="center" width="150" fixed="right">
<el-table-column :label="$t('定义描述')" align="center" prop="description" width="300" show-overflow-tooltip />
<el-table-column :label="$t('操作')" align="center" width="150" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-s-custom" @click="handleAssignRule(scope.row)"
v-hasPermi="['bpm:task-assign-rule:update']">分配规则</el-button>
v-hasPermi="['bpm:task-assign-rule:update']">{{$t('分配规则')}}</el-button>
</template>
</el-table-column>
</el-table>
<!-- 流程表单配置详情 -->
<el-dialog title="表单详情" :visible.sync="detailOpen" width="50%" append-to-body>
<el-dialog :title="$t('表单详情')" :visible.sync="detailOpen" width="50%" append-to-body>
<parser :key="new Date().getTime()" :form-conf="detailForm" />
</el-dialog>
<!-- 流程模型图的预览 -->
<el-dialog title="流程图" :visible.sync="showBpmnOpen" width="80%" append-to-body>
<el-dialog :title="$t('流程图')" :visible.sync="showBpmnOpen" width="80%" append-to-body>
<my-process-viewer key="designer" v-model="bpmnXML" v-bind="bpmnControlForm" />
</el-dialog>
......
......@@ -2,7 +2,7 @@
<div class="container">
<div class="left-board">
<div class="logo-wrapper">
<div class="logo">流程表单</div>
<div class="logo">{{$t('流程表单')}}</div>
</div>
<el-scrollbar class="left-scrollbar">
<!-- 左边:表单项 -->
......@@ -37,17 +37,17 @@
<!-- 左边:动态表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="表单名" prop="name">
<el-input v-model="form.name" placeholder="请输入表单名" />
<el-form-item :label="$t('表单名')" prop="name">
<el-input v-model="form.name" :placeholder="$t('请输入表单名')" />
</el-form-item>
<el-form-item label="开启状态" prop="status">
<el-form-item :label="$t('开启状态')" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="parseInt(dict.value)">{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="form.remark" placeholder="请输入备注" />
<el-form-item :label="$t('备注')" prop="remark">
<el-input type="textarea" v-model="form.remark" :placeholder="$t('请输入备注')" />
</el-form-item>
</el-form>
</div>
......@@ -56,12 +56,12 @@
<div class="center-board">
<div class="action-bar">
<el-button icon="el-icon-check" type="text" @click="save">保存</el-button>
<el-button icon="el-icon-check" type="text" @click="save">{{$t('保存')}}</el-button>
<!-- <el-button icon="el-icon-video-play" type="text" @click="run">-->
<!-- 运行-->
<!-- </el-button>-->
<el-button icon="el-icon-view" type="text" @click="showJson">
查看json
{{$t('查看json')}}
</el-button>
<!-- <el-button icon="el-icon-download" type="text" @click="download">-->
<!-- 导出vue文件-->
......@@ -70,7 +70,7 @@
<!-- 复制代码-->
<!-- </el-button>-->
<el-button class="delete-btn" icon="el-icon-delete" type="text" @click="empty">
清空
{{$t('清空')}}
</el-button>
</div>
......@@ -98,7 +98,7 @@
/>
</draggable>
<div v-show="!drawingList.length" class="empty-info">
从左侧拖入或点选组件进行表单设计
{{$t('从左侧拖入或点选组件进行表单设计')}}
</div>
</el-form>
</el-row>
......
<template>
<div class="app-container">
<doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" />
<!-- <doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> -->
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="表单名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入表单名" clearable @keyup.enter.native="handleQuery"/>
<el-form-item :label="$t('表单名')" prop="name">
<el-input v-model="queryParams.name" :placeholder="$t('请输入表单名')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
......@@ -17,34 +17,34 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['bpm:form:create']">新增</el-button>
v-hasPermi="['bpm:form:create']">{{$t('新增')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="表单名" align="center" prop="name" />
<el-table-column label="开启状态" align="center" prop="status">
<el-table-column :label="$t('编号')" align="center" prop="id" />
<el-table-column :label="$t('表单名')" align="center" prop="name" />
<el-table-column :label="$t('开启状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column :label="$t('备注')" align="center" prop="remark" />
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)"
v-hasPermi="['bpm:form:query']">详情</el-button>
v-hasPermi="['bpm:form:query']">{{$t('详情')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['bpm:form:update']">修改</el-button>
v-hasPermi="['bpm:form:update']">{{$t('修改')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['bpm:form:delete']">删除</el-button>
v-hasPermi="['bpm:form:delete']">{{$t('删除')}}</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -3,27 +3,27 @@
<!-- 第一步,通过流程定义的列表,选择对应的流程 -->
<div v-if="!selectProcessInstance">
<el-table v-loading="loading" :data="list">
<el-table-column label="流程名称" align="center" prop="name" width="200">
<el-table-column :label="$t('流程名称')" align="center" prop="name" width="200">
<template slot-scope="scope">
<el-button type="text" @click="handleBpmnDetail(scope.row)">
<span>{{ scope.row.name }}</span>
</el-button>
</template>
</el-table-column>
<el-table-column label="流程分类" align="center" prop="category" width="100">
<el-table-column :label="$t('流程分类')" align="center" prop="category" width="100">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
</template>
</el-table-column>
<el-table-column label="流程版本" align="center" prop="processDefinition.version" width="80">
<el-table-column :label="$t('流程版本')" align="center" prop="processDefinition.version" width="80">
<template slot-scope="scope">
<el-tag size="medium" v-if="scope.row">v{{ scope.row.version }}</el-tag>
</template>
</el-table-column>
<el-table-column label="流程描述" align="center" prop="description" width="300" show-overflow-tooltip />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('流程描述')" align="center" prop="description" width="300" show-overflow-tooltip />
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="text" size="small" icon="el-icon-plus" @click="handleSelect(scope.row)">选择</el-button>
<el-button type="text" size="small" icon="el-icon-plus" @click="handleSelect(scope.row)">{{$t('选择')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -32,8 +32,8 @@
<div v-else>
<el-card class="box-card" >
<div slot="header" class="clearfix">
<span class="el-icon-document">申请信息【{{ selectProcessInstance.name }}】</span>
<el-button style="float: right;" type="primary" @click="selectProcessInstance = undefined">选择其它流程</el-button>
<span class="el-icon-document">{{$t('申请信息')}}【{{ selectProcessInstance.name }}】</span>
<el-button style="float: right;" type="primary" @click="selectProcessInstance = undefined">{{$t('选择其它流程')}}</el-button>
</div>
<el-col :span="16" :offset="6">
<div>
......@@ -43,7 +43,7 @@
</el-card>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span class="el-icon-picture-outline">流程图</span>
<span class="el-icon-picture-outline">{{$t('流程图')}}</span>
</div>
<my-process-viewer key="designer" v-model="bpmnXML" v-bind="bpmnControlForm" />
</el-card>
......
......@@ -3,33 +3,33 @@
<!-- 审批信息 -->
<el-card class="box-card" v-loading="processInstanceLoading" v-for="(item, index) in runningTasks" :key="index">
<div slot="header" class="clearfix">
<span class="el-icon-picture-outline">审批任务{{ item.name }}</span>
<span class="el-icon-picture-outline">{{$t('审批任务')}}{{ item.name }}</span>
</div>
<el-col :span="16" :offset="6">
<el-form :ref="'form' + index" :model="auditForms[index]" :rules="auditRule" label-width="100px">
<el-form-item label="流程名" v-if="processInstance && processInstance.name">
<el-form-item :label="$t('流程名')" v-if="processInstance && processInstance.name">
{{ processInstance.name }}
</el-form-item>
<el-form-item label="流程发起人" v-if="processInstance && processInstance.startUser">
<el-form-item :label="$t('流程发起人')" v-if="processInstance && processInstance.startUser">
{{ processInstance.startUser.nickname }}
<el-tag type="info" size="mini">{{ processInstance.startUser.deptName }}</el-tag>
</el-form-item>
<el-form-item label="抄送人" prop="copyUserIds">
<el-form-item :label="$t('抄送人')" prop="copyUserIds">
<el-select v-model="auditForms[index].copyUserIds" clearable multiple filterable style="width: 100%">
<el-option v-for="item in userOptions" :key="parseInt(item.id)" :label="item.nickname"
:value="parseInt(item.id)"/>
</el-select>
</el-form-item>
<el-form-item label="审批建议" prop="comment">
<el-input type="textarea" v-model="auditForms[index].comment" placeholder="请输入审批建议"/>
<el-form-item :label="$t('审批建议')" prop="comment">
<el-input type="textarea" v-model="auditForms[index].comment" :placeholder="$t('请输入审批建议')"/>
</el-form-item>
</el-form>
<div style="margin-left: 10%; margin-bottom: 20px; font-size: 14px;">
<el-button icon="el-icon-edit-outline" type="success" size="mini" @click="handleAudit(item, true)">通过
<el-button icon="el-icon-edit-outline" type="success" size="mini" @click="handleAudit(item, true)">{{$t('通过')}}
</el-button>
<el-button icon="el-icon-circle-close" type="danger" size="mini" @click="handleAudit(item, false)">不通过
<el-button icon="el-icon-circle-close" type="danger" size="mini" @click="handleAudit(item, false)">{{$t('不通过')}}
</el-button>
<el-button icon="el-icon-edit-outline" type="primary" size="mini" @click="handleUpdateAssignee(item)">转办
<el-button icon="el-icon-edit-outline" type="primary" size="mini" @click="handleUpdateAssignee(item)">{{$t('转办')}}
</el-button>
<!-- <el-button icon="el-icon-edit-outline" type="primary" size="mini" @click="handleDelegate(item)">委派</el-button>-->
<!-- <el-button icon="el-icon-refresh-left" type="warning" size="mini" @click="handleBack(item)">退回</el-button>-->
......@@ -39,7 +39,7 @@
<!-- 申请信息 -->
<el-card class="box-card mt-10" v-loading="processInstanceLoading">
<div slot="header" class="clearfix">
<span class="el-icon-document">申请信息{{ processInstance.name }}</span>
<span class="el-icon-document">{{$t('申请信息')}}{{ processInstance.name }}</span>
</div>
<el-col v-if="this.processInstance.processDefinition && this.processInstance.processDefinition.formType === 10"
:span="16" :offset="6">
......@@ -53,7 +53,7 @@
<div v-else>
<router-link :to="this.processInstance.processDefinition.formCustomViewPath + '?id='
+ this.processInstance.businessKey">
<el-button type="primary">点击查看</el-button>
<el-button type="primary">{{$t('点击查看')}}</el-button>
</router-link>
</div>
......@@ -61,26 +61,26 @@
</el-card>
<el-card class="box-card mt-10" v-loading="tasksLoad">
<div slot="header" class="clearfix">
<span class="el-icon-picture-outline">审批记录</span>
<span class="el-icon-picture-outline">{{$t('审批记录')}}</span>
</div>
<el-col :span="16" :offset="4">
<div class="block">
<el-timeline>
<el-timeline-item v-for="(item, index) in tasks" :key="index"
:icon="getTimelineItemIcon(item)" :type="getTimelineItemType(item)">
<p style="font-weight: 700">任务{{ item.name }}</p>
<p style="font-weight: 700">{{$t('任务')}}{{ item.name }}</p>
<el-card :body-style="{ padding: '10px' }">
<label v-if="item.assigneeUser" style="font-weight: normal; margin-right: 30px;">
审批人{{ item.assigneeUser.nickname }}
{{$t('审批人')}}{{ item.assigneeUser.nickname }}
<el-tag type="info" size="mini">{{ item.assigneeUser.deptName }}</el-tag>
</label>
<label style="font-weight: normal">创建时间</label>
<label style="font-weight: normal">{{$t('创建时间')}}</label>
<label style="color:#8a909c; font-weight: normal">{{ parseTime(item.createTime) }}</label>
<label v-if="item.endTime" style="margin-left: 30px;font-weight: normal">审批时间</label>
<label v-if="item.endTime" style="margin-left: 30px;font-weight: normal">{{$t('审批时间')}}</label>
<label v-if="item.endTime" style="color:#8a909c;font-weight: normal"> {{
parseTime(item.endTime)
}}</label>
<label v-if="item.durationInMillis" style="margin-left: 30px;font-weight: normal">耗时</label>
<label v-if="item.durationInMillis" style="margin-left: 30px;font-weight: normal">{{$t('耗时')}}</label>
<label v-if="item.durationInMillis" style="color:#8a909c;font-weight: normal">
{{ getDateStar(item.durationInMillis) }} </label>
<p v-if="item.comment">
......@@ -96,7 +96,7 @@
<!-- 高亮流程图 -->
<el-card class="box-card mt-10" v-loading="processInstanceLoading">
<div slot="header" class="clearfix">
<span class="el-icon-picture-outline">流程图</span>
<span class="el-icon-picture-outline">{{$t('流程图')}}</span>
</div>
<my-process-viewer key="designer" v-model="bpmnXML" v-bind="bpmnControlForm" :activityData="activityList"
:processInstanceData="processInstance" :taskData="tasks"/>
......@@ -105,7 +105,7 @@
<!-- 对话框(转派审批人) -->
<el-dialog title="转派审批人" :visible.sync="updateAssignee.open" width="500px" append-to-body>
<el-form ref="updateAssigneeForm" :model="updateAssignee.form" :rules="updateAssignee.rules" label-width="110px">
<el-form-item label="新审批人" prop="assigneeUserId">
<el-form-item :label="$t('新审批人')" prop="assigneeUserId">
<el-select v-model="updateAssignee.form.assigneeUserId" clearable style="width: 100%">
<el-option v-for="item in userOptions" :key="parseInt(item.id)" :label="item.nickname"
:value="parseInt(item.id)"/>
......@@ -113,8 +113,8 @@
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitUpdateAssigneeForm">确 定</el-button>
<el-button @click="cancelUpdateAssigneeForm">取 消</el-button>
<el-button type="primary" @click="submitUpdateAssigneeForm">{{$t('确定')}}</el-button>
<el-button @click="cancelUpdateAssigneeForm">{{$t('取消')}}</el-button>
</div>
</el-dialog>
</div>
......
......@@ -2,8 +2,8 @@
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="流程名称" prop="name">
<el-input v-model="queryParams.name" placeholder="流程名称" clearable @keyup.enter.native="handleQuery"/>
<el-form-item label="任务名称" prop="name">
<el-input v-model="queryParams.name" placeholder="任务名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="流程分类" prop="category">
<el-select v-model="queryParams.category" placeholder="请选择流程分类" clearable>
......@@ -45,7 +45,7 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" width="320" />
<el-table-column label="流程名" align="center" prop="name" />
<el-table-column label="任务名称" align="center" prop="name" />
<el-table-column label="流程分类" align="center" prop="category">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
......
......@@ -2,34 +2,48 @@
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="流程名" prop="processName">
<el-input v-model="queryParams.processName" placeholder="请输入流程名" clearable @keyup.enter.native="handleQuery"/>
<el-form-item label="任务编号" prop="processId">
<el-input v-model="queryParams.instanceId" placeholder="请输入任务编号" clearable/>
</el-form-item>
<el-form-item label="创建时间">
<el-form-item label="流程分类" prop="processName">
<el-select v-model="queryParams.categoryId" placeholder="请选择流程分类" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="流程名称" prop="processName">
<el-input v-model="queryParams.processName" placeholder="请输入流程名称" clearable/>
</el-form-item>
<el-form-item :label="$t('创建时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="任务编号" align="center" prop="taskId" width="320" />
<el-table-column label="流程分类" align="center" prop="title" />
<el-table-column label="流程名称" align="center" prop="processName" />
<el-table-column label="流程发起人" align="center" prop="originatorName" />
<el-table-column label="任务编号" align="center" prop="instanceId" width="320"/>
<el-table-column label="流程分类" align="center" prop="categoryId">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.categoryId" />
</template>
</el-table-column>
<el-table-column label="流程名称" align="center" prop="processName"/>
<el-table-column label="流程发起人" align="center" prop="originatorName"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
v-hasPermi="['bpm:task:query']">详情</el-button>
v-hasPermi="['bpm:task:query']">详情
</el-button>
</template>
</el-table-column>
</el-table>
......@@ -45,8 +59,7 @@ import {getCopyTaskPage} from '@/api/bpm/task'
export default {
name: "Copy",
components: {
},
components: {},
data() {
return {
// 遮罩层
......@@ -62,7 +75,10 @@ export default {
queryParams: {
pageNo: 1,
pageSize: 10,
name: null,
instanceId: null,
categoryId: null,
processName: null
},
};
},
......@@ -94,7 +110,7 @@ export default {
this.handleQuery();
},
handleAudit(row) {
this.$router.push({ path: "/bpm/process-instance/detail", query: { id: row.instanceId}});
this.$router.push({path: "/bpm/process-instance/detail", query: {id: row.instanceId}});
},
}
};
......
......@@ -2,50 +2,50 @@
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="流程名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入流程名" clearable @keyup.enter.native="handleQuery"/>
<el-form-item :label="$t('流程名')" prop="name">
<el-input v-model="queryParams.name" :placeholder="$t('请输入流程名')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间">
<el-form-item :label="$t('创建时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="任务编号" align="center" prop="id" width="320" fixed />
<el-table-column label="任务名称" align="center" prop="name" width="200" />
<el-table-column label="所属流程" align="center" prop="processInstance.name" width="200" />
<el-table-column label="流程发起人" align="center" prop="processInstance.startUserNickname" width="120" />
<el-table-column label="结果" align="center" prop="result">
<el-table-column :label="$t('任务编号')" align="center" prop="id" width="320" fixed />
<el-table-column :label="$t('任务名称')" align="center" prop="name" width="200" />
<el-table-column :label="$t('所属流程')" align="center" prop="processInstance.name" width="200" />
<el-table-column :label="$t('流程发起人')" align="center" prop="processInstance.startUserNickname" width="120" />
<el-table-column :label="$t('结果')" align="center" prop="result">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/>
</template>
</el-table-column>
<el-table-column label="审批意见" align="center" prop="comment" width="200" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column :label="$t('审批意见')" align="center" prop="comment" width="200" />
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="审批时间" align="center" prop="endTime" width="180">
<el-table-column :label="$t('审批时间')" align="center" prop="endTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endTime) }}</span>
</template>
</el-table-column>
<el-table-column label="耗时" align="center" prop="durationInMillis" width="180">
<el-table-column :label="$t('耗时')" align="center" prop="durationInMillis" width="180">
<template slot-scope="scope">
<span>{{ getDateStar(scope.row.durationInMillis) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
v-hasPermi="['bpm:task:query']">详情</el-button>
v-hasPermi="['bpm:task:query']">{{$t('详情')}}</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -2,55 +2,70 @@
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="任务名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入任务名" clearable @keyup.enter.native="handleQuery"/>
<el-form-item :label="$t('任务名称')" prop="name">
<el-input v-model="queryParams.name" :placeholder="$t('请输入任务名')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="流程分类" prop="category">
<el-select v-model="queryParams.category" placeholder="请选择流程分类" clearable>
<!-- // TODO 接口暂不支持
<el-form-item label="流程编号" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入流程编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
-->
<el-form-item :label="$t('流程分类')" prop="category">
<el-select v-model="queryParams.category" :placeholder="$t('请选择流程分类')" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="业务编码" prop="businessNo">
<el-input v-model="queryParams.businessNo" placeholder="请输入业务编码" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间">
<el-form-item :label="$t('提交时间')">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"/>
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')"/>
</el-form-item>
<!-- // TODO 接口暂不支持
<el-form-item label="状态" prop="name">
</el-form-item>
<el-form-item label="结果" prop="name">
</el-form-item>
-->
<el-form-item :label="$t('业务编码')" prop="businessNo">
<el-input v-model="queryParams.businessNo" :placeholder="$t('请输入业务编码')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</el-form>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="任务编号" align="center" prop="id" width="320"/>
<el-table-column label="业务编号" align="center" prop="businessNo"/>
<el-table-column label="流程分类" align="center" prop="category">
<el-table-column :label="$t('任务编号')" align="center" prop="id" width="320"/>
<el-table-column :label="$t('业务编号')" align="center" prop="businessNo"/>
<el-table-column :label="$t('流程分类')" align="center" prop="category">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category"/>
</template>
</el-table-column>
<el-table-column label="所属流程" align="center" prop="processInstance.name"/>
<el-table-column label="当前审批任务" align="center" prop="name"/>
<el-table-column label="流程发起人" align="center" prop="processInstance.startUserNickname"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column :label="$t('所属流程')" align="center" prop="processInstance.name"/>
<el-table-column :label="$t('当前审批任务')" align="center" prop="name"/>
<el-table-column :label="$t('流程发起人')" align="center" prop="processInstance.startUserNickname"/>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="version" width="80">
<el-table-column :label="$t('状态')" align="center" prop="version" width="80">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.suspensionState === 1">激活</el-tag>
<el-tag type="warning" v-if="scope.row.suspensionState === 2">挂起</el-tag>
<el-tag type="success" v-if="scope.row.suspensionState === 1">{{$t('激活')}}</el-tag>
<el-tag type="warning" v-if="scope.row.suspensionState === 2">{{$t('挂起')}}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAudit(scope.row)"
v-hasPermi="['bpm:task:update']">审批
v-hasPermi="['bpm:task:update']">{{$t('审批')}}
</el-button>
</template>
</el-table-column>
......
......@@ -581,9 +581,10 @@ export default {
this.$modal.alert(this.$t('至少添加一位联系人'))
return
}
this.$refs["contactForm"].validate(valid1 => {
this.$refs["form"].validate(valid2 => {
this.$refs["contactForm"].validate((valid1,err1) => {
this.$refs["form"].validate((valid2,err2) => {
if (!valid1 || !valid2) {
this.$showFormValidateErrors({...err1,...err2})
return;
}
if (this.form.customerContacts.length === 0){
......
......@@ -1093,7 +1093,7 @@ export default {
::v-deep .product-list .el-form-item__error{
position: static;
}
::v-deep .el-table__cell .cell{
::v-deep th.el-table__cell .cell{
white-space: nowrap;
.red{
color: red;
......
编辑
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
status != 20,21
shipmentState != 320,322,323
inWarehouseState != 212, 218, 213, 214, 215 && status != 5,8
取消
status = 0,2
费用申请
status != 0,
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState != 320,322,323
特需,关联,互斥
status != 0,
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
status > 5
inWarehouseState == 204
特价
status !=0
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState != 320,322,323
确认提货
status != 0,2
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState != 320,322,323
合单,拆单
status != 0,2
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState > 320
入仓操作
status == 0,2
abnormalState == 1
入仓补充
inWarehouseState == 201,202, 208, 202, 210, 202, 211, 202, 213, 214, 215, 216
abnormalState != 99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
入仓修改
inWarehouseState == 202, 207, 208, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205, 206
退仓
inWarehouseState == 201, 202, 207, 208, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216
abnormalState != 1
调仓
inWarehouseState == 201, 202, 208, 202, 210, 202, 211, 202, 213, 215, 216
取消调仓
inWarehouseState == 212,213,214
调拨出仓
inWarehouseState == 213
调拨到仓
inWarehouseState= 214
打印标签
status != 0
shipmentState != 320,322,323
abnormalState !=5,6,7,8
打印入仓单
status != 0,2
abnormalState != 1,5,6,7,8
shipmentState != 320,322,323
打印提单
......@@ -24,27 +24,56 @@
<el-descriptions-item :label="$t('申请理由')" v-if="type == 1" :span="4">
<div class="bold">
<div>
{{$t('原运费')}}{{detail.orgFreight}} {{ currentMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
{{$t('新运费')}}{{detail.freight}} {{ currentMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
{{$t('原运费')}}{{detail.orgFreight}} {{ currencyMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
{{$t('新运费')}}{{detail.freight}} {{ currencyMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
</div>
<div>
{{$t('原清关费')}}{{detail.orgClearanceFreight}} {{ currentMap[detail.clearanceFreightCurrency] }} / {{ unitMap[detail.clearanceFreightVolume] }}
{{$t('新清关费')}}{{detail.clearanceFreight}} {{ currentMap[detail.clearanceFreightCurrency] }} / {{ unitMap[detail.clearanceFreightVolume] }}
{{$t('原清关费')}}{{detail.orgClearanceFreight}} {{ currencyMap[detail.clearanceFreightCurrency] }} / {{ unitMap[detail.clearanceFreightVolume] }}
{{$t('新清关费')}}{{detail.clearanceFreight}} {{ currencyMap[detail.clearanceFreightCurrency] }} / {{ unitMap[detail.clearanceFreightVolume] }}
</div>
</div>
</el-descriptions-item>
<!-- 佣金设置 -->
<el-descriptions-item :label="$t('申请理由')" v-if="type == 3" :span="4">
<div class="bold">
<div class="item">
{{$t('商品')}}{{$l(detail, 'prodTitle')}}
</div>
<div class="item">
{{$t('佣金规则')}}{{$t('从【{oldType}】改为【{newType}', {
oldType: getDictDataLabel(DICT_TYPE.COMMISSION_TYPE, detail.commissionType) ,
newType: getDictDataLabel(DICT_TYPE.COMMISSION_TYPE, detail.commissionType),
})}}
</div>
<div>
{{$t('原运费')}}{{detail.orgFreight}}{{currencyMap[detail.freightCurrency]}} / {{unitMap[detail.freightVolume]}}
</div>
<div>
{{$t('新运费')}}{{Decimal(detail.freight).plus(detail.lightCommissionAmount)}}{{currencyMap[detail.freightCurrency]}} / {{unitMap[detail.freightVolume]}}
</div>
<div>
{{$t('成本价')}}{{Decimal(detail.freight).minus(detail.shadeCommissionAmount)}} {{ currencyMap[detail.freightCurrency] }} / {{ unitMap[detail.freightVolume] }}
</div>
<div>
{{$t('明佣')}}{{ detail.lightCommissionAmount}}{{currencyMap[detail.freightCurrency]}} / {{unitMap[detail.freightVolume]}}
</div>
<div>
{{$t('暗佣')}}{{detail.shadeCommissionAmount }}{{currencyMap[detail.freightCurrency]}} / {{unitMap[detail.freightVolume]}}
</div>
</div>
</el-descriptions-item>
</el-descriptions>
<PrintLandingBill :order-id="order.orderId" v-if="ShowLandingBill" @close="ShowLandingBill=false"/>
</div>
</template>
<script>
import {getOrder, getApproval} from '@/api/ecw/order'
import {getChannel} from '@/api/ecw/channel'
import {getBillOfLandingInProcessing, getBillService} from '@/api/ecw/box'
import {getUnitList} from "@/api/ecw/unit"
import { getCurrencyList } from '@/api/ecw/currency'
import Decimal from 'decimal.js'
/*
type含义
优惠申请 1
......@@ -108,7 +137,7 @@ export default {
}
},
computed:{
currentMap(){
currencyMap(){
let map = {}
this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title')
......@@ -129,6 +158,7 @@ export default {
}
},
methods:{
Decimal,
getData(){
getApproval(this.id).then(res => {
this.type = res.data.type
......
......@@ -1056,7 +1056,7 @@ export default {
::v-deep .product-list .el-form-item__error{
position: static;
}
::v-deep .el-table__cell .cell{
::v-deep th.el-table__cell .cell{
white-space: nowrap;
.red{
color: red;
......
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