Merge branch 'ehs' of https://e.coding.net/ctcdevteam/ehs/ehs_web into ehs
This commit is contained in:
commit
459636e5b0
|
|
@ -168,7 +168,7 @@ const routes = [
|
||||||
"name": "configuration",
|
"name": "configuration",
|
||||||
"path": "/wf/configuration",
|
"path": "/wf/configuration",
|
||||||
"meta": {
|
"meta": {
|
||||||
"title": "工单",
|
"title": "工作流配置",
|
||||||
"icon": "el-icon-menu",
|
"icon": "el-icon-menu",
|
||||||
"hidden": true
|
"hidden": true
|
||||||
},
|
},
|
||||||
|
|
@ -471,6 +471,7 @@ const routes = [
|
||||||
"type": "menu"
|
"type": "menu"
|
||||||
},
|
},
|
||||||
"children": [
|
"children": [
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "employee",
|
"name": "employee",
|
||||||
"path": "/hrm/employee",
|
"path": "/hrm/employee",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,358 @@
|
||||||
|
<template>
|
||||||
|
<div style="display:flex;row nowrap">
|
||||||
|
|
||||||
|
<!-- <el-tag
|
||||||
|
v-for="user in userData"
|
||||||
|
:key="user.id"
|
||||||
|
>
|
||||||
|
{{ user.name }}
|
||||||
|
</el-tag>-->
|
||||||
|
<el-button
|
||||||
|
v-if="selectable"
|
||||||
|
type="primary"
|
||||||
|
circle
|
||||||
|
size="mini"
|
||||||
|
icon="el-icon-plus"
|
||||||
|
@click="showDialog()"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
title="选择人员"
|
||||||
|
width="90%"
|
||||||
|
v-model="dialoguser"
|
||||||
|
:before-close="handleClose"
|
||||||
|
:append-to-body="true"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
>
|
||||||
|
<el-card>
|
||||||
|
<el-row>
|
||||||
|
<el-col :md="8" :sm="24">
|
||||||
|
<el-main class="nopadding">
|
||||||
|
<el-tabs type="border-card" stretch="true">
|
||||||
|
<el-tab-pane label="按部门分类">
|
||||||
|
<el-input placeholder="输入关键字进行过滤" v-model="filterText">
|
||||||
|
</el-input>
|
||||||
|
|
||||||
|
<el-tree
|
||||||
|
class="filter-tree"
|
||||||
|
style="padding-top: 15px"
|
||||||
|
:data="deptdata"
|
||||||
|
default-expand-all
|
||||||
|
:filter-node-method="filterNode"
|
||||||
|
ref="tree"
|
||||||
|
@node-click="handleNodeClick"
|
||||||
|
>
|
||||||
|
</el-tree>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="按岗位分类">
|
||||||
|
<el-input
|
||||||
|
placeholder="输入关键字进行过滤"
|
||||||
|
v-model="filterTexts"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
|
||||||
|
<el-tree
|
||||||
|
class="filter-tree"
|
||||||
|
style="padding-top: 15px"
|
||||||
|
:data="postdata"
|
||||||
|
default-expand-all
|
||||||
|
:filter-node-method="filterNodes"
|
||||||
|
ref="tree"
|
||||||
|
@node-click="handleNodeClicks"
|
||||||
|
>
|
||||||
|
</el-tree>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</el-main>
|
||||||
|
</el-col>
|
||||||
|
<el-col :md="16" :sm="24">
|
||||||
|
<el-header style="border-bottom: none">
|
||||||
|
<div class="left-panel">
|
||||||
|
<el-input
|
||||||
|
v-model="search.keyword"
|
||||||
|
placeholder="姓名"
|
||||||
|
clearable
|
||||||
|
@click="upsearch"
|
||||||
|
></el-input>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-search"
|
||||||
|
@click="upsearch"
|
||||||
|
></el-button>
|
||||||
|
</div>
|
||||||
|
<div class="right-panel">
|
||||||
|
<el-button type="primary" icon="el-icon-plus" @click="addUser"
|
||||||
|
>添加选择</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</el-header>
|
||||||
|
<el-main class="nopadding">
|
||||||
|
<scTable
|
||||||
|
ref="table"
|
||||||
|
:data="apiObj"
|
||||||
|
row-key="id"
|
||||||
|
@selection-change="selectionChange"
|
||||||
|
stripe
|
||||||
|
:hidePagination="true"
|
||||||
|
hideDo
|
||||||
|
@resetQuery="resetQuery"
|
||||||
|
>
|
||||||
|
<el-table-column type="selection" width="50"></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="#"
|
||||||
|
type="index"
|
||||||
|
width="50"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column label="姓名" prop="name"></el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="手机号" prop="phone"></el-table-column>
|
||||||
|
<el-table-column label="部门" prop="belong_dept">
|
||||||
|
<template #default="scope">
|
||||||
|
<span v-if="scope.row.belong_dept_">{{
|
||||||
|
scope.row.belong_dept_.name
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="创建时间"
|
||||||
|
prop="create_time"
|
||||||
|
></el-table-column>
|
||||||
|
<!--
|
||||||
|
<el-table-column
|
||||||
|
label="操作"
|
||||||
|
fixed="right"
|
||||||
|
align="left"
|
||||||
|
width="100"
|
||||||
|
>
|
||||||
|
<template #default="scope">
|
||||||
|
<el-button-group>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-plus"
|
||||||
|
@click="handleForm('add', scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</el-button-group>
|
||||||
|
</template>
|
||||||
|
</el-table-column>-->
|
||||||
|
</scTable>
|
||||||
|
</el-main>
|
||||||
|
<div style="padding-top: 15px">
|
||||||
|
<el-input
|
||||||
|
style="width: 80%"
|
||||||
|
v-model="username"
|
||||||
|
placeholder="选择人员的姓名"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
<el-button @click="visible = false" style="float: right"
|
||||||
|
>取 消</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
v-if="mode != 'show'"
|
||||||
|
style="float: right"
|
||||||
|
type="primary"
|
||||||
|
:loading="isSaveing"
|
||||||
|
@click="submitfrom()"
|
||||||
|
>提 交</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-card>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { genTree } from "@/utils/verificate";
|
||||||
|
export default {
|
||||||
|
name: "employee",
|
||||||
|
components: {},
|
||||||
|
props: {
|
||||||
|
value: {
|
||||||
|
// 接受外部v-model传入的值
|
||||||
|
type: [String],
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
user: {
|
||||||
|
// 接受外部v-model传入的值
|
||||||
|
type: [String],
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
closable: {
|
||||||
|
// 是否可以关闭标签
|
||||||
|
type: Boolean,
|
||||||
|
default: () => {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
selectable: {
|
||||||
|
// 是否可选人员
|
||||||
|
type: Boolean,
|
||||||
|
default: () => {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
multiple: {
|
||||||
|
// 是否多选,默认可以多选
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
apiObj: [],
|
||||||
|
query: {},
|
||||||
|
selection: [],
|
||||||
|
search: {
|
||||||
|
keyword: null,
|
||||||
|
},
|
||||||
|
filterText: "",
|
||||||
|
filterTexts: "",
|
||||||
|
deptdata: [],
|
||||||
|
postdata: [],
|
||||||
|
username: [],
|
||||||
|
userData: [],
|
||||||
|
dialoguser: false,
|
||||||
|
dataValue: this.value,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getUser();
|
||||||
|
this.getDept();
|
||||||
|
this.getPost();
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
filterText(val) {
|
||||||
|
this.$refs.tree.filter(val);
|
||||||
|
},
|
||||||
|
filterTexts(val) {
|
||||||
|
this.$refs.tree.filter(val);
|
||||||
|
},
|
||||||
|
dataValue(val) {
|
||||||
|
this.$emit("input", val);
|
||||||
|
console.log(val)
|
||||||
|
},
|
||||||
|
userData(val) {
|
||||||
|
if (val) {
|
||||||
|
this.change();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
showDialog() {
|
||||||
|
this.dialoguser = true;
|
||||||
|
this.$nextTick(function () {
|
||||||
|
this.apiObj.map(item => {
|
||||||
|
if (item.id === this.user) {
|
||||||
|
this.$refs.table.toggleRowSelection(item, true)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
//加载人员
|
||||||
|
getUser() {
|
||||||
|
this.$API.system.user.list.req({ page: 0 }).then((res) => {
|
||||||
|
this.apiObj = res;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
upsearch() {
|
||||||
|
this.$API.system.user.list
|
||||||
|
.req({ name: this.search.keyword, page: 0 })
|
||||||
|
.then((res) => {
|
||||||
|
this.apiObj = res;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//加载部门树数据
|
||||||
|
async getDept() {
|
||||||
|
let res = await this.$API.system.dept.list.req({ page: 0 });
|
||||||
|
this.deptdata = genTree(res);
|
||||||
|
},
|
||||||
|
//加载部门树数据
|
||||||
|
async getPost() {
|
||||||
|
let res = await this.$API.system.post.list.req({ page: 0 });
|
||||||
|
this.postdata = genTree(res);
|
||||||
|
},
|
||||||
|
filterNode(value, data) {
|
||||||
|
console.log(value);
|
||||||
|
if (!value) return true;
|
||||||
|
return data.label.indexOf(value) !== -1;
|
||||||
|
},
|
||||||
|
filterNodes(value, data) {
|
||||||
|
console.log(value);
|
||||||
|
if (!value) return true;
|
||||||
|
return data.label.indexOf(value) !== -1;
|
||||||
|
},
|
||||||
|
//部门点击显示对应的人员
|
||||||
|
handleNodeClick(data) {
|
||||||
|
this.$API.system.user.list
|
||||||
|
.req({ belong_dept: data.id, page: 0 })
|
||||||
|
.then((res) => {
|
||||||
|
this.apiObj = res;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//岗位点击显示对应的人员
|
||||||
|
handleNodeClicks(data) {
|
||||||
|
this.$API.system.user.list.req({ post: data.id, page: 0 }).then((res) => {
|
||||||
|
this.apiObj = res;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//表格选择后回调事件
|
||||||
|
selectionChange(selection) {
|
||||||
|
this.selection = selection;
|
||||||
|
},
|
||||||
|
//删除Tag
|
||||||
|
closeTag(name) {
|
||||||
|
this.userData.splice(this.userData.indexOf(name), 1);
|
||||||
|
},
|
||||||
|
|
||||||
|
addUser() {
|
||||||
|
this.username = [];
|
||||||
|
this.userData = [];
|
||||||
|
if (!this.multiple && this.selection.length > 1) {
|
||||||
|
this.$message.error("对应的人员只允许选择一人!");
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!this.selection || this.selection.length === 0) {
|
||||||
|
this.msgError("请选择至少一个人员!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.selection.forEach((item) => {
|
||||||
|
this.username.push(item.name);
|
||||||
|
|
||||||
|
this.userData.push({ id: item.id, name: item.name });
|
||||||
|
});
|
||||||
|
console.log(this.userData);
|
||||||
|
},
|
||||||
|
|
||||||
|
change() {
|
||||||
|
if (this.tags) {
|
||||||
|
alert(1);
|
||||||
|
this.dataValue = this.userData.map((e) => e.id).join(",");
|
||||||
|
console.log(this.dataValue);
|
||||||
|
this.$emit("change", this.dataValue);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
submitfrom() {
|
||||||
|
this.dialoguser = false;
|
||||||
|
this.change(); // 触发值变化
|
||||||
|
this.dataValue = this.userData.map((e) => e.id).join(",");
|
||||||
|
this.$emit("submit", this.dataValue);
|
||||||
|
},
|
||||||
|
//权限设置
|
||||||
|
permission() {
|
||||||
|
this.dialog.permission = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.permissionDialog.open();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
resetQuery() {
|
||||||
|
this.query = {};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header>
|
<el-header>
|
||||||
<div class="left-panel">
|
<div class="left-panel">
|
||||||
|
|
||||||
<!-- <el-button type="danger" plain icon="el-icon-delete" :disabled="selection.length==0" @click="batch_del"></el-button> -->
|
<!-- <el-button type="danger" plain icon="el-icon-delete" :disabled="selection.length==0" @click="batch_del"></el-button> -->
|
||||||
</div>
|
</div>
|
||||||
</el-header>
|
</el-header>
|
||||||
|
|
@ -26,7 +25,7 @@
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="名称"
|
label="名称"
|
||||||
prop="name"
|
prop="name"
|
||||||
width="120"
|
width="100"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="标识"
|
label="标识"
|
||||||
|
|
@ -47,15 +46,22 @@
|
||||||
></el-switch>
|
></el-switch>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="喇叭开启区域" prop="name" width="120">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-space v-if="scope.row.filter_area_level">{{
|
||||||
|
filter_area_[scope.row.filter_area_level]
|
||||||
|
}}</el-space></template
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="right">
|
<el-table-column label="操作" fixed="right" align="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
size="small"
|
size="small"
|
||||||
@click="adds_edit(scope.row)"
|
@click="adds_edit(scope.row)"
|
||||||
>批量布设</el-button>
|
>批量布设</el-button
|
||||||
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</scTable>
|
</scTable>
|
||||||
|
|
@ -82,18 +88,34 @@
|
||||||
:hidePagination="true"
|
:hidePagination="true"
|
||||||
>
|
>
|
||||||
<el-table-column label="#" type="index" width="50"></el-table-column>
|
<el-table-column label="#" type="index" width="50"></el-table-column>
|
||||||
<el-table-column label="算法名称" prop="algo_.name" width="150"></el-table-column>
|
<el-table-column
|
||||||
<el-table-column label="视频名称" prop="vchannel_.name" width="150"></el-table-column>
|
label="算法名称"
|
||||||
<el-table-column label="始终开启" prop="always_on" width="150"></el-table-column>
|
prop="algo_.name"
|
||||||
|
width="150"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="视频名称"
|
||||||
|
prop="vchannel_.name"
|
||||||
|
width="150"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column label="始终开启" prop="always_on" width="150">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-switch
|
||||||
|
v-model="scope.row.always_on"
|
||||||
|
:disabled="true"
|
||||||
|
></el-switch>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="right">
|
<el-table-column label="操作" fixed="right" align="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-popconfirm
|
||||||
type="danger"
|
title="确定删除吗?"
|
||||||
link
|
@confirm="table_del(scope.row, scope.$index)"
|
||||||
size="small"
|
|
||||||
@click="table_del(scope.row, scope.$index)"
|
|
||||||
>删除</el-button
|
|
||||||
>
|
>
|
||||||
|
<template #reference>
|
||||||
|
<el-button text type="danger" size="small">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-popconfirm>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</scTable>
|
</scTable>
|
||||||
|
|
@ -106,7 +128,7 @@
|
||||||
@success="handleSaveSuccess"
|
@success="handleSaveSuccess"
|
||||||
@closed="dialog.save = false"
|
@closed="dialog.save = false"
|
||||||
></save-dialog>
|
></save-dialog>
|
||||||
<algo-dialog
|
<algo-dialog
|
||||||
v-if="dialog.algos"
|
v-if="dialog.algos"
|
||||||
ref="algoDialog"
|
ref="algoDialog"
|
||||||
@success="handleSaveSuccessss"
|
@success="handleSaveSuccessss"
|
||||||
|
|
@ -122,7 +144,7 @@ export default {
|
||||||
name: "algo",
|
name: "algo",
|
||||||
components: {
|
components: {
|
||||||
saveDialog,
|
saveDialog,
|
||||||
algoDialog,
|
algoDialog,
|
||||||
CircleCheckFilled,
|
CircleCheckFilled,
|
||||||
CircleCloseFilled,
|
CircleCloseFilled,
|
||||||
},
|
},
|
||||||
|
|
@ -130,42 +152,51 @@ export default {
|
||||||
return {
|
return {
|
||||||
dialog: {
|
dialog: {
|
||||||
save: false,
|
save: false,
|
||||||
algos: false,
|
algos: false,
|
||||||
|
},
|
||||||
|
filter_area_: {
|
||||||
|
10: "办公生活区以上",
|
||||||
|
20: "生产一般区以上",
|
||||||
|
30: "生产重点区以上",
|
||||||
},
|
},
|
||||||
|
|
||||||
selection: [],
|
selection: [],
|
||||||
chosen_cate: null,
|
chosen_cate: "",
|
||||||
eventcateList:[],
|
eventcateList: [],
|
||||||
vchannelList:[]
|
vchannelList: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getEventCate();
|
this.getEventCate();
|
||||||
this.getVchannel();
|
this.getVchannel();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//事件总类列表
|
//事件总类列表
|
||||||
getEventCate() {
|
getEventCate() {
|
||||||
this.$API.ecm.event_cate.list.req({ self_algo:true,page: 0 }).then((res) => {
|
this.$API.ecm.event_cate.list
|
||||||
this.eventcateList = res;
|
.req({ self_algo: true, page: 0 })
|
||||||
});
|
.then((res) => {
|
||||||
|
this.eventcateList = res;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
//左边列表点击,右边显示
|
//左边列表点击,右边显示
|
||||||
rowClick(row) {
|
rowClick(row) {
|
||||||
|
this.$API.ecm.vchannel.list.req({ algo: row.id, page: 0 }).then((res) => {
|
||||||
|
this.vchannelList = res;
|
||||||
|
});
|
||||||
|
|
||||||
this.$API.ecm.vchannel.list.req({algo:row.id,page: 0 }).then((res) => {
|
|
||||||
|
this.chosen_cate = row.id;
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
//算法列表
|
||||||
|
getVchannel() {
|
||||||
|
this.$API.ecm.vchannel.list.req({ page: 0 }).then((res) => {
|
||||||
this.vchannelList = res;
|
this.vchannelList = res;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
//算法列表
|
//批量布设添加
|
||||||
getVchannel() {
|
|
||||||
this.$API.ecm.vchannel.list.req({page: 0 }).then((res) => {
|
|
||||||
this.vchannelList = res;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
//批量布设添加
|
|
||||||
adds_edit() {
|
adds_edit() {
|
||||||
this.dialog.algos = true;
|
this.dialog.algos = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
|
@ -189,19 +220,25 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
table_del(row) {
|
table_del(row) {
|
||||||
|
this.$API.ecm.vchannel.delete
|
||||||
this.$API.ecm.vchannel.delete.req(row.id).then((res) => {
|
.req(row.id)
|
||||||
this.$refs.tablevchannel.refresh();
|
.then((res) => {
|
||||||
this.$message.success("删除成功");
|
this.$message.success("删除成功");
|
||||||
|
this.getVchannel();
|
||||||
});
|
return res;
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
return err;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
//本地更新数据
|
//本地更新数据
|
||||||
handleSaveSuccess() {
|
handleSaveSuccess() {
|
||||||
|
|
||||||
this.$refs.tablevchannel.refresh();
|
this.$refs.tablevchannel.refresh();
|
||||||
},
|
},
|
||||||
|
//本地更新数据
|
||||||
|
handleSaveSuccessss() {
|
||||||
|
this.$refs.tablevchannel.refresh();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,7 @@ export default {
|
||||||
//显示
|
//显示
|
||||||
open(mode = "add") {
|
open(mode = "add") {
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
|
this.form.algo = this.$parent.chosen_cate;
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="视频" prop="vchannel">
|
<el-form-item label="视频" prop="vchannels">
|
||||||
<el-select v-model="form.vchannels" multiple="true">
|
<el-select v-model="form.vchannels" multiple="true">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in vchanneloptions"
|
v-for="item in vchanneloptions"
|
||||||
|
|
@ -68,13 +68,13 @@ export default {
|
||||||
//表单数据
|
//表单数据
|
||||||
form: {
|
form: {
|
||||||
algo: "",
|
algo: "",
|
||||||
vchannel: "",
|
vchannels: [],
|
||||||
always_on: false,
|
always_on: false,
|
||||||
},
|
},
|
||||||
//验证规则
|
//验证规则
|
||||||
rules: {
|
rules: {
|
||||||
algo: [{ required: true, message: "请选择算法" }],
|
algo: [{ required: true, message: "请选择算法" }],
|
||||||
vchannel: [{ required: true, message: "请选择视频" }],
|
vchannels: [{ required: true, message: "请选择视频" }],
|
||||||
},
|
},
|
||||||
algooptions: [],
|
algooptions: [],
|
||||||
vchanneloptions: [],
|
vchanneloptions: [],
|
||||||
|
|
@ -89,6 +89,7 @@ export default {
|
||||||
open(mode = "add") {
|
open(mode = "add") {
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
|
this.form.algo = this.$parent.chosen_cate;
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
//事件列表
|
//事件列表
|
||||||
|
|
@ -105,32 +106,15 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
//表单提交方法
|
//表单提交方法
|
||||||
async submit() {
|
submit() {
|
||||||
var valid = await this.$refs.dialogForm.validate().catch(() => {});
|
|
||||||
if (!valid) {
|
this.$API.ecm.vchannel.creates.req(this.form).then((res) => {
|
||||||
return false;
|
this.$message.success("操作成功");
|
||||||
}
|
this.visible=false;
|
||||||
this.isSaveing = true;
|
|
||||||
try {
|
return res;
|
||||||
var res;
|
})
|
||||||
if (this.mode == "add") {
|
|
||||||
res = await this.$API.ecm.vchannel.creates.req(this.form);
|
|
||||||
} else if (this.mode == "edit") {
|
|
||||||
res = await this.$API.ecm.vchannel.update.req(
|
|
||||||
this.form.id,
|
|
||||||
this.form
|
|
||||||
);
|
|
||||||
}
|
|
||||||
this.isSaveing = false;
|
|
||||||
this.$emit("success", this.form, this.mode);
|
|
||||||
this.visible = false;
|
|
||||||
this.$message.success("操作成功");
|
|
||||||
return res;
|
|
||||||
} catch (err) {
|
|
||||||
//可以处理校验错误
|
|
||||||
this.isSaveing = false;
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
//表单注入数据
|
//表单注入数据
|
||||||
setData(data) {
|
setData(data) {
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
></el-input-number>
|
></el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<sc-title title="音响配置"></sc-title>
|
<sc-title title="音响配置"></sc-title>
|
||||||
<el-form-item label="喇叭" prop="speakers">
|
<el-form-item label="喇叭" prop="speakers">
|
||||||
<el-select v-model="form.speakers" multiple="true">
|
<el-select v-model="form.speakers" multiple="true">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in speakersptions"
|
v-for="item in speakersptions"
|
||||||
|
|
@ -53,6 +53,18 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="喇叭声音" prop="voice_person">
|
||||||
|
<el-select v-model="form.voice_person">
|
||||||
|
<el-option
|
||||||
|
v-for="item in voiceoptions"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="喇叭开启" prop="speaker_on">
|
<el-form-item label="喇叭开启" prop="speaker_on">
|
||||||
<el-switch v-model="form.speaker_on"></el-switch>
|
<el-switch v-model="form.speaker_on"></el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -97,7 +109,7 @@ export default {
|
||||||
form: {
|
form: {
|
||||||
speaker_on: true,
|
speaker_on: true,
|
||||||
self_algo: false,
|
self_algo: false,
|
||||||
speakers:[]
|
speakers: [],
|
||||||
},
|
},
|
||||||
//验证规则
|
//验证规则
|
||||||
rules: {
|
rules: {
|
||||||
|
|
@ -127,7 +139,17 @@ export default {
|
||||||
label: "定位",
|
label: "定位",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
speakersptions:[],
|
voiceoptions:[
|
||||||
|
{
|
||||||
|
value: 3,
|
||||||
|
label: "男生",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 0,
|
||||||
|
label: "女生",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
speakersptions: [],
|
||||||
//所需数据选项
|
//所需数据选项
|
||||||
groups: [],
|
groups: [],
|
||||||
groupsProps: {
|
groupsProps: {
|
||||||
|
|
@ -149,7 +171,7 @@ export default {
|
||||||
},
|
},
|
||||||
//固定喇叭列表
|
//固定喇叭列表
|
||||||
getSpeakers() {
|
getSpeakers() {
|
||||||
this.$API.third.tdevice.list.req({type:50, page: 0 }).then((res) => {
|
this.$API.third.tdevice.list.req({ type: 50, page: 0 }).then((res) => {
|
||||||
this.speakersptions = res;
|
this.speakersptions = res;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
@ -186,7 +208,7 @@ export default {
|
||||||
setData(data) {
|
setData(data) {
|
||||||
Object.assign(this.form, data);
|
Object.assign(this.form, data);
|
||||||
debugger;
|
debugger;
|
||||||
console.log(this.form)
|
console.log(this.form);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -199,9 +199,8 @@ export default {
|
||||||
|
|
||||||
this.$API.ecm.event.handle.req(this.form.id, this.form)
|
this.$API.ecm.event.handle.req(this.form.id, this.form)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.isSaveing = false;
|
|
||||||
this.visible = false;
|
this.$router.go(-1)
|
||||||
this.$emit("success", this.form, this.mode);
|
|
||||||
this.$message.success("操作成功");
|
this.$message.success("操作成功");
|
||||||
return res;
|
return res;
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,13 @@
|
||||||
label="#"
|
label="#"
|
||||||
type="index"
|
type="index"
|
||||||
width="50"
|
width="50"
|
||||||
|
fixed="left"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="名称"
|
label="名称"
|
||||||
prop="name"
|
prop="name"
|
||||||
width="120"
|
width="120"
|
||||||
|
fixed="left"
|
||||||
></el-table-column>
|
></el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="标识"
|
label="标识"
|
||||||
|
|
@ -44,13 +46,31 @@
|
||||||
<span v-if="scope.row.trigger == 20">定位</span>
|
<span v-if="scope.row.trigger == 20">定位</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="音响" prop="speaker_on" width="50">
|
<el-table-column
|
||||||
|
label="处理时间"
|
||||||
|
prop="hanle_minute"
|
||||||
|
width="80"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column label="喇叭开启" prop="speaker_on" width="80">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="scope.row.speaker_on"
|
v-model="scope.row.speaker_on"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
></el-switch>
|
></el-switch>
|
||||||
</template>
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="喇叭开启区域"
|
||||||
|
prop="name"
|
||||||
|
width="120"
|
||||||
|
>
|
||||||
|
|
||||||
|
<template #default="scope">
|
||||||
|
<el-space v-if="scope.row.filter_area_level">{{
|
||||||
|
filter_area_[scope.row.filter_area_level]
|
||||||
|
}}</el-space></template
|
||||||
|
>
|
||||||
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="right">
|
<el-table-column label="操作" fixed="right" align="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
@ -224,6 +244,11 @@ export default {
|
||||||
30: "较大风险",
|
30: "较大风险",
|
||||||
40: "重大风险",
|
40: "重大风险",
|
||||||
},
|
},
|
||||||
|
filter_area_:
|
||||||
|
{ 10: "办公生活区以上",
|
||||||
|
20: "生产一般区以上",
|
||||||
|
30: "生产重点区以上",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :md="12" :sm="24" :xs="24">
|
<el-col :md="12" :sm="24" :xs="24">
|
||||||
<el-form-item label="接待人">
|
<el-form-item label="接待人">
|
||||||
<el-select v-model="form.receptionist" placeholder="选择接待人">
|
<el-select v-model="form.receptionist" disabled placeholder="选择接待人">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in receptionistoptions"
|
v-for="item in receptionistoptions"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
|
@ -72,6 +72,11 @@
|
||||||
:value="item.id"
|
:value="item.id"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
|
||||||
|
|
||||||
|
<select-user ref="form.receptionist" :user="form.receptionist" :closable="true" :multiple="false" @submit="refresh" >
|
||||||
|
</select-user>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :md="24" :sm="12" :xs="24">
|
<el-col :md="24" :sm="12" :xs="24">
|
||||||
|
|
@ -99,6 +104,10 @@
|
||||||
:max="32767"
|
:max="32767"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
></el-input-number>
|
></el-input-number>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
@ -116,8 +125,12 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { genTree } from "@/utils/verificate";
|
import { genTree } from "@/utils/verificate";
|
||||||
|
import selectUser from '@/layout/components/userselect'
|
||||||
export default {
|
export default {
|
||||||
emits: ["success", "closed"],
|
emits: ["success", "closed"],
|
||||||
|
components: {
|
||||||
|
selectUser,
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
|
|
@ -170,6 +183,16 @@ export default {
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
refresh(data) {
|
||||||
|
// 子组件调用父组件的方法并传参
|
||||||
|
console.log(data);
|
||||||
|
this.form.receptionist=data;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
//表单提交方法
|
//表单提交方法
|
||||||
submit() {
|
submit() {
|
||||||
this.$refs.dialogForm.validate(async (valid) => {
|
this.$refs.dialogForm.validate(async (valid) => {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-tabs style="width: 100%" type="border-card" v-model="activeName" @tab-click="handleClick">
|
<el-tabs style="width: 100%; height:100%" type="border-card" v-model="activeName" @tab-click="handleClick">
|
||||||
<el-tab-pane label="自定义字段" name="customField">
|
<el-tab-pane label="自定义字段" name="customField">
|
||||||
<field v-if="activeName==='customField'"></field>
|
<field v-if="activeName==='customField'"></field>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
</div>
|
</div>
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main class="nopadding">
|
<el-main class="nopadding">
|
||||||
<scTable ref="table" :apiObj="apiObj" row-key="id" stripe highlightCurrentRow>
|
<scTable ref="table" :data="list" row-key="id" stripe highlightCurrentRow hidePagination>
|
||||||
<el-table-column type="index" width="50"/>
|
<el-table-column type="index" width="50"/>
|
||||||
<el-table-column label="字段标识" prop="field_key"></el-table-column>
|
<el-table-column label="字段标识" prop="field_key"></el-table-column>
|
||||||
<el-table-column label="字段名称" prop="field_name"></el-table-column>
|
<el-table-column label="字段名称" prop="field_name"></el-table-column>
|
||||||
|
|
@ -121,9 +121,8 @@
|
||||||
name: "field",
|
name: "field",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
apiObj: this.$API.wf.field.list,
|
|
||||||
id: sessionStorage.getItem('jinYuWorkflowId'),
|
id: sessionStorage.getItem('jinYuWorkflowId'),
|
||||||
list: null,
|
list: [],
|
||||||
type: "add",
|
type: "add",
|
||||||
titleMap: {
|
titleMap: {
|
||||||
add: '新增',
|
add: '新增',
|
||||||
|
|
@ -193,28 +192,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.list = [
|
|
||||||
{
|
|
||||||
id: "5001",
|
|
||||||
name: "scEcharts",
|
|
||||||
subtitle: "重新封装的Echarts,暴露源对象",
|
|
||||||
state: "1",
|
|
||||||
type: "数据",
|
|
||||||
progress: 70,
|
|
||||||
user: "sss",
|
|
||||||
time: "2010-10-10"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "5002",
|
|
||||||
name: "scEditor",
|
|
||||||
subtitle: "Tinymce封装的富文本编辑器",
|
|
||||||
state: "2",
|
|
||||||
type: "表单",
|
|
||||||
progress: 40,
|
|
||||||
user: "sss",
|
|
||||||
time: "2010-10-10"
|
|
||||||
}
|
|
||||||
];
|
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
@ -271,8 +248,7 @@
|
||||||
this.addForm = Object.assign({}, row);
|
this.addForm = Object.assign({}, row);
|
||||||
},
|
},
|
||||||
async getList() {
|
async getList() {
|
||||||
let res = await this.$API.wf.getCustomfields.get(this.id);
|
let res = await this.$API.wf.workflow.customfields.req(this.id);
|
||||||
console.log(res);
|
|
||||||
this.list = res;
|
this.list = res;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,381 +1,590 @@
|
||||||
<template>
|
<template>
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header>
|
<el-header>
|
||||||
<div class="left-panel">
|
<div class="left-panel">
|
||||||
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>
|
<el-button
|
||||||
</div>
|
type="primary"
|
||||||
</el-header>
|
icon="el-icon-plus"
|
||||||
<el-main class="nopadding">
|
@click="handleAdd"
|
||||||
<el-table ref="table" :apiObj="apiObj" row-key="id" stripe highlightCurrentRow>
|
></el-button>
|
||||||
<el-table-column type="index" width="50"/>
|
</div>
|
||||||
<el-table-column label="名称" prop="name"></el-table-column>
|
</el-header>
|
||||||
<el-table-column label="是否隐藏">
|
<el-main class="nopadding">
|
||||||
<template #default="scope">
|
<scTable
|
||||||
<span v-if="scope.row.is_hidde">是</span>
|
ref="table"
|
||||||
<span v-else>否</span>
|
:data="list"
|
||||||
</template>
|
row-key="id"
|
||||||
</el-table-column>
|
stripe
|
||||||
<el-table-column label="顺序ID" prop="sort"></el-table-column>
|
highlightCurrentRow
|
||||||
<el-table-column label="类型">
|
hidePagination
|
||||||
<template #default="scope">
|
>
|
||||||
<el-tag effect="plain" v-if="scope.row.type==0">
|
<el-table-column label="ID" prop="id"></el-table-column>
|
||||||
普通类型
|
<el-table-column label="名称" prop="name"></el-table-column>
|
||||||
</el-tag>
|
<el-table-column label="是否隐藏">
|
||||||
<el-tag effect="plain" v-if="scope.row.type==1">
|
<template #default="scope">
|
||||||
初始状态
|
<span v-if="scope.row.is_hidde">是</span>
|
||||||
</el-tag>
|
<span v-else>否</span>
|
||||||
<el-tag effect="plain" v-if="scope.row.type==2">
|
</template>
|
||||||
结束状态
|
</el-table-column>
|
||||||
</el-tag>
|
<el-table-column label="顺序ID" prop="sort"></el-table-column>
|
||||||
</template>
|
<el-table-column label="类型">
|
||||||
</el-table-column>
|
<template #default="scope">
|
||||||
<el-table-column label="参与人类型">
|
<el-tag effect="plain" v-if="scope.row.type == 0">
|
||||||
<template #default="scope">{{ options_[scope.row.participant_type] }}</template>
|
普通类型
|
||||||
</el-table-column>
|
</el-tag>
|
||||||
<el-table-column label="创建时间" prop="create_time"></el-table-column>
|
<el-tag effect="plain" v-if="scope.row.type == 1">
|
||||||
<el-table-column label="操作" fixed="right" align="right" width="120">
|
初始状态
|
||||||
<template #default="scope">
|
</el-tag>
|
||||||
<el-button type="text" size="small" @click="handleEdit(scope.row)">编辑</el-button>
|
<el-tag effect="plain" v-if="scope.row.type == 2">
|
||||||
<el-popconfirm title="确定删除吗?">
|
结束状态
|
||||||
<template #reference>
|
</el-tag>
|
||||||
<el-button type="text" size="small">删除</el-button>
|
</template>
|
||||||
</template>
|
</el-table-column>
|
||||||
</el-popconfirm>
|
<el-table-column label="参与人类型">
|
||||||
</template>
|
<template #default="scope">{{
|
||||||
</el-table-column>
|
options_[scope.row.participant_type]
|
||||||
</el-table>
|
}}</template>
|
||||||
<el-dialog
|
</el-table-column>
|
||||||
v-model="dialogVisible"
|
<el-table-column label="分配方式">
|
||||||
:title="titleMap[type]"
|
<template #default="scope">{{
|
||||||
>
|
options2_[scope.row.distribute_type]
|
||||||
<el-form
|
}}</template>
|
||||||
ref="Form"
|
</el-table-column>
|
||||||
:model="addForm"
|
<el-table-column label="创建时间" prop="create_time"></el-table-column>
|
||||||
label-width="100px"
|
<el-table-column label="操作" fixed="right" align="right" width="120">
|
||||||
label-position="right"
|
<template #default="scope">
|
||||||
:rules="rule"
|
<el-button type="text" size="small" @click="handleEdit(scope.row)"
|
||||||
>
|
>编辑</el-button
|
||||||
<el-form-item label="名称" prop="name">
|
>
|
||||||
<el-input v-model="addForm.name" placeholder="名称"/>
|
<el-popconfirm title="确定删除吗?">
|
||||||
</el-form-item>
|
<template #reference>
|
||||||
<el-form-item
|
<el-button type="text" size="small">删除</el-button>
|
||||||
label="是否隐藏"
|
</template>
|
||||||
prop="is_hidden"
|
</el-popconfirm>
|
||||||
label-width="120px"
|
</template>
|
||||||
>
|
</el-table-column>
|
||||||
<el-switch v-model="addForm.is_hidden"></el-switch>
|
</scTable>
|
||||||
</el-form-item>
|
<el-dialog v-model="dialogVisible" :title="titleMap[type]">
|
||||||
|
<el-form
|
||||||
|
ref="Form"
|
||||||
|
:model="addForm"
|
||||||
|
label-width="100px"
|
||||||
|
label-position="right"
|
||||||
|
>
|
||||||
|
<el-form-item label="名称" prop="name">
|
||||||
|
<el-input v-model="addForm.name" placeholder="名称" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="是否隐藏" prop="is_hidden" label-width="120px">
|
||||||
|
<el-switch v-model="addForm.is_hidden"></el-switch>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="状态顺序" prop="sort">
|
<el-form-item label="状态顺序" prop="sort">
|
||||||
<el-input v-model="addForm.sort" type="number" placeholder="状态顺序"/>
|
<el-input
|
||||||
</el-form-item>
|
v-model="addForm.sort"
|
||||||
<el-form-item label="状态类型" prop="type">
|
type="number"
|
||||||
<el-select style="width: 100%" v-model="addForm.type" placeholder="请选择">
|
placeholder="状态顺序"
|
||||||
<el-option
|
/>
|
||||||
v-for="item in options"
|
</el-form-item>
|
||||||
:key="item.value"
|
<el-form-item label="状态类型" prop="type">
|
||||||
:label="item.label"
|
<el-select
|
||||||
:value="item.value">
|
style="width: 100%"
|
||||||
</el-option>
|
v-model="addForm.type"
|
||||||
</el-select>
|
placeholder="请选择"
|
||||||
</el-form-item>
|
>
|
||||||
<el-form-item
|
<el-option
|
||||||
label="允许撤回"
|
v-for="item in options"
|
||||||
prop="enable_retreat"
|
:key="item.value"
|
||||||
label-width="120px"
|
:label="item.label"
|
||||||
>
|
:value="item.value"
|
||||||
<el-switch v-model="addForm.enable_retreat"></el-switch>
|
>
|
||||||
</el-form-item>
|
</el-option>
|
||||||
<el-form-item label="参与者类型" prop="participant_type">
|
</el-select>
|
||||||
<el-select style="width: 100%" v-model="addForm.participant_type" placeholder="请选择"
|
</el-form-item>
|
||||||
@change="typeChange">
|
<el-form-item
|
||||||
<el-option
|
label="允许撤回"
|
||||||
v-for="item in typeoptions"
|
prop="enable_retreat"
|
||||||
:key="item.value"
|
label-width="120px"
|
||||||
:label="item.label"
|
>
|
||||||
:value="item.value">
|
<el-switch v-model="addForm.enable_retreat"></el-switch>
|
||||||
</el-option>
|
</el-form-item>
|
||||||
</el-select>
|
<el-form-item label="参与者类型" prop="participant_type">
|
||||||
</el-form-item>
|
<el-select
|
||||||
<el-form-item label="参与者" prop="participant" v-if="addForm.participant_type==1">
|
style="width: 100%"
|
||||||
<el-select style="width: 100%" v-model="participant" placeholder="请选择参与者">
|
v-model="addForm.participant_type"
|
||||||
<el-option v-for="item in staffs" :key="item.id" :label="item.name" :value="item.id">
|
placeholder="请选择"
|
||||||
</el-option>
|
>
|
||||||
</el-select>
|
<el-option
|
||||||
</el-form-item>
|
v-for="item in typeoptions"
|
||||||
<el-form-item label="参与者" prop="participant" v-if="addForm.participant_type==2">
|
:key="item.value"
|
||||||
<el-select style="width: 100%" v-model="participants" multiple placeholder="请选择参与者">
|
:label="item.label"
|
||||||
<el-option v-for="item in staffs" :key="item.id" :label="item.name" :value="item.id">
|
:value="item.value"
|
||||||
</el-option>
|
>
|
||||||
</el-select>
|
</el-option>
|
||||||
</el-form-item>
|
</el-select>
|
||||||
<el-form-item label="参与者" prop="participant" v-if="addForm.participant_type==7">
|
</el-form-item>
|
||||||
<el-select style="width: 100%" v-model="participant" placeholder="请选择字段">
|
<el-form-item
|
||||||
<el-option v-for="item in fieldList" :key="item.id" :label="item.field_name"
|
label="参与者"
|
||||||
:value="item.field_key">
|
prop="participant"
|
||||||
</el-option>
|
v-if="addForm.participant_type == 1"
|
||||||
</el-select>
|
>
|
||||||
</el-form-item>
|
<el-select
|
||||||
<el-form-item label="分配方式" prop="participant" v-if="addForm.participant_type==2">
|
style="width: 100%"
|
||||||
<el-select style="width: 100%" v-model="addForm.distribute_type" placeholder="请选择分配方式">
|
v-model="addForm.participant"
|
||||||
<el-option label="主动接单" value="1"></el-option>
|
placeholder="请选择参与者"
|
||||||
<el-option label="直接处理" value="2"></el-option>
|
>
|
||||||
<el-option label="随机分配" value="3"></el-option>
|
<el-option
|
||||||
<el-option label="全部处理" value="4"></el-option>
|
v-for="item in staffs"
|
||||||
</el-select>
|
:key="item.id"
|
||||||
</el-form-item>
|
:label="item.name"
|
||||||
<el-form-item label="角色" prop="participant" v-if="addForm.participant_type==4">
|
:value="item.id"
|
||||||
<el-select style="width: 100%" v-model="participants" multiple placeholder="请选择角色">
|
>
|
||||||
<el-option v-for="item in roles" :key="item.id" :label="item.name" :value="item.id">
|
</el-option>
|
||||||
</el-option>
|
</el-select>
|
||||||
</el-select>
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item
|
||||||
<el-form-item label="过滤策略" prop="participant" v-if="addForm.participant_type==4">
|
label="参与者"
|
||||||
<el-select style="width: 100%" v-model="addForm.filter_policy" placeholder="请选择过滤策略">
|
prop="participant"
|
||||||
<el-option label="无" value="0"></el-option>
|
v-if="addForm.participant_type == 2"
|
||||||
<el-option label="和工单同属以及上级部门" value="1"></el-option>
|
>
|
||||||
<el-option label="和创建人同属以及上级部门" value="2"></el-option>
|
<el-select
|
||||||
<el-option label="和上步处理人同属以及上级部门" value="3"></el-option>
|
style="width: 100%"
|
||||||
</el-select>
|
v-model="addForm.participant"
|
||||||
</el-form-item>
|
multiple
|
||||||
<el-form-item label="代码选择" prop="participant" v-if="addForm.participant_type==9">
|
placeholder="请选择参与者"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in staffs"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="参与者"
|
||||||
|
prop="participant"
|
||||||
|
v-if="addForm.participant_type == 7"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="addForm.participant"
|
||||||
|
placeholder="请选择字段"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in fieldList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.field_name"
|
||||||
|
:value="item.field_key"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="分配方式"
|
||||||
|
prop="participant"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="addForm.distribute_type"
|
||||||
|
placeholder="请选择分配方式"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in dis_type_options"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="角色"
|
||||||
|
prop="participant"
|
||||||
|
v-if="addForm.participant_type == 4"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="addForm.participant"
|
||||||
|
multiple
|
||||||
|
placeholder="请选择角色"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in roles"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="岗位"
|
||||||
|
prop="participant"
|
||||||
|
v-if="addForm.participant_type == 10"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="addForm.participant"
|
||||||
|
multiple
|
||||||
|
placeholder="请选择岗位"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in roles"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="过滤策略"
|
||||||
|
prop="participant"
|
||||||
|
v-if="
|
||||||
|
addForm.participant_type == 4 || addForm.participant_type == 0
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="addForm.filter_policy"
|
||||||
|
placeholder="请选择过滤策略"
|
||||||
|
>
|
||||||
|
<el-option label="无" value="0"></el-option>
|
||||||
|
<el-option label="和工单同属以及上级部门" value="1"></el-option>
|
||||||
|
<el-option label="和创建人同属以及上级部门" value="2"></el-option>
|
||||||
|
<el-option
|
||||||
|
label="和上步处理人同属以及上级部门"
|
||||||
|
value="3"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="代码选择" prop="participant" v-if="addForm.participant_type==9">
|
||||||
<el-select style="width: 100%" v-model="participants" placeholder="请选择代码">
|
<el-select style="width: 100%" v-model="participants" placeholder="请选择代码">
|
||||||
<el-option v-for="item in codes" :key="item.func" :label="item.name" :value="item.func">
|
<el-option v-for="item in codes" :key="item.func" :label="item.name" :value="item.func">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item label="抄送给" prop="participant">
|
<el-form-item
|
||||||
<el-select style="width: 100%" v-model="addForm.participant_cc" multiple placeholder="请选择抄送给谁">
|
label="代码名"
|
||||||
<el-option v-for="item in staffs" :key="item.id" :label="item.name" :value="item.id">
|
prop="participant"
|
||||||
|
v-if="addForm.participant_type == 9"
|
||||||
|
>
|
||||||
|
<!-- <el-select style="width: 100%" v-model="participants" placeholder="请选择代码">
|
||||||
|
<el-option v-for="item in codes" :key="item.func" :label="item.name" :value="item.func">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select> -->
|
||||||
</el-form-item>
|
<el-input v-model="addForm.participant" placeholder="方法名" />
|
||||||
<el-form-item label="字段状态">
|
</el-form-item>
|
||||||
<el-button @click="addWordStateChange">添加修改</el-button>
|
<el-form-item label="抄送给" prop="participant">
|
||||||
<el-row v-for="(item,$index) in stateChange" :key="item+$index" style="margin-top: 2px">
|
<el-select
|
||||||
<el-col :span="11">
|
style="width: 100%"
|
||||||
<el-select style="width: 100%" v-model="item.name" placeholder="请选择字段">
|
v-model="addForm.participant_cc"
|
||||||
<el-option v-for="item in fieldList" :key="item.id" :label="item.field_name"
|
multiple
|
||||||
:value="item.field_key">
|
placeholder="请选择抄送给谁"
|
||||||
</el-option>
|
>
|
||||||
</el-select>
|
<el-option
|
||||||
</el-col>
|
v-for="item in staffs"
|
||||||
<el-col :span="1" style="height: 1px;"></el-col>
|
:key="item.id"
|
||||||
<el-col :span="8">
|
:label="item.name"
|
||||||
<el-select style="width: 100%" v-model="item.value" placeholder="请选择状态">
|
:value="item.id"
|
||||||
<el-option
|
>
|
||||||
v-for="item in state_fields"
|
</el-option>
|
||||||
:label="item.label"
|
</el-select>
|
||||||
:value="item.value"
|
</el-form-item>
|
||||||
:key="item.value"
|
<el-form-item label="字段状态">
|
||||||
></el-option>
|
<el-button @click="addWordStateChange">添加修改</el-button>
|
||||||
</el-select>
|
<el-row
|
||||||
</el-col>
|
v-for="(item, $index) in stateChange"
|
||||||
<el-col :span="2" style="text-align: center" v-if="$index!==0">
|
:key="item + $index"
|
||||||
<i
|
style="margin-top: 2px"
|
||||||
class="el-icon-remove-outline"
|
>
|
||||||
style="color: red;font-size: 16px;"
|
<el-col :span="11">
|
||||||
@click.prevent="removeStateChange($index)"
|
<el-select
|
||||||
></i>
|
style="width: 100%"
|
||||||
</el-col>
|
v-model="item.name"
|
||||||
</el-row>
|
placeholder="请选择字段"
|
||||||
</el-form-item>
|
>
|
||||||
</el-form>
|
<el-option
|
||||||
<div style="text-align: right">
|
v-for="item in fieldList"
|
||||||
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
|
:key="item.id"
|
||||||
<el-button type="primary" @click="submitHandle('Form')">确认</el-button>
|
:label="item.field_name"
|
||||||
</div>
|
:value="item.field_key"
|
||||||
</el-dialog>
|
>
|
||||||
</el-main>
|
</el-option>
|
||||||
</el-container>
|
</el-select>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1" style="height: 1px"></el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-select
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="item.value"
|
||||||
|
placeholder="请选择状态"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in state_fields"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
:key="item.value"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="2" style="text-align: center" v-if="$index !== 0">
|
||||||
|
<i
|
||||||
|
class="el-icon-remove-outline"
|
||||||
|
style="color: red; font-size: 16px"
|
||||||
|
@click.prevent="removeStateChange($index)"
|
||||||
|
></i>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div style="text-align: right">
|
||||||
|
<el-button type="danger" @click="dialogVisible = false"
|
||||||
|
>取消</el-button
|
||||||
|
>
|
||||||
|
<el-button type="primary" @click="submitHandle('Form')"
|
||||||
|
>确认</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</el-main>
|
||||||
|
</el-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: "state",
|
name: "state",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
apiObj: this.$API.wf.state.list,
|
id: sessionStorage.getItem("jinYuWorkflowId"),
|
||||||
id: sessionStorage.getItem('jinYuWorkflowId'),
|
list: null,
|
||||||
list: null,
|
type: "add",
|
||||||
type: "add",
|
titleMap: {
|
||||||
titleMap: {
|
add: "新增",
|
||||||
add: '新增',
|
edit: "编辑",
|
||||||
edit: '编辑',
|
show: "查看",
|
||||||
show: '查看'
|
},
|
||||||
},
|
participant: "",
|
||||||
participant: '',
|
participants: [],
|
||||||
participants: [],
|
roles: [],
|
||||||
roles: [],
|
staffs: [],
|
||||||
staffs: [],
|
stateChange: [],
|
||||||
stateChange: [],
|
fieldList: [],
|
||||||
fieldList: [],
|
//表单数据
|
||||||
//表单数据
|
addForm: {
|
||||||
addForm: {
|
name: "",
|
||||||
name: '',
|
is_hidden: false,
|
||||||
is_hidden: false,
|
sort: "",
|
||||||
sort: '',
|
type: "",
|
||||||
type: '',
|
participant_cc: [],
|
||||||
participant_cc: [],
|
enable_retreat: false,
|
||||||
enable_retreat: false,
|
participant_type: 0,
|
||||||
participant_type: 0,
|
filter_policy: 0,
|
||||||
filter_policy: 0,
|
distribute_type: 2, //分发类型
|
||||||
distribute_type: '2',//分发类型
|
state_fields: {}, //字段状态是否可写
|
||||||
state_fields: {}//字段状态是否可写
|
},
|
||||||
},
|
//验证规则
|
||||||
//验证规则
|
rules: {
|
||||||
rules: {
|
name: [{ required: true, message: "请输入工作流名称" }],
|
||||||
name: [
|
},
|
||||||
{required: true, message: '请输入工作流名称'}
|
options_: {
|
||||||
]
|
0: "无处理",
|
||||||
},
|
1: "个人",
|
||||||
options_: {
|
2: "多人",
|
||||||
"0": '无处理',
|
4: "角色",
|
||||||
"1": '个人',
|
6: "脚本",
|
||||||
"2": '多人',
|
7: "工单的字段",
|
||||||
"4": '角色',
|
9: "代码获取",
|
||||||
"6": '脚本',
|
10: "岗位",
|
||||||
"7": '工单的字段',
|
},
|
||||||
"9": '代码获取',
|
options2_: {
|
||||||
},
|
1: "主动接单",
|
||||||
options: [{
|
2: "直接处理",
|
||||||
value: 0,
|
3: "随机分配",
|
||||||
label: '普通类型'
|
4: "全部处理",
|
||||||
}, {
|
},
|
||||||
value: 1,
|
options: [
|
||||||
label: '初始状态'
|
{
|
||||||
}, {
|
value: 0,
|
||||||
value: 2,
|
label: "普通类型",
|
||||||
label: '结束状态'
|
},
|
||||||
}],
|
{
|
||||||
typeoptions: [{
|
value: 1,
|
||||||
value: 0,
|
label: "初始状态",
|
||||||
label: '无处理'
|
},
|
||||||
}, {
|
{
|
||||||
value: 1,
|
value: 2,
|
||||||
label: '个人'
|
label: "结束状态",
|
||||||
}, {
|
},
|
||||||
value: 2,
|
],
|
||||||
label: '多人'
|
typeoptions: [
|
||||||
}
|
{
|
||||||
, {
|
value: 0,
|
||||||
value: 4,
|
label: "无处理",
|
||||||
label: '角色'
|
},
|
||||||
}
|
{
|
||||||
, {
|
value: 1,
|
||||||
value: 6,
|
label: "个人",
|
||||||
label: '脚本'
|
},
|
||||||
}
|
{
|
||||||
, {
|
value: 2,
|
||||||
value: 7,
|
label: "多人",
|
||||||
label: '工单的字段'
|
},
|
||||||
}
|
{
|
||||||
, {
|
value: 4,
|
||||||
value: 9,
|
label: "角色",
|
||||||
label: '代码获取'
|
},
|
||||||
}],
|
{
|
||||||
state_fields: [
|
value: 6,
|
||||||
{
|
label: "脚本",
|
||||||
value: 1,
|
},
|
||||||
label: '只读'
|
{
|
||||||
}, {
|
value: 7,
|
||||||
value: 2,
|
label: "工单的字段",
|
||||||
label: '必填'
|
},
|
||||||
}, {
|
{
|
||||||
value: 3,
|
value: 9,
|
||||||
label: '可选'
|
label: "代码获取",
|
||||||
}, {
|
},
|
||||||
value: 4,
|
{
|
||||||
label: '隐藏'
|
value: 10,
|
||||||
},
|
label: "岗位",
|
||||||
],
|
},
|
||||||
editId: null,
|
],
|
||||||
dialogVisible: false,
|
state_fields: [
|
||||||
}
|
{
|
||||||
},
|
value: 1,
|
||||||
mounted() {
|
label: "只读",
|
||||||
debugger;
|
},
|
||||||
this.id = sessionStorage.getItem('jinYuWorkflowId');
|
{
|
||||||
this.getList();
|
value: 2,
|
||||||
this.getUsers();
|
label: "必填",
|
||||||
this.getRole();
|
},
|
||||||
this.getField();
|
{
|
||||||
},
|
value: 3,
|
||||||
methods: {
|
label: "可选",
|
||||||
//添加字段选项
|
},
|
||||||
addWordStateChange() {
|
{
|
||||||
this.stateChange.push({name: '', value: ''})
|
value: 4,
|
||||||
},
|
label: "隐藏",
|
||||||
//删除字段选项
|
},
|
||||||
removeStateChange(index) {
|
],
|
||||||
this.stateChange.splice(index, 1)
|
dis_type_options: [
|
||||||
},
|
{
|
||||||
//获取员工
|
label: "主动接单",
|
||||||
async getUsers() {
|
value: 1,
|
||||||
let staffs = await this.$API.system.user.get({page: 0});
|
},
|
||||||
this.staffs = staffs;
|
{
|
||||||
},
|
label: "直接处理",
|
||||||
//获取角色
|
value: 2,
|
||||||
async getRole() {
|
},
|
||||||
let roles = await this.$API.system.role.get({page: 0});
|
{
|
||||||
this.roles = roles;
|
label: "随机分配",
|
||||||
},
|
value: 3,
|
||||||
//获取字段
|
},
|
||||||
async getField() {
|
{
|
||||||
let fieldList = await this.$API.wf.getCustomfields.get(this.id);
|
label: "全部处理",
|
||||||
this.fieldList = fieldList;
|
value: 4,
|
||||||
},
|
},
|
||||||
handleAdd() {
|
],
|
||||||
this.type = 'add';
|
editId: null,
|
||||||
this.dialogVisible = true;
|
dialogVisible: false,
|
||||||
},
|
};
|
||||||
submitHandle() {
|
},
|
||||||
let that = this;
|
mounted() {
|
||||||
debugger;
|
this.id = sessionStorage.getItem("jinYuWorkflowId");
|
||||||
this.$refs.Form.validate((valid) => {
|
this.getList();
|
||||||
if (valid) {
|
this.getUsers();
|
||||||
let state_fields = {};
|
this.getRole();
|
||||||
if (this.stateChange.length > 0) {
|
this.getField();
|
||||||
for (let i = 0; i < this.stateChange.length; i++) {
|
},
|
||||||
state_fields[this.stateChange[i].name] = this.stateChange[i].value;
|
methods: {
|
||||||
}
|
//添加字段选项
|
||||||
}
|
addWordStateChange() {
|
||||||
this.addForm.state_fields = state_fields;
|
this.stateChange.push({ name: "", value: "" });
|
||||||
this.addForm.participant = this.addForm.participant_type === 1 ? this.participant : this.participants;
|
},
|
||||||
that.isSaveing = true;
|
//删除字段选项
|
||||||
let res = null;
|
removeStateChange(index) {
|
||||||
if (that.type === 'add') {
|
this.stateChange.splice(index, 1);
|
||||||
that.addForm.workflow = this.id;
|
},
|
||||||
res = that.$API.wf.stateAdd.post(that.addForm)
|
//获取员工
|
||||||
} else {
|
async getUsers() {
|
||||||
res = that.$API.wf.stateEdit.put(that.editId, that.addForm);
|
let staffs = await this.$API.system.user.list.req({ page: 0 });
|
||||||
}
|
this.staffs = staffs;
|
||||||
if (res.err_msg) {
|
},
|
||||||
that.isSaveing = false;
|
//获取角色
|
||||||
} else {
|
async getRole() {
|
||||||
that.isSaveing = false;
|
let roles = await this.$API.system.role.list.req({ page: 0 });
|
||||||
that.dialogVisible = false;
|
this.roles = roles;
|
||||||
that.getList();
|
},
|
||||||
}
|
//获取字段
|
||||||
}
|
async getField() {
|
||||||
})
|
let fieldList = await this.$API.wf.workflow.customfields.req(this.id);
|
||||||
},
|
this.fieldList = fieldList;
|
||||||
handleEdit(row) {
|
},
|
||||||
this.type = 'edit';
|
handleAdd() {
|
||||||
this.editId = row.id;
|
this.type = "add";
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
this.addForm = Object.assign({}, row);
|
},
|
||||||
},
|
async submitHandle() {
|
||||||
async getList() {
|
let that = this;
|
||||||
let res = await this.$API.wf.getWorkflowState.get(this.id);
|
that.isSaveing = true;
|
||||||
console.log(res);
|
let res = null;
|
||||||
this.list = res;
|
if (that.type === "add") {
|
||||||
},
|
that.addForm.workflow = this.id;
|
||||||
},
|
res = await that.$API.wf.state.create.req(that.addForm);
|
||||||
}
|
} else {
|
||||||
|
res = await that.$API.wf.state.update.req(that.editId, that.addForm);
|
||||||
|
}
|
||||||
|
if (res.err_msg) {
|
||||||
|
that.isSaveing = false;
|
||||||
|
} else {
|
||||||
|
that.isSaveing = false;
|
||||||
|
that.dialogVisible = false;
|
||||||
|
that.getList();
|
||||||
|
}
|
||||||
|
// this.$refs.Form.validate((valid) => {
|
||||||
|
// if (valid) {
|
||||||
|
// let state_fields = {};
|
||||||
|
// if (this.stateChange.length > 0) {
|
||||||
|
// for (let i = 0; i < this.stateChange.length; i++) {
|
||||||
|
// state_fields[this.stateChange[i].name] = this.stateChange[i].value;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// this.addForm.state_fields = state_fields;
|
||||||
|
// this.addForm.participant = this.addForm.participant_type === 1 ? this.participant : this.participants;
|
||||||
|
// that.isSaveing = true;
|
||||||
|
// let res = null;
|
||||||
|
// if (that.type === 'add') {
|
||||||
|
// that.addForm.workflow = this.id;
|
||||||
|
// res = that.$API.wf.stateAdd.post(that.addForm)
|
||||||
|
// } else {
|
||||||
|
// res = that.$API.wf.stateEdit.put(that.editId, that.addForm);
|
||||||
|
// }
|
||||||
|
// if (res.err_msg) {
|
||||||
|
// that.isSaveing = false;
|
||||||
|
// } else {
|
||||||
|
// that.isSaveing = false;
|
||||||
|
// that.dialogVisible = false;
|
||||||
|
// that.getList();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
handleEdit(row) {
|
||||||
|
this.type = "edit";
|
||||||
|
this.editId = row.id;
|
||||||
|
this.dialogVisible = true;
|
||||||
|
this.addForm = Object.assign({}, row);
|
||||||
|
},
|
||||||
|
async getList() {
|
||||||
|
let res = await this.$API.wf.workflow.states.req(this.id);
|
||||||
|
console.log(res);
|
||||||
|
this.list = res;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,17 @@
|
||||||
<template>
|
<template>
|
||||||
<el-main class="nopadding">
|
<el-container>
|
||||||
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>
|
<el-header>
|
||||||
<el-table
|
<div class="left-panel">
|
||||||
:data="list"
|
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>
|
||||||
style="width: 100%"
|
</div>
|
||||||
|
</el-header>
|
||||||
|
<el-main class="nopadding">
|
||||||
|
|
||||||
|
<scTable
|
||||||
|
:data="list" ref="table"
|
||||||
|
row-key="id" stripe highlightCurrentRow hidePagination
|
||||||
>
|
>
|
||||||
<el-table-column type="index" width="50"/>
|
<el-table-column label="ID" prop="id"></el-table-column>
|
||||||
<el-table-column label="名称" prop="name"></el-table-column>
|
<el-table-column label="名称" prop="name"></el-table-column>
|
||||||
<el-table-column label="定时器(单位秒)" prop="timer"></el-table-column>
|
<el-table-column label="定时器(单位秒)" prop="timer"></el-table-column>
|
||||||
<el-table-column label="源状态">
|
<el-table-column label="源状态">
|
||||||
|
|
@ -38,7 +44,7 @@
|
||||||
</el-link>
|
</el-link>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</scTable>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
:title="titleMap[type]"
|
:title="titleMap[type]"
|
||||||
|
|
@ -48,7 +54,6 @@
|
||||||
:model="addForm"
|
:model="addForm"
|
||||||
label-width="130px"
|
label-width="130px"
|
||||||
label-position="right"
|
label-position="right"
|
||||||
:rules="rule"
|
|
||||||
>
|
>
|
||||||
<el-form-item label="名称" prop="name">
|
<el-form-item label="名称" prop="name">
|
||||||
<el-input v-model="addForm.name" placeholder="名称"/>
|
<el-input v-model="addForm.name" placeholder="名称"/>
|
||||||
|
|
@ -78,6 +83,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="条件表达式" prop="condition_expression">
|
<el-form-item label="条件表达式" prop="condition_expression">
|
||||||
<vue-json-editor
|
<vue-json-editor
|
||||||
|
style="width:100%"
|
||||||
v-model="addForm.condition_expression"
|
v-model="addForm.condition_expression"
|
||||||
:showBtns="false"
|
:showBtns="false"
|
||||||
:mode="'code'"
|
:mode="'code'"
|
||||||
|
|
@ -98,6 +104,9 @@
|
||||||
<el-form-item label="是否校验必填" prop="field_require_check">
|
<el-form-item label="是否校验必填" prop="field_require_check">
|
||||||
<el-switch v-model="addForm.field_require_check"></el-switch>
|
<el-switch v-model="addForm.field_require_check"></el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交时调用" prop="on_submit_func">
|
||||||
|
<el-input v-model="addForm.on_submit_func" placeholder="提交时调用"/>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div style="text-align: right">
|
<div style="text-align: right">
|
||||||
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
|
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
|
||||||
|
|
@ -105,6 +114,8 @@
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</el-main>
|
</el-main>
|
||||||
|
</el-container>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -176,36 +187,34 @@
|
||||||
this.addForm = Object.assign({}, row);
|
this.addForm = Object.assign({}, row);
|
||||||
},
|
},
|
||||||
async getList() {
|
async getList() {
|
||||||
let res = await this.$API.wf.getWorkflowTransition.get(this.id);
|
let res = await this.$API.wf.workflow.transitions.req(this.id);
|
||||||
this.list = res;
|
this.list = res;
|
||||||
},
|
},
|
||||||
async getStateList() {
|
async getStateList() {
|
||||||
let res = await this.$API.wf.getWorkflowState.get(this.id);
|
let res = await this.$API.wf.workflow.states.req(this.id);
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.stateList = res;
|
this.stateList = res;
|
||||||
},
|
},
|
||||||
submitHandle(){
|
async submitHandle(){
|
||||||
let that = this;
|
let that = this;
|
||||||
|
let res = null;
|
||||||
|
if (that.type === 'add') {
|
||||||
|
debugger;
|
||||||
|
that.addForm.workflow = this.id;
|
||||||
|
res = await that.$API.wf.transition.create.req(that.addForm);
|
||||||
|
} else {
|
||||||
|
res = await that.$API.wf.transition.update.req(that.editId, that.addForm);
|
||||||
|
}
|
||||||
|
if(res.err_msg){
|
||||||
|
that.isSaveing = false;
|
||||||
|
}else{
|
||||||
|
that.isSaveing = false;
|
||||||
|
that.dialogVisible = false;
|
||||||
|
that.getList();
|
||||||
|
}
|
||||||
this.$refs.Form.validate((valid) => {
|
this.$refs.Form.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
let res = null;
|
|
||||||
if (that.type === 'add') {
|
|
||||||
debugger;
|
|
||||||
that.addForm.workflow = this.id;
|
|
||||||
res = that.$API.wf.transitionAdd.post(that.addForm);
|
|
||||||
} else {
|
|
||||||
res = that.$API.wf.transitionEdit.put(that.editId, that.addForm);
|
|
||||||
}
|
|
||||||
if(res.err_msg){
|
|
||||||
this.$message.error(res.err_msg)
|
|
||||||
}else{
|
|
||||||
that.isSaveing = false;
|
|
||||||
that.limitedVisible = false;
|
|
||||||
that.$refs.table.refresh();
|
|
||||||
}
|
|
||||||
that.isSaveing = false;
|
|
||||||
that.limitedVisible = false;
|
|
||||||
that.getList();
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main class="nopadding">
|
<el-main class="nopadding">
|
||||||
<scTable ref="table" :apiObj="apiObj" row-key="id">
|
<scTable ref="table" :apiObj="apiObj" row-key="id">
|
||||||
<el-table-column label="#" type="index" width="50"></el-table-column>
|
<el-table-column label="ID" prop="id" min-width="100"></el-table-column>
|
||||||
<el-table-column label="工作流名称" prop="name" min-width="250"></el-table-column>
|
<el-table-column label="工作流名称" prop="name" min-width="250"></el-table-column>
|
||||||
<el-table-column label="工单查看权限校验" prop="view_permission_check" min-width="150">
|
<el-table-column label="工单查看权限校验" prop="view_permission_check" min-width="150">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
@ -46,6 +46,9 @@
|
||||||
<el-form-item label="名称" prop="name">
|
<el-form-item label="名称" prop="name">
|
||||||
<el-input v-model="addForm.name" clearable></el-input>
|
<el-input v-model="addForm.name" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="标识" prop="code">
|
||||||
|
<el-input v-model="addForm.code" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="流水前缀">
|
<el-form-item label="流水前缀">
|
||||||
<el-input v-model="addForm.sn_prefix" clearable></el-input>
|
<el-input v-model="addForm.sn_prefix" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue