Merge branch 'ehs' of https://e.coding.net/ctcdevteam/ehs/ehs_web into ehs
This commit is contained in:
commit
f9766e1a80
|
@ -35,7 +35,7 @@
|
|||
</el-select>
|
||||
</el-col> -->
|
||||
<!-- <el-col :md="8" :sm="24">
|
||||
<el-cascader style="width:90%" v-model="query.depts" :options="deptdata" clearable placeholder="部门/单位" @change="handleQuery" :show-all-levels="false" :props="{emitPath:false}"/>
|
||||
<el-cascader style="width:90%" v-model="query.depts" :options="deptdata" clearable placeholder="部门/单位" @change="handleQuery" :show-all-levels="false" :props="{emitPath:false,checkStrictly: true}"/>
|
||||
</el-col>
|
||||
<el-col :md="8" :sm="24">
|
||||
<el-cascader style="width:90%" v-model="query.posts" :options="postdata" clearable placeholder="岗位" @change="handleQuery" :show-all-levels="false" :props="{emitPath:false}"/>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
</el-select>
|
||||
</el-col>
|
||||
<el-col :md="6" :sm="24">
|
||||
<el-cascader style="width:90%" v-model="query.depts" :options="deptdata" clearable placeholder="部门/单位" @change="handleQuery" :show-all-levels="false" :props="{emitPath:false}"/>
|
||||
<el-cascader style="width:90%" v-model="query.depts" :options="deptdata" clearable placeholder="部门/单位" @change="handleQuery" :show-all-levels="false" :props="{emitPath:false,checkStrictly: true}"/>
|
||||
</el-col>
|
||||
<el-col :md="6" :sm="24">
|
||||
<el-cascader style="width:90%" v-model="query.posts" :options="postdata" clearable placeholder="岗位" @change="handleQuery" :show-all-levels="false" :props="{emitPath:false}"/>
|
||||
|
@ -291,7 +291,7 @@ export default {
|
|||
},
|
||||
//加载部门树数据
|
||||
async getDept() {
|
||||
let res = await this.$API.system.dept.list.req({ page: 0 });
|
||||
let res = await this.$API.system.dept.list.req({ page: 0, type__in:'dept, rparty' });
|
||||
this.deptdata = genTree(res);
|
||||
},
|
||||
//加载岗位树数据
|
||||
|
|
|
@ -75,11 +75,8 @@
|
|||
methods: {
|
||||
getBltList() {
|
||||
let that = this;
|
||||
that.$API.third.tdevice.list.req({ type: 30, page: 0 }).then((res) => {
|
||||
that.tdevice = res;
|
||||
that.bltList = res.filter((item) => {
|
||||
return item.employee_ === null;
|
||||
});
|
||||
that.$API.third.tdevice.list.req({ type: 30, page: 0, state:'unused', query: '{id, code}'}).then((res) => {
|
||||
that.bltList = res;
|
||||
});
|
||||
},
|
||||
|
||||
|
|
|
@ -96,21 +96,19 @@
|
|||
@closed="closeDrawer"
|
||||
>
|
||||
<el-form ref="dialogForm" :model="form" label-width="120px">
|
||||
<el-form-item label="卡号">
|
||||
<!-- <el-form-item label="卡号">
|
||||
{{ form.blt }}
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="mac">
|
||||
{{ bindBltMac }}
|
||||
</el-form-item>
|
||||
<el-form-item label="绑定员工">
|
||||
<el-select v-model="form.employee" style="width: 100%" :disabled="dis">
|
||||
<el-option
|
||||
v-for="item in employeeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
<el-form-item label="绑定员工" v-if="dis==false">
|
||||
<el-input
|
||||
v-model="form.employee_name"
|
||||
style="width:200px"
|
||||
disabled
|
||||
></el-input>
|
||||
<ehsUserSelect :multiple="false" @submit="getEmployee"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
|
@ -149,12 +147,11 @@ export default {
|
|||
form: {
|
||||
type: 10,
|
||||
blt: "",
|
||||
employee: "",
|
||||
employee: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getEmployeeList();
|
||||
},
|
||||
methods: {
|
||||
//表格选择后回调事件
|
||||
|
@ -168,15 +165,10 @@ export default {
|
|||
this.$refs.table.refresh();
|
||||
this.syncLoading = false;
|
||||
},
|
||||
getEmployeeList() {
|
||||
let that = this;
|
||||
that.$API.hrm.employee.list
|
||||
.req({ job_state: 10, page: 0 })
|
||||
.then((res) => {
|
||||
that.tdevice = res;
|
||||
that.employeeList = res;
|
||||
});
|
||||
},
|
||||
getEmployee(data) {
|
||||
this.form.employee=data.id;
|
||||
this.form.employee_name=data.name
|
||||
},
|
||||
handleBindBlt(type, row) {
|
||||
this.dis = false;
|
||||
this.form.blt = row.id;
|
||||
|
|
|
@ -46,13 +46,16 @@
|
|||
<el-table-column label="#" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="人员类型" prop="type">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.type=='employee'||scope.row.type=='remployee'">[{{jobOptions[scope.row.job_state]}}] </span>
|
||||
<span>{{ userTypeOptions[scope.row.type] }}</span>
|
||||
<span v-if="scope.row.type=='employee' && scope.row.is_atwork" style="color:green;font-weight:bold">
|
||||
在岗
|
||||
</span>
|
||||
</template>
|
||||
</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="photo">
|
||||
<template #default="scope">
|
||||
<el-avatar :size="50" :src="scope.row.photo" shape="square"/>
|
||||
|
@ -209,6 +212,10 @@ export default {
|
|||
visitor: "访客",
|
||||
driver: "货车司机"
|
||||
},
|
||||
jobOptions: {
|
||||
10: "在职",
|
||||
20: "离职",
|
||||
},
|
||||
typeOptions: [
|
||||
{label:"正式员工", value:"employee"},
|
||||
{label:"相关方", value:"remployee"},
|
||||
|
@ -218,7 +225,7 @@ export default {
|
|||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getBltList();
|
||||
// this.getBltList();
|
||||
},
|
||||
methods: {
|
||||
//人员证书添加
|
||||
|
@ -351,7 +358,7 @@ export default {
|
|||
|
||||
getBltList() {
|
||||
let that = this;
|
||||
that.$API.third.tdevice.list.req({ type: 30, page: 0 }).then((res) => {
|
||||
that.$API.third.tdevice.list.req({ type: 30, page: 0, state: 'unused'}).then((res) => {
|
||||
that.tdevice = res;
|
||||
that.bltList = res.filter((item) => {
|
||||
return item.employee_ === null;
|
||||
|
|
|
@ -124,6 +124,13 @@
|
|||
<span v-if="form.door_range">{{form.door_range[0]}} 至 {{form.door_range[1]}}</span>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form-item label="最近定位信息">
|
||||
<span v-if="form.location">{{form.location.area_fix_name}}-
|
||||
<span v-if="form.location.xx_detail">经纬度({{form.location.xx_detail.longitude}}, {{form.location.xx_detail.latitude}})</span>
|
||||
</span>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-main>
|
||||
<el-footer v-if="mode!=='show'">
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
icon="el-icon-plus"
|
||||
@click="add"
|
||||
v-auth="'rpj.create'"
|
||||
></el-button>
|
||||
>新建项目</el-button>
|
||||
<el-select
|
||||
v-model="query.state"
|
||||
placeholder="项目状态"
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
>
|
||||
<el-row>
|
||||
<el-col :md="24" :sm="12" :xs="24">
|
||||
<el-form-item label="名称">
|
||||
<el-form-item label="名称" required>
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
type="text"
|
||||
|
@ -27,7 +27,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="24" :sm="12" :xs="24">
|
||||
<el-form-item label="项目类型">
|
||||
<el-form-item label="项目类型" required>
|
||||
<el-select v-model="form.type" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
|
@ -48,7 +48,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="24" :sm="12" :xs="24">
|
||||
<el-form-item label="进厂时间">
|
||||
<el-form-item label="进厂时间" required>
|
||||
<el-date-picker
|
||||
v-model="form.come_time"
|
||||
type="datetime"
|
||||
|
@ -57,7 +57,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="24" :sm="12" :xs="24">
|
||||
<el-form-item label="离厂时间">
|
||||
<el-form-item label="离厂时间" required>
|
||||
<el-date-picker
|
||||
v-model="form.leave_time"
|
||||
type="datetime"
|
||||
|
@ -85,7 +85,7 @@
|
|||
</el-col>
|
||||
|
||||
<el-col :md="24" :sm="12" :xs="24" v-if="rparty_show">
|
||||
<el-form-item label="相关方">
|
||||
<el-form-item label="相关方" required>
|
||||
<el-select v-model="form.rparty" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in rpartyOptions"
|
||||
|
|
|
@ -1,41 +1,24 @@
|
|||
<template>
|
||||
<el-drawer
|
||||
title="查看"
|
||||
v-model="visible"
|
||||
:size="1000"
|
||||
destroy-on-close
|
||||
@closed="$emit('closed')"
|
||||
>
|
||||
<el-drawer title="查看" v-model="visible" :size="1000" destroy-on-close @closed="$emit('closed')"
|
||||
:close-on-click-modal="false">
|
||||
<el-container v-loading="loading">
|
||||
<el-main>
|
||||
<el-card shadow="hover">
|
||||
<el-descriptions :column="3" title="基本信息">
|
||||
<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-descriptions :column="3" title="基本信息">
|
||||
<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>
|
||||
<el-card style="margin-top:8px" shadow="hover">
|
||||
<scTable
|
||||
ref="fileTable"
|
||||
:data="rpjFileList"
|
||||
row-key="id"
|
||||
hidePagination
|
||||
stripe
|
||||
hideDo
|
||||
style="height:200px"
|
||||
>
|
||||
<el-table-column
|
||||
label="#"
|
||||
fixed="left"
|
||||
type="index"
|
||||
width="50"
|
||||
></el-table-column>
|
||||
<scTable ref="fileTable" :data="rpjFileList" row-key="id" hidePagination stripe hideDo
|
||||
style="height:200px">
|
||||
<el-table-column label="#" fixed="left" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="资质内容" prop="name">
|
||||
<template #default="scope">
|
||||
{{ scope.row.file_cate_.name }}
|
||||
|
@ -44,22 +27,15 @@
|
|||
<el-table-column label="文件资料" prop="name">
|
||||
<template #default="scope">
|
||||
<div v-for="item in scope.row.files_" :key="item.id">
|
||||
<el-link style="font-size:12px" type="primary" :href="item.path" target="_blank">{{item.name}}</el-link>
|
||||
</div>
|
||||
<el-link style="font-size:12px" type="primary" :href="item.path" target="_blank">
|
||||
{{ item.name }}</el-link>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</el-card>
|
||||
<el-card style="margin-top:8px" shadow="hover">
|
||||
<scTable
|
||||
ref="table"
|
||||
:data="memeberList"
|
||||
row-key="id"
|
||||
height='auto'
|
||||
stripe
|
||||
hideDo
|
||||
hidePagination
|
||||
>
|
||||
<scTable ref="table" :data="memeberList" 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="remployee_.name">
|
||||
<template #default="scope">
|
||||
|
@ -69,12 +45,8 @@
|
|||
<el-table-column label="工作职责" prop="duty"></el-table-column>
|
||||
<el-table-column label="证书" prop="rcertificates">
|
||||
<template #default="scope">
|
||||
<el-tag
|
||||
v-for="item in scope.row.rcertificates_"
|
||||
:key="item.number"
|
||||
:label="item.name"
|
||||
:value="item.number"
|
||||
>{{ item.name }}
|
||||
<el-tag v-for="item in scope.row.rcertificates_" :key="item.number" :label="item.name"
|
||||
:value="item.number">{{ item.name }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -86,132 +58,126 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" width="60">
|
||||
<template #default="scope">
|
||||
<el-button link
|
||||
v-if="scope.row.blt_==null"
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="bindCard(scope.row,10)"
|
||||
v-auth="'blt_bind.create'"
|
||||
>绑卡
|
||||
</el-button>
|
||||
<el-button link v-if="scope.row.blt_ == null" type="primary" size="small"
|
||||
@click="bindCard(scope.row, 10)" v-auth="'blt_bind.create'">绑卡
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</el-card>
|
||||
</el-main>
|
||||
<ScBind v-model="showBindBlt" :bindBtl="bindBtl"
|
||||
:bindType="bindType" :bindName="bindName" :bindEmployee="bindEmployee"
|
||||
@success="showBindBltSuccess" @closed="showBindBltClose"></ScBind>
|
||||
<ScBind v-model="showBindBlt" :bindBtl="bindBtl" :bindType="bindType" :bindName="bindName"
|
||||
:bindEmployee="bindEmployee" @success="showBindBltSuccess" @closed="showBindBltClose"></ScBind>
|
||||
</el-container>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ScBind from "@/components/scBind/index.vue";
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
props: {
|
||||
rpjId: {
|
||||
type: String,
|
||||
default: ""
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ScBind
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
showBindBlt:false,
|
||||
state_: {
|
||||
10: "创建中",
|
||||
20: "审批中",
|
||||
30: "待入厂",
|
||||
40: "进行中",
|
||||
50: "已完成",
|
||||
},
|
||||
types_: {
|
||||
10: "建筑施工",
|
||||
20: "设备设施检维修",
|
||||
30: "保安保洁服务",
|
||||
40: "其他",
|
||||
},
|
||||
form:{},
|
||||
bindName: "",
|
||||
bindType:10,
|
||||
bindBtl:null,
|
||||
bindEmployee:'',
|
||||
rpjFileList: [],
|
||||
memeberList: [],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
import ScBind from "@/components/scBind/index.vue";
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
props: {
|
||||
rpjId: {
|
||||
type: String,
|
||||
default: ""
|
||||
}
|
||||
},
|
||||
components: {
|
||||
ScBind
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
showBindBlt: false,
|
||||
state_: {
|
||||
10: "创建中",
|
||||
20: "审批中",
|
||||
30: "待入厂",
|
||||
40: "进行中",
|
||||
50: "已完成",
|
||||
},
|
||||
types_: {
|
||||
10: "建筑施工",
|
||||
20: "设备设施检维修",
|
||||
30: "保安保洁服务",
|
||||
40: "其他",
|
||||
},
|
||||
form: {},
|
||||
bindName: "",
|
||||
bindType: 10,
|
||||
bindBtl: null,
|
||||
bindEmployee: '',
|
||||
rpjFileList: [],
|
||||
memeberList: [],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
/* this.getRpjfileList();
|
||||
this.getMemberList();*/
|
||||
},
|
||||
methods: {
|
||||
//访客绑卡
|
||||
bindCard(row,type){
|
||||
},
|
||||
methods: {
|
||||
//访客绑卡
|
||||
bindCard(row, type) {
|
||||
debugger;
|
||||
if (row.remployee == null) {
|
||||
this.$message.success("请审批通过后再进行绑卡操作");
|
||||
} else {
|
||||
debugger;
|
||||
if(row.remployee==null){
|
||||
this.$message.success("请审批通过后再进行绑卡操作");
|
||||
}else{
|
||||
debugger;
|
||||
this.bindName = row.remployee_.name;
|
||||
this.bindType = type;
|
||||
this.bindEmployee = row.remployee;
|
||||
this.bindName = row.remployee_.name;
|
||||
this.bindType = type;
|
||||
this.bindEmployee = row.remployee;
|
||||
if (type === 20) {
|
||||
this.bindBtl = row.blt_.mac;
|
||||
}
|
||||
this.showBindBlt = true;
|
||||
}
|
||||
},
|
||||
showBindBltSuccess(data){
|
||||
debugger;
|
||||
this.showBindBlt = data
|
||||
this.$refs.table.refresh();
|
||||
},
|
||||
showBindBltClose(data){
|
||||
debugger;
|
||||
this.showBindBlt = data
|
||||
},
|
||||
//显示
|
||||
open() {
|
||||
this.visible = true;
|
||||
return this;
|
||||
},
|
||||
//表单注入数据
|
||||
setData(data) {
|
||||
this.loading = true
|
||||
this.$API.rpm.rpj.item.req(data.id).then((res) => {
|
||||
this.loading = false
|
||||
this.form = res;
|
||||
this.getRpjfileList();
|
||||
this.getMemberList();
|
||||
this.visible = true;
|
||||
}).catch(e=>{this.loading=false});
|
||||
},
|
||||
//文件列表加载
|
||||
getRpjfileList() {
|
||||
this.$API.rpm.rpjfile.list.req({page: 0, rpj: this.form.id}).then((res) => {
|
||||
this.rpjFileList = res;
|
||||
});
|
||||
},
|
||||
//作业人员列表
|
||||
getMemberList() {
|
||||
this.$API.rpm.member.list.req({rpj: this.form.id, page: 0}).then((res) => {
|
||||
this.memeberList = res;
|
||||
console.log(res);
|
||||
});
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
showBindBltSuccess(data) {
|
||||
debugger;
|
||||
this.showBindBlt = data
|
||||
this.$refs.table.refresh();
|
||||
},
|
||||
showBindBltClose(data) {
|
||||
debugger;
|
||||
this.showBindBlt = data
|
||||
},
|
||||
//显示
|
||||
open() {
|
||||
this.visible = true;
|
||||
return this;
|
||||
},
|
||||
//表单注入数据
|
||||
setData(data) {
|
||||
this.loading = true
|
||||
this.$API.rpm.rpj.item.req(data.id).then((res) => {
|
||||
this.loading = false
|
||||
this.form = res;
|
||||
this.getRpjfileList();
|
||||
this.getMemberList();
|
||||
this.visible = true;
|
||||
}).catch(e => { this.loading = false });
|
||||
},
|
||||
//文件列表加载
|
||||
getRpjfileList() {
|
||||
this.$API.rpm.rpjfile.list.req({ page: 0, rpj: this.form.id }).then((res) => {
|
||||
this.rpjFileList = res;
|
||||
});
|
||||
},
|
||||
//作业人员列表
|
||||
getMemberList() {
|
||||
this.$API.rpm.member.list.req({ rpj: this.form.id, page: 0 }).then((res) => {
|
||||
this.memeberList = res;
|
||||
console.log(res);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.el-transfer {
|
||||
--el-transfer-panel-width: 345px !important;
|
||||
}
|
||||
.el-transfer {
|
||||
--el-transfer-panel-width: 345px !important;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,46 +1,36 @@
|
|||
<template>
|
||||
<el-drawer
|
||||
:title="titleMap[mode]"
|
||||
v-model="visible"
|
||||
:size="1000"
|
||||
destroy-on-close
|
||||
@closed="$emit('closed')"
|
||||
>
|
||||
<el-drawer :title="titleMap[mode]" v-model="visible" :size="1000" destroy-on-close @closed="$emit('closed')"
|
||||
:close-on-click-modal="false">
|
||||
<el-container v-loading="loading">
|
||||
<el-main>
|
||||
<el-card header="基本信息" shadow="hover">
|
||||
<el-descriptions :column="2">
|
||||
<el-descriptions-item label="来访概述:">{{
|
||||
form.name
|
||||
form.name
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="来访单位:">{{
|
||||
form.company
|
||||
form.company
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="来访人数:">
|
||||
<el-tag size="small">{{ form.count_people }}人</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="来访人员:">
|
||||
<el-tag
|
||||
size="small"
|
||||
v-for="item in form.visitors_"
|
||||
:key="item.id"
|
||||
>{{ item.visitor_.name }}</el-tag
|
||||
>
|
||||
<el-tag size="small" v-for="item in form.visitors_" :key="item.id">{{ item.visitor_.name }}</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="状态:">{{
|
||||
state_[form.state]
|
||||
state_[form.state]
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="来访时间:">{{
|
||||
form.visit_time
|
||||
form.visit_time
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="离开时间:">{{
|
||||
form.leave_time
|
||||
form.leave_time
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="来访事由:">{{
|
||||
purpose_[form.purpose]
|
||||
purpose_[form.purpose]
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="来访详述:">{{
|
||||
form.description
|
||||
form.description
|
||||
}}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="接待人:" v-if="form.receptionist_">
|
||||
|
@ -49,70 +39,63 @@
|
|||
</el-descriptions>
|
||||
</el-card>
|
||||
<el-card style="margin-top: 8px" shadow="hover" header="访客信息">
|
||||
<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>
|
||||
<scTable ref="table" :data="peoplelist" row-key="id" height="auto" stripe hideDo hidePagination>
|
||||
<el-table-column label="#" type="expand">
|
||||
<template #default="scope">
|
||||
<el-descriptions :column="3" style="margin-left:8px">
|
||||
<el-descriptions-item label="返乡时间:">{{ scope.row.return_date }}</el-descriptions-item>
|
||||
<el-descriptions-item label="来源地:">{{ scope.row.come_place }}</el-descriptions-item>
|
||||
<el-descriptions-item label="行程轨迹:">{{ scope.row.trip_desc }}</el-descriptions-item>
|
||||
<el-descriptions-item label="管控措施:">{{ scope.row.measure }}</el-descriptions-item>
|
||||
<el-descriptions-item label="核酸检测日期:">{{ scope.row.test_date }}</el-descriptions-item>
|
||||
<el-descriptions-item label="是否报备:">
|
||||
<el-space v-if="scope.row.is_reported == true">是</el-space>
|
||||
<el-space v-else>否</el-space>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="健康码:">
|
||||
<el-image style="width: 100px; height: 100px" :src="scope.row.health_code"
|
||||
:preview-src-list="[scope.row.health_code]" fit="cover" />
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="行程码:">
|
||||
<el-image style="width: 100px; height: 100px" :src="scope.row.travel_code"
|
||||
:preview-src-list="[scope.row.travel_code]" fit="cover" />
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="核酸报告:">
|
||||
<el-image style="width: 100px; height: 100px" :src="scope.row.test_report"
|
||||
:preview-src-list="[scope.row.test_report]" fit="cover" />
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</template>
|
||||
</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>
|
||||
<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>
|
||||
<el-table-column label="创建时间" prop="create_time"></el-table-column>
|
||||
<el-table-column label="操作" width="60">
|
||||
<template #default="scope">
|
||||
<el-button link
|
||||
v-if="scope.row.blt_==null"
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="bindCard(scope.row,10)"
|
||||
v-auth="'blt_bind.create'"
|
||||
>绑卡
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<template #default="scope">
|
||||
<el-button link v-if="scope.row.blt_ == null" type="primary" size="small"
|
||||
@click="bindCard(scope.row, 10)" v-auth="'blt_bind.create'">绑卡
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</el-card>
|
||||
</el-main>
|
||||
<ScBind v-model="showBindBlt" :bindBtl="bindBtl"
|
||||
:bindType="bindType" :bindName="bindName"
|
||||
:bindEmployee="bindEmployee"
|
||||
@success="showBindBltSuccess" @closed="showBindBltClose"></ScBind>
|
||||
<ScBind v-model="showBindBlt" :bindBtl="bindBtl" :bindType="bindType" :bindName="bindName"
|
||||
:bindEmployee="bindEmployee" @success="showBindBltSuccess" @closed="showBindBltClose"></ScBind>
|
||||
</el-container>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ScBind from "@/components/scBind/index.vue";
|
||||
export default {
|
||||
import ScBind from "@/components/scBind/index.vue";
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
components: {
|
||||
ScBind
|
||||
|
@ -136,12 +119,12 @@
|
|||
level: [{ required: true, message: "请输入" }],
|
||||
},
|
||||
bindName: "",
|
||||
bindType:10,
|
||||
bindBtl:null,
|
||||
bindEmployee:'',
|
||||
bindType: 10,
|
||||
bindBtl: null,
|
||||
bindEmployee: '',
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
showBindBlt:false,
|
||||
showBindBlt: false,
|
||||
selectionFilters: [],
|
||||
setFiltersVisible: false,
|
||||
purposeoptions: [
|
||||
|
@ -162,6 +145,7 @@
|
|||
30: "待入厂",
|
||||
40: "进行中",
|
||||
50: "已完成",
|
||||
60: "已关闭",
|
||||
},
|
||||
receptionistoptions: [],
|
||||
peoplelist: [],
|
||||
|
@ -170,50 +154,50 @@
|
|||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
//显示
|
||||
open(mode = "add") {
|
||||
//显示
|
||||
open(mode = "add") {
|
||||
this.mode = mode;
|
||||
this.visible = true;
|
||||
return this;
|
||||
},
|
||||
|
||||
//访客绑卡
|
||||
bindCard(row,type){
|
||||
bindCard(row, type) {
|
||||
debugger;
|
||||
if(row.visitor_.employee==null){
|
||||
if (row.visitor_.employee == null) {
|
||||
this.$message.success("请审批通过后再进行绑卡操作");
|
||||
}else{
|
||||
} else {
|
||||
debugger;
|
||||
this.bindName = row.visitor_.name;
|
||||
this.bindType = type;
|
||||
this.bindEmployee = row.visitor_.employee;
|
||||
if (type === 20) {
|
||||
this.bindBtl = row.blt_.mac;
|
||||
if (type === 20) {
|
||||
this.bindBtl = row.blt_.mac;
|
||||
}
|
||||
this.showBindBlt = true;
|
||||
}
|
||||
this.showBindBlt = true;
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
showBindBltSuccess(data){
|
||||
debugger;
|
||||
this.showBindBlt = data
|
||||
this.$refs.table.refresh();
|
||||
},
|
||||
|
||||
showBindBltClose(data){
|
||||
debugger;
|
||||
this.showBindBlt = false;
|
||||
},
|
||||
|
||||
},
|
||||
showBindBltSuccess(data) {
|
||||
debugger;
|
||||
this.showBindBlt = data
|
||||
this.$refs.table.refresh();
|
||||
},
|
||||
|
||||
showBindBltClose(data) {
|
||||
debugger;
|
||||
this.showBindBlt = false;
|
||||
},
|
||||
//访客接待人
|
||||
|
||||
|
||||
//表单注入数据
|
||||
setData(data) {
|
||||
this.loading = true
|
||||
this.$API.vm.visit.read.req(data.id).then((res) => {
|
||||
this.loading = false
|
||||
this.form = res;
|
||||
}).catch(e=>{this.loading = false});
|
||||
}).catch(e => { this.loading = false });
|
||||
|
||||
this.$API.vm.people.list.req({ visit: data.id, page: 0 }).then((res) => {
|
||||
this.peoplelist = res;
|
||||
|
|
|
@ -166,6 +166,7 @@ export default {
|
|||
|
||||
this.$API.wf.ticket.retryScript.req(row.id).then(res => {
|
||||
this.$message.success("任务执行下发成功");
|
||||
this.$refs.table.refresh();
|
||||
});
|
||||
},
|
||||
handleQuery() {
|
||||
|
|
|
@ -9,36 +9,24 @@
|
|||
height="400"
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column label="工单标题" min-width="100">
|
||||
<!-- <el-table-column label="工单标题" min-width="100">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.ticket_data.title">{{
|
||||
scope.row.ticket_data.title
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="进行状态" min-width="100">
|
||||
</el-table-column> -->
|
||||
<el-table-column label="进行状态">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.state_.name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作属性" min-width="100">
|
||||
<template #default="scope">
|
||||
<el-tag type="success" v-if="scope.row.transition_attribute == 1"
|
||||
>同意</el-tag
|
||||
>
|
||||
<el-tag
|
||||
type="success"
|
||||
v-else-if="scope.row.transition_attribute == 2"
|
||||
>拒绝</el-tag
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作类型" min-width="100">
|
||||
<el-table-column label="操作类型">
|
||||
<template #default="scope">
|
||||
<span>{{ interveneTypeOptions[scope.row.intervene_type] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作人" min-width="100">
|
||||
<el-table-column label="操作人">
|
||||
<template #default="scope">
|
||||
<el-span v-if="scope.row.participant_">{{
|
||||
scope.row.participant_.name
|
||||
|
@ -48,9 +36,21 @@
|
|||
}}</el-span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作意见" min-width="100" prop="suggestion">
|
||||
<el-table-column label="操作属性">
|
||||
<template #default="scope">
|
||||
<el-tag type="success" v-if="scope.row.transition_attribute == 1"
|
||||
>同意</el-tag
|
||||
>
|
||||
<el-tag
|
||||
type="danger"
|
||||
v-else-if="scope.row.transition_attribute == 2"
|
||||
>拒绝</el-tag
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="更新时间" min-width="100" prop="update_time">
|
||||
<el-table-column label="操作意见" prop="suggestion" :show-overflow-tooltip="true">
|
||||
</el-table-column>
|
||||
<el-table-column label="更新时间" prop="update_time">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-main>
|
||||
|
|
|
@ -7,21 +7,37 @@
|
|||
class="ticketRetry"
|
||||
v-if="!ticketDetail.script_run_last_result"
|
||||
@click="reStart"
|
||||
type="primary"
|
||||
type="warning"
|
||||
>
|
||||
重新执行
|
||||
</el-button>
|
||||
</el-card>
|
||||
<el-card style="margin-top: 8px" v-if="cateType==='visit'">
|
||||
<el-descriptions title="来访信息" :column="3">
|
||||
<el-card style="margin-top: 4px">
|
||||
<el-descriptions title="工单信息" :column="3">
|
||||
<el-descriptions-item label="工单流水号:">
|
||||
{{ticketDetail.sn }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="所属流程:">
|
||||
<span v-if="ticketDetail.workflow">{{ticketDetail.workflow_.name }}</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="创建时间:">
|
||||
{{ticketDetail.create_time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="工单标题:" :span="3">
|
||||
{{ticketDetail.title }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
<el-card style="margin-top: 4px" v-if="cateType==='visit'">
|
||||
<el-descriptions title="来访信息" :column="3">
|
||||
<el-descriptions-item label="来访概述:">
|
||||
{{visitDetail.name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="来访单位:">
|
||||
{{visitDetail.company }}
|
||||
<el-descriptions-item label="来访级别:">
|
||||
{{visitDetail.name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="来访事由:">
|
||||
{{purpose_[visitDetail.purpose] }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="来访人数:">
|
||||
<el-tag size="small">{{ visitDetail.count_people }}人</el-tag>
|
||||
|
@ -37,25 +53,20 @@
|
|||
<el-descriptions-item label="来访时间:">
|
||||
{{visitDetail.visit_time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="离开时间:">
|
||||
<el-descriptions-item label="离访时间:">
|
||||
{{visitDetail.leave_time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="来访事由:">
|
||||
{{purpose_[visitDetail.purpose] }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="来访详述:">
|
||||
{{visitDetail.description }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="接待人:" v-if="visitDetail.receptionist_">
|
||||
{{ visitDetail.receptionist_.name }}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<div style="text-align: center">
|
||||
<el-link type="primary" @click="showMoreVisit"> 更多信息</el-link>
|
||||
</div>
|
||||
<visit-dialog v-if="visitShow" ref="visitDialog"></visit-dialog>
|
||||
</el-card>
|
||||
<el-card style="margin-top: 8px" v-if="cateType==='rpj'">
|
||||
<el-card style="margin-top: 4px" v-if="cateType==='rpj'">
|
||||
<el-descriptions title="入厂项目" :column="3">
|
||||
<el-descriptions-item label="工单流水号:">
|
||||
{{ticketDetail.sn }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="相关方:">
|
||||
{{rpjDetail.rparty_name}}
|
||||
</el-descriptions-item>
|
||||
|
@ -86,11 +97,8 @@
|
|||
</div>
|
||||
<show-dialog v-if="rpjShow" ref="showDialog"></show-dialog>
|
||||
</el-card>
|
||||
<el-card style="margin-top: 8px" v-if="cateType==='opl'">
|
||||
<el-card style="margin-top: 4px" v-if="cateType==='opl'">
|
||||
<el-descriptions title="作业许可证" :column="3">
|
||||
<el-descriptions-item label="工单流水号:">
|
||||
{{ticketDetail.sn }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="所属作业:">
|
||||
<span v-if="oplDetail.operation">{{oplDetail.operation_.name }}</span>
|
||||
</el-descriptions-item>
|
||||
|
@ -119,7 +127,7 @@
|
|||
<show-dialog v-if="rpjShow" ref="showDialog"></show-dialog>
|
||||
</el-card>
|
||||
|
||||
<el-card style="margin-top: 8px" v-if="type!=='show'">
|
||||
<el-card style="margin-top: 4px" v-if="type!=='show'">
|
||||
<scTitle title="处理"></scTitle>
|
||||
<el-form :model="form" ref="addForm" label-width="100px" label-position="left">
|
||||
<el-form-item label="作业情况:" v-if="ticketDetail.state_&&ticketDetail.state_.key==='opl_close'">
|
||||
|
@ -166,7 +174,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card style="margin-top: 8px" header="处理日志">
|
||||
<el-card style="margin-top: 4px" header="处理日志">
|
||||
<work-details ref="workDetails" :ticket="ticketId"></work-details>
|
||||
</el-card>
|
||||
</el-main>
|
||||
|
@ -202,7 +210,7 @@
|
|||
<el-button class="filter-item" type="primary" @click="deliverNodeHandler('1')">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-drawer :size="'50%'" v-model="showLimited" title="作业许可证详情">
|
||||
<el-drawer :size="'50%'" v-model="showLimited" title="作业许可证详情" :close-on-click-modal="false">
|
||||
<sc-fire :id="projectId"></sc-fire>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
@ -211,12 +219,14 @@
|
|||
import workDetails from "./details.vue";
|
||||
import workStep from "./steps.vue";
|
||||
import showDialog from "../rpm/rpj_show.vue";
|
||||
import visitDialog from "../vm/visit_detial.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
workDetails,
|
||||
workStep,
|
||||
showDialog
|
||||
showDialog,
|
||||
visitDialog
|
||||
},
|
||||
name: "ticketdetail",
|
||||
data() {
|
||||
|
@ -245,6 +255,7 @@
|
|||
target_user: '',
|
||||
},
|
||||
rpjShow: false,
|
||||
visitShow: false,
|
||||
limitedAdd: false,
|
||||
showLimited: false,
|
||||
limitedDeliver: false,
|
||||
|
@ -322,6 +333,12 @@
|
|||
this.$refs.showDialog.open().setData({id: this.projectId});
|
||||
})
|
||||
},
|
||||
showMoreVisit() {
|
||||
this.visitShow = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.visitDialog.open('show').setData({id: this.projectId});
|
||||
})
|
||||
},
|
||||
//工单详情
|
||||
getticketItem() {
|
||||
this.mainLoading = true
|
||||
|
|
Loading…
Reference in New Issue