Merge branch 'ehs' of https://e.coding.net/ctcdevteam/ehs/ehs_web into ehs
This commit is contained in:
commit
dc9b3aaa08
|
@ -16,30 +16,9 @@ export default {
|
|||
return await http.post(this.url, data, config);
|
||||
}
|
||||
},
|
||||
exportFile: {
|
||||
url: `${config.API_URL}/fileExport`,
|
||||
name: "导出附件",
|
||||
get: async function(data, config={}){
|
||||
return await http.get(this.url, data, config);
|
||||
}
|
||||
},
|
||||
importFile: {
|
||||
url: `${config.API_URL}/fileImport`,
|
||||
name: "导入附件",
|
||||
post: async function(data, config={}){
|
||||
return await http.post(this.url, data, config);
|
||||
}
|
||||
},
|
||||
file: {
|
||||
menu: {
|
||||
url: `${config.API_URL}/file/menu`,
|
||||
name: "获取文件分类",
|
||||
get: async function(){
|
||||
return await http.get(this.url);
|
||||
}
|
||||
},
|
||||
list: {
|
||||
url: `${config.API_URL}/file/list`,
|
||||
url: `${config.API_URL}/file`,
|
||||
name: "获取文件列表",
|
||||
get: async function(params){
|
||||
return await http.get(this.url, params);
|
||||
|
|
|
@ -133,6 +133,14 @@ export default {
|
|||
);
|
||||
}
|
||||
},
|
||||
item: {
|
||||
name: "获取",
|
||||
req: async function (id) {
|
||||
return await http.get(
|
||||
`${config.API_URL}/rpm/rpj/${id}/`,
|
||||
);
|
||||
}
|
||||
},
|
||||
read:{
|
||||
name: "详情",
|
||||
req: async function (id) {
|
||||
|
|
|
@ -125,11 +125,6 @@
|
|||
name: "employee",
|
||||
components: {},
|
||||
props: {
|
||||
value: {
|
||||
// 接受外部v-model传入的值
|
||||
type: [String],
|
||||
default: "",
|
||||
},
|
||||
user: {
|
||||
// 接受外部v-model传入的值
|
||||
type: [String],
|
||||
|
@ -163,8 +158,13 @@
|
|||
this.getUser();
|
||||
this.getDept();
|
||||
this.getPost();
|
||||
|
||||
|
||||
debugger;
|
||||
if(this.user===""){
|
||||
this.selection = [];
|
||||
this.apiObj.map(item => {
|
||||
this.$refs.table.toggleRowSelection(item, false)
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
filterText(val) {
|
||||
|
@ -181,13 +181,25 @@
|
|||
},
|
||||
methods: {
|
||||
showDialog() {
|
||||
this.dialoguser = true;
|
||||
this.$nextTick(function () {
|
||||
this.apiObj.map(item => {
|
||||
if (item.id === this.user) {
|
||||
this.$refs.table.toggleRowSelection(item, true)
|
||||
debugger;
|
||||
let that = this;
|
||||
that.dialoguser = true;
|
||||
that.$nextTick(function () {
|
||||
debugger;
|
||||
if(that.user===""){
|
||||
that.selection = [];
|
||||
that.apiObj.map(item => {
|
||||
that.$refs.table.toggleRowSelection(item, false)
|
||||
})
|
||||
}else{
|
||||
that.apiObj.map(item => {
|
||||
debugger;
|
||||
if (item.id === that.user) {
|
||||
that.$refs.table.toggleRowSelection(item, true)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
},
|
||||
|
@ -240,16 +252,19 @@
|
|||
},
|
||||
//表格选择后回调事件
|
||||
selectionChange(selection) {
|
||||
debugger;
|
||||
if (selection.length > 1) {
|
||||
let del_row = selection.shift();
|
||||
this.selection = selection[1];
|
||||
this.$refs.userTable.toggleRowSelection(del_row, false); // 用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中)
|
||||
}else{
|
||||
debugger;
|
||||
this.selection = selection;
|
||||
}
|
||||
},
|
||||
|
||||
submitfrom() {
|
||||
debugger;
|
||||
if(this.selection.length===1){
|
||||
let obj={id:this.selection[0].id,name:this.selection[0].name};
|
||||
this.$emit("handlerSubmit", obj);
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="branch-wrap">
|
||||
<div class="branch-box-wrap">
|
||||
<div class="branch-box">
|
||||
<el-button class="add-branch" type="success" plain round @click="addTerm">添加条件</el-button>
|
||||
<!--<el-button class="add-branch" type="success" plain round @click="addTerm">添加条件</el-button>-->
|
||||
<div class="col-box" v-for="(item,index) in nodeConfig.conditionNodes" :key="index">
|
||||
<div class="condition-node">
|
||||
<div class="condition-node-box">
|
||||
|
|
|
@ -690,6 +690,15 @@ const routes = [
|
|||
"icon": "el-icon-fold",
|
||||
},
|
||||
"component": "ops/thirdLogs"
|
||||
},
|
||||
{
|
||||
"name": "files",
|
||||
"path": "/ops/files",
|
||||
"meta": {
|
||||
"title": "文件日志",
|
||||
"icon": "el-icon-fold",
|
||||
},
|
||||
"component": "ops/files"
|
||||
},
|
||||
]
|
||||
},
|
||||
|
|
|
@ -67,18 +67,21 @@ router.beforeEach(async (to, from, next) => {
|
|||
//加载动态/静态路由
|
||||
if(!isGetRouter){
|
||||
// let apiMenu = tool.data.get("MENU") || []
|
||||
let userInfo = tool.data.get("USER_INFO")
|
||||
debugger;
|
||||
let userInfo = tool.data.get("USER_INFO");
|
||||
let permissions = tool.data.get("PERMISSIONS");
|
||||
let userMenu = treeFilter(userRoutes, node => {
|
||||
return node.meta.perms ? node.meta.perms.filter(item=>userInfo.perms.indexOf(item)>-1).length > 0 : true
|
||||
})
|
||||
});
|
||||
// let menu = [...userMenu, ...apiMenu]
|
||||
var menuRouter = filterAsyncRouter(userMenu)
|
||||
menuRouter = flatAsyncRoutes(menuRouter)
|
||||
var menuRouter = filterAsyncRouter(userMenu);
|
||||
menuRouter = flatAsyncRoutes(menuRouter);
|
||||
menuRouter.forEach(item => {
|
||||
router.addRoute("layout", item)
|
||||
})
|
||||
routes_404_r = router.addRoute(routes_404)
|
||||
if (to.matched.length == 0) {
|
||||
});
|
||||
routes_404_r = router.addRoute(routes_404);
|
||||
debugger;
|
||||
if (to.matched.length ==0||permissions[0]==='superuser') {
|
||||
router.push(to.fullPath);
|
||||
}
|
||||
isGetRouter = true;
|
||||
|
|
|
@ -147,7 +147,7 @@ tool.objCopy = function (obj) {
|
|||
|
||||
/* 日期格式化 */
|
||||
tool.dateFormat = function (date, fmt='yyyy-MM-dd hh:mm:ss') {
|
||||
date = new Date(date)
|
||||
date = new Date(date);
|
||||
var o = {
|
||||
"M+" : date.getMonth()+1, //月份
|
||||
"d+" : date.getDate(), //日
|
||||
|
@ -155,8 +155,14 @@ tool.dateFormat = function (date, fmt='yyyy-MM-dd hh:mm:ss') {
|
|||
"m+" : date.getMinutes(), //分
|
||||
"s+" : date.getSeconds(), //秒
|
||||
"q+" : Math.floor((date.getMonth()+3)/3), //季度
|
||||
"S" : date.getMilliseconds() //毫秒
|
||||
"S" : date.getMilliseconds(), //毫秒
|
||||
"W" : date.getDay(), //毫秒
|
||||
};
|
||||
var weeks = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
|
||||
|
||||
if(fmt==='week'){
|
||||
fmt =weeks[o.w];
|
||||
}else{
|
||||
if(/(y+)/.test(fmt)) {
|
||||
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
|
||||
}
|
||||
|
@ -165,6 +171,7 @@ tool.dateFormat = function (date, fmt='yyyy-MM-dd hh:mm:ss') {
|
|||
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
|
||||
}
|
||||
}
|
||||
}
|
||||
return fmt;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
<div class="header-left-bg">曲阳金隅智慧安全</div>
|
||||
<div class="header-right-action">
|
||||
<div class="right-action-clock">
|
||||
<span class="action-time">2022-06-22</span>
|
||||
<span class="action-time">{{ currentDay }}</span>
|
||||
<span class="action-time">周三下午 </span>
|
||||
<span class="action-time">17:59:52</span>
|
||||
<span class="action-time">{{ currentTime }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -831,6 +831,8 @@
|
|||
LBType: '1',
|
||||
userMarker: {},
|
||||
todayDate:'',
|
||||
currentDay:'',
|
||||
currentTime:'',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -841,7 +843,12 @@
|
|||
},
|
||||
mounted() {
|
||||
let date = new Date();
|
||||
this.todayDate = this.warningData.params.start_create = this.cateAggForm.start_create =date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate();
|
||||
this.timeNow = date.getDay();
|
||||
this.todayDate = this.warningData.params.start_create = this.cateAggForm.start_create =this.$TOOL.dateFormat(new Date(), 'yyyy-MM-dd');
|
||||
this.showTime();
|
||||
setInterval(()=>{
|
||||
this.showTime();
|
||||
},1000);
|
||||
window.map = new jsmap.JSMap({
|
||||
mapType: jsmap.JSMapType.MAP_3D,
|
||||
container: 'mapContainer',
|
||||
|
@ -1016,6 +1023,10 @@
|
|||
setInterval(function () {}, 3000)
|
||||
},
|
||||
methods: {
|
||||
showTime(){
|
||||
this.currentTime = this.$TOOL.dateFormat(new Date(), 'hh:mm:ss');
|
||||
this.currentDay = this.$TOOL.dateFormat(new Date(), 'yyyy年MM月dd日')
|
||||
},
|
||||
getWarningTotal(){
|
||||
let that = this;
|
||||
that.$API.ecm.event.cateAgg.req(that.cateAggForm).then(res=>{
|
||||
|
|
|
@ -159,7 +159,7 @@ export default {
|
|||
try {
|
||||
var res1 = await this.$API.auth.info.get();
|
||||
this.$TOOL.data.set("USER_INFO", res1);
|
||||
this.$TOOL.data.set("PERMISSIONS", res1.perms.keys());
|
||||
this.$TOOL.data.set("PERMISSIONS", Object.keys(res1.perms));
|
||||
this.$router.replace({
|
||||
path: "/",
|
||||
});
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
<template>
|
||||
<el-container>
|
||||
<el-header>
|
||||
<div class="left-panel">
|
||||
<div class="right-panel-search">
|
||||
<el-input v-model="search.id" placeholder="logId" clearable></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="getSearch"></el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable ref="table" :apiObj="apiObj" row-key="id" stripe highlightCurrentRow @row-click="rowClick">
|
||||
<el-table-column label="#" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="名称" prop="name" min-width="80"></el-table-column>
|
||||
<el-table-column label="id" prop="id" min-width="200"></el-table-column>
|
||||
<el-table-column label="路径" prop="path" min-width="150"></el-table-column>
|
||||
<el-table-column label="类型" prop="type" min-width="80">
|
||||
<template #default="scope">
|
||||
<el-tag class="ml-2" type="success" v-if="scope.row.type===1">成功</el-tag>
|
||||
<el-tag class="ml-2" type="warning" v-if="scope.row.type===2">报错</el-tag>
|
||||
<el-tag class="ml-2" type="danger" v-if="scope.row.type===40">图片</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作时间" prop="requested_at" min-width="150"></el-table-column>
|
||||
<el-table-column label="操作" align="center" width="100">
|
||||
<el-button type="text" size="small">查看详情</el-button>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</el-main>
|
||||
<el-drawer v-model="infoDrawer" title="日志详情" :size="'50%'" destroy-on-close>
|
||||
<logInfo ref="logInfo"></logInfo>
|
||||
</el-drawer>
|
||||
|
||||
</el-container>
|
||||
</template>
|
||||
<script>
|
||||
import logInfo from './logInfo'
|
||||
export default {
|
||||
name: 'files',
|
||||
components: {
|
||||
logInfo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
apiObj: this.$API.common.file.list,
|
||||
search:{
|
||||
id:null,
|
||||
},
|
||||
logLists:[],
|
||||
infoDrawer:false,
|
||||
logDetailVisible:false,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
getSearch(){
|
||||
this.$refs.table.reload(this.search);
|
||||
},
|
||||
rowClick(row){
|
||||
this.infoDrawer = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.logInfo.setData(row)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.treeMain {height:280px;overflow: auto;border: 1px solid #dcdfe6;margin-bottom: 10px;}
|
||||
</style>
|
|
@ -11,11 +11,12 @@
|
|||
<el-main class="nopadding">
|
||||
<scTable ref="table" :apiObj="apiObj" row-key="id" stripe highlightCurrentRow @row-click="rowClick">
|
||||
<el-table-column label="#" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="method" prop="method" min-width="80"></el-table-column>
|
||||
<el-table-column label="id" prop="id" min-width="200"></el-table-column>
|
||||
<el-table-column label="日志id" prop="id" min-width="200"></el-table-column>
|
||||
<el-table-column label="路径" prop="path" min-width="150"></el-table-column>
|
||||
<el-table-column label="view" prop="view" min-width="150"></el-table-column>
|
||||
<el-table-column label="method" prop="method" min-width="80">
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column label="view" prop="view" min-width="150"></el-table-column>
|
||||
<el-table-column label="状态码" prop="status_code" min-width="80">
|
||||
<template #default="scope">
|
||||
<el-tag class="ml-2" type="success" v-if="scope.row.status_code>=200&&scope.row.status_code<300">{{scope.row.status_code}}</el-tag>
|
||||
|
|
|
@ -34,9 +34,11 @@
|
|||
<el-table-column label="#" type="index" fixed="left" width="50"></el-table-column>
|
||||
<el-table-column label="名称" prop="name" fixed="left" width="180"></el-table-column>
|
||||
<el-table-column label="项目类型" prop="type" width="180"
|
||||
><template #default="scope"
|
||||
>
|
||||
<template #default="scope"
|
||||
>{{ type_[scope.row.type] }}
|
||||
</template></el-table-column
|
||||
</template>
|
||||
</el-table-column
|
||||
>
|
||||
<el-table-column
|
||||
label="合同编号"
|
||||
|
@ -53,11 +55,21 @@
|
|||
prop="leave_time"
|
||||
width="180"
|
||||
></el-table-column>
|
||||
<el-table-column label="状态" prop="state" width="180"
|
||||
><template #default="scope"
|
||||
>{{ state_[scope.row.state] }}
|
||||
</template></el-table-column
|
||||
>
|
||||
<el-table-column label="状态" prop="state" width="180">
|
||||
<template #default="scope">{{ state_[scope.row.state] }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="审批状态" width="180">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.ticket_&&scope.row.ticket_.state_" style="margin-right: 5px;">{{scope.row.ticket_.state_.name }}</span>
|
||||
<el-tag
|
||||
v-if="scope.row.ticket_&&scope.row.ticket_.act_state"
|
||||
class="mx-1"
|
||||
size="small"
|
||||
:type="scope.row.ticket_.act_state===0?'':scope.row.ticket_.act_state===1?'':scope.row.ticket_.act_state===2?'danger':scope.row.ticket_.act_state===3?'danger':scope.row.ticket_.act_state===5?'danger':scope.row.ticket_.act_state===4?'success':''"
|
||||
>{{act_states[scope.row.ticket_.act_state]}}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="所属部门"
|
||||
prop="belong_dept_name"
|
||||
|
@ -86,20 +98,23 @@
|
|||
type="primary"
|
||||
size="small"
|
||||
@click="next_add(scope.row, scope.$index)"
|
||||
>继续编辑</el-button>
|
||||
>继续编辑
|
||||
</el-button>
|
||||
|
||||
<el-button
|
||||
text
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="table_show(scope.row, scope.$index)"
|
||||
>查看</el-button>
|
||||
>查看
|
||||
</el-button>
|
||||
<el-button
|
||||
text
|
||||
type="warning"
|
||||
size="small"
|
||||
@click="table_edit(scope.row, scope.$index)"
|
||||
>编辑</el-button>
|
||||
>编辑
|
||||
</el-button>
|
||||
<el-popconfirm
|
||||
title="确定删除吗?"
|
||||
@confirm="table_del(scope.row, scope.$index)"
|
||||
|
@ -121,18 +136,28 @@
|
|||
@success="handleSaveSuccess"
|
||||
@closed="dialog.save = false"
|
||||
></save-dialog>
|
||||
<show-dialog
|
||||
v-if="dialog.show"
|
||||
ref="showDialog"
|
||||
:rpjId="rpjId"
|
||||
@closed="dialog.show = false"
|
||||
></show-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import saveDialog from "./rpj_form.vue";
|
||||
import showDialog from "./rpj_show.vue";
|
||||
|
||||
export default {
|
||||
name: "remployee",
|
||||
components: {
|
||||
saveDialog,
|
||||
showDialog,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialog: {
|
||||
save: false,
|
||||
show: false,
|
||||
permission: false,
|
||||
},
|
||||
adminform: {
|
||||
|
@ -155,8 +180,9 @@ export default {
|
|||
20: "审批中",
|
||||
30: "待入厂",
|
||||
40: "进行中",
|
||||
40: "已完成",
|
||||
50: "已完成",
|
||||
},
|
||||
rpjId:''
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
@ -176,10 +202,8 @@ export default {
|
|||
},
|
||||
//查看
|
||||
table_show(row) {
|
||||
this.dialog.save = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("show").setData(row);
|
||||
});
|
||||
this.rpjId = row.id;
|
||||
this.dialog.show = true;
|
||||
},
|
||||
|
||||
//权限设置
|
||||
|
@ -202,8 +226,7 @@ export default {
|
|||
return err;
|
||||
});
|
||||
},
|
||||
next_add(row)
|
||||
{
|
||||
next_add(row) {
|
||||
this.$router.push({
|
||||
name: "rpjadd",
|
||||
query: {
|
||||
|
|
|
@ -49,21 +49,19 @@
|
|||
</el-col>
|
||||
<el-col :md="24" :sm="12" :xs="24">
|
||||
<el-form-item label="进场时间">
|
||||
|
||||
<el-date-picker
|
||||
v-model="form.come_time"
|
||||
type="datetime"
|
||||
placeholder="选择结束时间"
|
||||
placeholder="选择进场时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="24" :sm="12" :xs="24">
|
||||
<el-form-item label="离场时间">
|
||||
|
||||
<el-date-picker
|
||||
v-model="form.leave_time"
|
||||
type="datetime"
|
||||
placeholder="选择结束时间"
|
||||
placeholder="选择离场时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -97,14 +95,13 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-main>
|
||||
<el-footer>
|
||||
<el-button type="primary" :loading="isSaveing" @click="submit"
|
||||
>保存</el-button
|
||||
>保存
|
||||
</el-button
|
||||
>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
</el-footer>
|
||||
|
@ -114,6 +111,7 @@
|
|||
|
||||
<script>
|
||||
import {genTree} from "@/utils/verificate";
|
||||
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
data() {
|
||||
|
|
|
@ -0,0 +1,114 @@
|
|||
<template>
|
||||
<el-drawer
|
||||
:title="form.name"
|
||||
v-model="visible"
|
||||
:size="1000"
|
||||
destroy-on-close
|
||||
>
|
||||
<el-container v-loading="loading">
|
||||
<el-main style="padding: 0 20px 20px 20px">
|
||||
<el-descriptions direction="vertical" :column="3" border>
|
||||
<!--<el-descriptions-item label="入厂项目:">{{form.name }}</el-descriptions-item>-->
|
||||
<el-descriptions-item label="项目类型:">{{types_[form.type]}}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同编号:">{{form.contract_number}}</el-descriptions-item>
|
||||
<el-descriptions-item label="状态:">{{state_[form.state]}}</el-descriptions-item>
|
||||
<el-descriptions-item label="进厂时间:">{{form.come_time}}</el-descriptions-item>
|
||||
<el-descriptions-item label="离厂时间:">{{form.leave_time}}</el-descriptions-item>
|
||||
<el-descriptions-item label="所属部门:">{{form.belong_dept_name}}</el-descriptions-item>
|
||||
<!--<el-descriptions-item label="相关方:">{{form.rparty_name}}</el-descriptions-item>-->
|
||||
</el-descriptions>
|
||||
<!--<el-card style="margin-top:20px">
|
||||
<scTable
|
||||
ref="table"
|
||||
:data="peoplelist"
|
||||
row-key="id"
|
||||
height='auto'
|
||||
stripe
|
||||
hideDo
|
||||
hidePagination
|
||||
>
|
||||
<el-table-column
|
||||
label="#"
|
||||
fixed="left"
|
||||
type="index"
|
||||
width="50"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
label="访客姓名"
|
||||
prop="visitor_.name"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="访客手机号"
|
||||
prop="visitor_.phone"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="访客身份证号"
|
||||
prop="visitor_.id_number"
|
||||
></el-table-column>
|
||||
<el-table-column label="是否重要访客" prop="is_main">
|
||||
<template #default="scope"
|
||||
>
|
||||
<el-space v-if="scope.row.is_main == true">是</el-space>
|
||||
<el-space v-else>否</el-space>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="create_time"></el-table-column>
|
||||
</scTable>
|
||||
</el-card>-->
|
||||
</el-main>
|
||||
</el-container>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {genTree} from "@/utils/verificate";
|
||||
import selectUser from "@/layout/components/userselect";
|
||||
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
components: {
|
||||
selectUser,
|
||||
},
|
||||
props:{rpjId: { type: String, default: "" }},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
state_: {
|
||||
10: "创建中",
|
||||
20: "审批中",
|
||||
30: "待入厂",
|
||||
40: "进行中",
|
||||
50: "已完成",
|
||||
},
|
||||
types_: {
|
||||
10: "建筑施工",
|
||||
20: "设备设施检维修",
|
||||
30: "保安保洁服务",
|
||||
40: "其他",
|
||||
},
|
||||
receptionistoptions: [],
|
||||
peoplelist: [],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getFormData();
|
||||
},
|
||||
methods: {
|
||||
getFormData(){
|
||||
this.$API.rpm.rpj.item.req(this.rpjId).then((res) => {
|
||||
this.form = res;
|
||||
this.visible = true;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.el-transfer {
|
||||
--el-transfer-panel-width: 345px !important;
|
||||
}
|
||||
</style>
|
|
@ -106,7 +106,8 @@
|
|||
<el-col :md="24" :sm="12" :xs="24">
|
||||
<el-form-item>
|
||||
<el-button style="margin-top: 12px" @click="handleNextStep"
|
||||
>下一步</el-button
|
||||
>下一步
|
||||
</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -151,7 +152,8 @@
|
|||
type="primary"
|
||||
size="small"
|
||||
@click="upload(scope.row, scope.$index)"
|
||||
>上传</el-button
|
||||
>上传
|
||||
</el-button
|
||||
>
|
||||
<el-popconfirm
|
||||
title="确定删除吗?"
|
||||
|
@ -165,10 +167,12 @@
|
|||
</el-table-column>
|
||||
</scTable>
|
||||
<el-button style="margin-top: 12px" @click="handleLastStep"
|
||||
>上一步</el-button
|
||||
>上一步
|
||||
</el-button
|
||||
>
|
||||
<el-button style="margin-top: 12px" @click="handleNextStep"
|
||||
>下一步</el-button
|
||||
>下一步
|
||||
</el-button
|
||||
>
|
||||
<sc-dialog v-model="dialogupload" draggable title="上传文件">
|
||||
<el-form ref="dialogfileForm" :model="fileform" label-width="120px">
|
||||
|
@ -183,7 +187,8 @@
|
|||
tip="最多上传10个文件,单个文件不要超过10M,请上传xlsx/docx格式文件"
|
||||
>
|
||||
<el-button type="primary" icon="el-icon-upload"
|
||||
>上传附件</el-button
|
||||
>上传附件
|
||||
</el-button
|
||||
>
|
||||
</sc-upload-file>
|
||||
</el-form-item>
|
||||
|
@ -232,7 +237,8 @@
|
|||
:key="item.number"
|
||||
:label="item.name"
|
||||
:value="item.number"
|
||||
>{{ item.name }}</el-tag
|
||||
>{{ item.name }}
|
||||
</el-tag
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -322,10 +328,14 @@
|
|||
<el-button type="primary" @click="submitWorker">确 定</el-button>
|
||||
</template>
|
||||
</sc-dialog>
|
||||
<el-button style="margin-top: 12px" @click="handleLastStep"
|
||||
>上一步</el-button
|
||||
>
|
||||
<el-button style="margin-top: 12px" @click="submitOut">退出</el-button>
|
||||
<el-button @click="handleLastStep">上一步</el-button>
|
||||
<el-button
|
||||
v-for=" item in initForm.transitions"
|
||||
:key="item.id"
|
||||
type="primary"
|
||||
@click="submitTicketCreate(item.id)"
|
||||
>{{item.name}}</el-button>
|
||||
<el-button @click="submitOut">退出</el-button>
|
||||
</el-main>
|
||||
</el-container>
|
||||
</template>
|
||||
|
@ -337,12 +347,15 @@
|
|||
.box-card p {
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.stepSuc:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.stepErr:hover {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
@ -370,7 +383,6 @@ export default {
|
|||
search: {
|
||||
keyword: null,
|
||||
},
|
||||
|
||||
rpjId: "",
|
||||
rpjform: {},
|
||||
rpartyOptions: [],
|
||||
|
@ -388,12 +400,12 @@ export default {
|
|||
files: [],
|
||||
},
|
||||
filelist: [],
|
||||
|
||||
remployeeoptions: [],
|
||||
certificatesOptions: [],
|
||||
formworker: defaultformworker,
|
||||
apiworkerObj: [],
|
||||
workerdialog: false,
|
||||
initForm: {},
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
@ -401,6 +413,7 @@ export default {
|
|||
this.getRpj();
|
||||
this.getRpartyOptions();
|
||||
this.getDept();
|
||||
this.getInit();
|
||||
},
|
||||
methods: {
|
||||
//入场项目基本信息
|
||||
|
@ -466,10 +479,7 @@ export default {
|
|||
},
|
||||
//退出界面
|
||||
submitOut() {
|
||||
this.$router.push({
|
||||
name: "rpj",
|
||||
query: {},
|
||||
});
|
||||
this.$router.push("rpj");
|
||||
},
|
||||
//删除文件项
|
||||
del_rpjfile(row) {
|
||||
|
@ -565,6 +575,28 @@ export default {
|
|||
});
|
||||
});
|
||||
},
|
||||
|
||||
//渲染工单提交按钮
|
||||
getInit(){
|
||||
this.$API.wf.workflow.initkey.req('rparty').then((res) => {
|
||||
this.initForm = res;
|
||||
});
|
||||
},
|
||||
|
||||
//提交,创建工单
|
||||
submitTicketCreate(id){
|
||||
let ticket={};
|
||||
ticket.workflow=this.initForm.workflow;
|
||||
ticket.ticket_data={rpj:this.rpjId};
|
||||
ticket.transition=id;
|
||||
this.$API.wf.ticket.create.req(ticket).then((res) => {
|
||||
this.$message.success("提交成功");
|
||||
this.$router.push({
|
||||
name: "rpj",
|
||||
query: {},
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
|
@ -3,8 +3,6 @@
|
|||
<el-header>
|
||||
<div class="left-panel">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="add"></el-button>
|
||||
<!-- <el-button type="danger" plain icon="el-icon-delete" :disabled="selection.length==0" @click="batch_del"></el-button>
|
||||
<el-button type="primary" plain :disabled="selection.length!=1" @click="permission">权限设置</el-button> -->
|
||||
</div>
|
||||
<div class="right-panel">
|
||||
<div class="right-panel-search">
|
||||
|
@ -12,12 +10,10 @@
|
|||
v-model="search.keyword"
|
||||
placeholder="名称"
|
||||
clearable
|
||||
|
||||
></el-input>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
|
||||
></el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -39,16 +35,16 @@
|
|||
></el-table-column>
|
||||
|
||||
<el-table-column label="来访事由" prop="state" width="180" fixed="left">
|
||||
<template #default="scope">{{
|
||||
purpose_[scope.row.purpose]
|
||||
}}</template></el-table-column>
|
||||
<template #default="scope">{{purpose_[scope.row.purpose] }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="访问级别"
|
||||
prop="level"
|
||||
width="200"
|
||||
fixed="left"
|
||||
>
|
||||
<template #default="scope"><el-space v-if="scope.row.level==10">一般</el-space>
|
||||
<template #default="scope">
|
||||
<el-space v-if="scope.row.level==10">一般</el-space>
|
||||
<el-space v-else>重要</el-space>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -59,12 +55,26 @@
|
|||
fixed="left"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="状态"
|
||||
label="项目状态"
|
||||
prop="state"
|
||||
width="180"
|
||||
> <template #default="scope">{{
|
||||
state_[scope.row.state]
|
||||
}}</template>
|
||||
>
|
||||
<template #default="scope">{{state_[scope.row.state] }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="审批状态"
|
||||
prop="state"
|
||||
width="180"
|
||||
>
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.ticket_&&scope.row.ticket_.state_" style="margin-right: 5px;">{{scope.row.ticket_.state_.name }}</span>
|
||||
<el-tag
|
||||
v-if="scope.row.ticket_&&scope.row.ticket_.act_state"
|
||||
class="mx-1"
|
||||
size="small"
|
||||
:type="scope.row.ticket_.act_state===0?'':scope.row.ticket_.act_state===1?'':scope.row.ticket_.act_state===2?'danger':scope.row.ticket_.act_state===3?'danger':scope.row.ticket_.act_state===5?'danger':scope.row.ticket_.act_state===4?'success':''"
|
||||
>{{act_states[scope.row.ticket_.act_state]}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="来访概述"
|
||||
|
@ -100,9 +110,11 @@
|
|||
label="接待人"
|
||||
prop="receptionist_name"
|
||||
width="180"
|
||||
></el-table-column>
|
||||
|
||||
|
||||
>
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.receptionist_">{{scope.row.receptionist_.name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
prop="create_time"
|
||||
|
@ -111,35 +123,33 @@
|
|||
<el-table-column label="操作" fixed="right" align="left" width="170">
|
||||
<template #default="scope">
|
||||
<el-button-group>
|
||||
|
||||
|
||||
<el-button
|
||||
text
|
||||
v-if="scope.row.state==10"
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="addpepple(scope.row, scope.$index)"
|
||||
>继续编辑</el-button>
|
||||
>继续编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
text
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="table_show(scope.row, scope.$index)"
|
||||
>查看</el-button>
|
||||
|
||||
>查看
|
||||
</el-button>
|
||||
<el-button
|
||||
text
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="table_del(scope.row)"
|
||||
>删除</el-button>
|
||||
>删除
|
||||
</el-button>
|
||||
</el-button-group>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
|
||||
</el-main>
|
||||
|
||||
<save-dialog
|
||||
v-if="dialog.save"
|
||||
ref="saveDialog"
|
||||
|
@ -155,6 +165,7 @@
|
|||
<script>
|
||||
import saveDialog from "./visit_form.vue";
|
||||
import detialDialog from "./visit_detial.vue";
|
||||
|
||||
export default {
|
||||
name: "visit",
|
||||
components: {
|
||||
|
@ -187,7 +198,16 @@ export default {
|
|||
40: "进行中",
|
||||
50: "已完成",
|
||||
},
|
||||
act_states: {
|
||||
0: "草稿中",//p
|
||||
1: "进行中",//p
|
||||
|
||||
2: "被退回",//d
|
||||
3: "被撤回",//d
|
||||
|
||||
4: "已完成",//s
|
||||
5: "已关闭",//d
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
fit
|
||||
stripe
|
||||
style="width: 100%;"
|
||||
height="500"
|
||||
height="400"
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column label="工单标题" min-width="100">
|
||||
|
|
|
@ -136,6 +136,15 @@
|
|||
},
|
||||
});
|
||||
break;
|
||||
case 'rparty':
|
||||
this.$router.push({
|
||||
name: "visitdetail",
|
||||
query: {
|
||||
id: row.id,
|
||||
visitID:row.ticket_data.visit
|
||||
},
|
||||
});
|
||||
break;
|
||||
}
|
||||
},
|
||||
handleLogs(row) {
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" prop="create_time"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="right" width="120">
|
||||
<el-table-column label="操作" fixed="right" align="center" width="160">
|
||||
<template #default="scope">
|
||||
<el-button type="text" size="small" @click="handleShow(scope.row)">查看详情</el-button>
|
||||
<!--创建人在初始状态-->
|
||||
|
|
|
@ -180,6 +180,13 @@
|
|||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="参与者"
|
||||
prop="participant"
|
||||
v-if="addForm.participant_type == 6"
|
||||
>
|
||||
<el-input v-model="addForm.participant" placeholder="方法名" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="分配方式"
|
||||
prop="participant"
|
||||
|
@ -229,7 +236,7 @@
|
|||
placeholder="请选择岗位"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in roles"
|
||||
v-for="item in posts"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
|
@ -241,7 +248,7 @@
|
|||
label="过滤策略"
|
||||
prop="participant"
|
||||
v-if="
|
||||
addForm.participant_type == 4 || addForm.participant_type == 0
|
||||
addForm.participant_type == 4 || addForm.participant_type == 0|| addForm.participant_type == 10
|
||||
"
|
||||
>
|
||||
<el-select
|
||||
|
@ -370,6 +377,7 @@ export default {
|
|||
participant: "",
|
||||
participants: [],
|
||||
roles: [],
|
||||
posts: [],
|
||||
staffs: [],
|
||||
stateChange: [],
|
||||
fieldList: [],
|
||||
|
@ -382,7 +390,7 @@ export default {
|
|||
participant_cc: [],
|
||||
enable_retreat: false,
|
||||
participant_type: 0,
|
||||
filter_policy: 0,
|
||||
filter_policy: '0',
|
||||
distribute_type: 2, //分发类型
|
||||
state_fields: {}, //字段状态是否可写
|
||||
},
|
||||
|
@ -499,6 +507,7 @@ export default {
|
|||
this.getList();
|
||||
this.getUsers();
|
||||
this.getRole();
|
||||
this.getPost();
|
||||
this.getField();
|
||||
},
|
||||
methods: {
|
||||
|
@ -519,6 +528,11 @@ export default {
|
|||
async getRole() {
|
||||
let roles = await this.$API.system.role.list.req({ page: 0 });
|
||||
this.roles = roles;
|
||||
},
|
||||
//获取岗位
|
||||
async getPost() {
|
||||
let posts = await this.$API.system.post.list.req({ page: 0 });
|
||||
this.posts = posts;
|
||||
},
|
||||
//获取字段
|
||||
async getField() {
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
<el-button v-if="ticketDetail.state_&&ticketDetail.state_.enable_deliver" type="primary" plain @click="deliverNode">转交</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<el-button v-for="item in operationBtn" :key="item.id" class="filter-item" type="primary" @click="operationSubmit(item.id)">{{item.name}}</el-button>
|
||||
<el-button v-for="item in operationBtn" :key="item.id" class="filter-item" :type="item.attribute_type===2?'danger':'primary'" @click="operationSubmit(item.id)">{{item.name}}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
|
@ -72,7 +72,7 @@
|
|||
<el-form ref="Form" :model="addForm" label-width="100px" label-position="right">
|
||||
<el-form-item label="处理人">
|
||||
<el-input style="width: 50%;" v-model="userName" disabled placeholder="选择处理人"></el-input>
|
||||
<scUserSelect :closable="true" :multiple="false" @addNodeHandlerSubmit="addNodeHandlerSubmit"></scUserSelect>
|
||||
<scUserSelect v-model="addForm.toadd_user" :closable="true" :multiple="false" @handlerSubmit="addNodeHandlerSubmit"></scUserSelect>
|
||||
</el-form-item>
|
||||
<el-form-item label="加签原因">
|
||||
<el-input type="textarea" :rows="3" v-model="addForm.suggestion" placeholder="加签原因"/>
|
||||
|
@ -205,7 +205,7 @@
|
|||
}
|
||||
if(res.err_msg){}else{
|
||||
this.limitedAdd = false;
|
||||
this.$router.push("/dutywork");
|
||||
this.$router.push("dutywork");
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -223,7 +223,7 @@
|
|||
this.$API.wf.ticket.ticketDeliver.req(this.ticketId,this.deliverForm).then(res=>{
|
||||
if(res.err_msg){}else{
|
||||
this.limitedDeliver = false;
|
||||
this.$router.push("/dutywork");
|
||||
this.$router.push("dutywork");
|
||||
}
|
||||
})
|
||||
},
|
||||
|
@ -234,7 +234,7 @@
|
|||
params.suggestion = this.form.suggestion;
|
||||
this.$API.wf.ticket.ticketHandle.req(this.ticketId,params).then(res=>{
|
||||
if(res.err_msg){}else{
|
||||
this.$router.push("/dutywork");
|
||||
this.$router.push("dutywork");
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
<scTable ref="table" :apiObj="apiObj" row-key="id">
|
||||
<el-table-column label="ID" prop="id" min-width="120"></el-table-column>
|
||||
<el-table-column label="工作流名称" prop="name" min-width="250"></el-table-column>
|
||||
<el-table-column label="标识" prop="key" min-width="250"></el-table-column>
|
||||
<el-table-column label="工单查看权限校验" prop="view_permission_check" min-width="150">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.view_permission_check">是</span>
|
||||
|
@ -46,8 +47,8 @@
|
|||
<el-form-item label="名称" prop="name">
|
||||
<el-input v-model="addForm.name" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="标识" prop="code">
|
||||
<el-input v-model="addForm.code" clearable></el-input>
|
||||
<el-form-item label="标识" prop="key">
|
||||
<el-input v-model="addForm.key" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="流水前缀">
|
||||
<el-input v-model="addForm.sn_prefix" clearable></el-input>
|
||||
|
@ -143,30 +144,32 @@
|
|||
},
|
||||
submitHandle() {
|
||||
let that = this;
|
||||
debugger;
|
||||
console.log(that.addForm.view_permission_check);
|
||||
this.$refs.addForm.validate((valid) => {
|
||||
if (valid) {
|
||||
that.isSaveing = true;
|
||||
let res = null;
|
||||
if (that.type === 'add') {
|
||||
debugger;
|
||||
res = that.$API.wf.workflow.create.req(that.addForm);
|
||||
} else {
|
||||
res = that.$API.wf.workflow.update.req(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.submit();
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
async submit(){
|
||||
let that = this;
|
||||
let res = null;
|
||||
try{
|
||||
if (that.type === 'add') {
|
||||
res = await that.$API.wf.workflow.create.req(that.addForm)
|
||||
} else {
|
||||
res = await that.$API.wf.workflow.update.req(that.editId, that.addForm);
|
||||
}
|
||||
that.isSaveing = false;
|
||||
that.limitedVisible = false;
|
||||
that.$refs.table.refresh();
|
||||
}catch (e) {
|
||||
that.isSaveing = false;
|
||||
}
|
||||
|
||||
},
|
||||
//编辑工作流
|
||||
workflowEdit(row) {
|
||||
this.type = 'edit';
|
||||
|
|
Loading…
Reference in New Issue