Merge branch 'ehs' of https://e.coding.net/ctcdevteam/ehs/ehs_web into ehs
This commit is contained in:
commit
b86083b3de
|
|
@ -7,13 +7,8 @@ VUE_APP_TITLE = '曲阳金隅安全智能管控平台'
|
||||||
# 接口地址
|
# 接口地址
|
||||||
#VUE_APP_API_BASEURL = http://1.203.161.103:2800/api
|
#VUE_APP_API_BASEURL = http://1.203.161.103:2800/api
|
||||||
#VUE_APP_WS_API = 'ws://localhost:8000'
|
#VUE_APP_WS_API = 'ws://localhost:8000'
|
||||||
<<<<<<< HEAD
|
|
||||||
#VUE_APP_API_BASEURL = http://222.222.144.147:6013/api
|
|
||||||
VUE_APP_API_BASEURL = http://10.99.5.79:20309/api
|
|
||||||
=======
|
|
||||||
VUE_APP_API_BASEURL = http://222.222.144.147:6013/api
|
VUE_APP_API_BASEURL = http://222.222.144.147:6013/api
|
||||||
#VUE_APP_API_BASEURL = http://10.99.5.79:20309/api
|
#VUE_APP_API_BASEURL = http://10.99.5.79:20309/api
|
||||||
>>>>>>> 4322fb11086b4b90803c346a57bc2007dd984e5b
|
|
||||||
#VUE_APP_API_BASEURL = http://127.0.0.1:8000/api
|
#VUE_APP_API_BASEURL = http://127.0.0.1:8000/api
|
||||||
#VUE_APP_BASEURL = http://127.0.0.1:8000
|
#VUE_APP_BASEURL = http://127.0.0.1:8000
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,89 +2,64 @@
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header>
|
<el-header>
|
||||||
<div class="left-panel">
|
<div class="left-panel">
|
||||||
<el-select
|
<el-select v-model="query.type" placeholder="人员类型" @change="handleQuery" clearable style="margin-left: 2px">
|
||||||
v-model="query.type"
|
<el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
||||||
placeholder="人员类型"
|
</el-select>
|
||||||
@change="handleQuery"
|
<el-cascader v-model="query.belong_dept" :options="deptData" clearable placeholder="部门/单位" @change="handleQuery" :show-all-levels="false" :props="{emitPath:false,checkStrictly: true}" style="margin-left:4px"/>
|
||||||
clearable
|
|
||||||
style="margin-left: 2px"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in typeOptions"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="right-panel">
|
<div class="right-panel">
|
||||||
<div class="right-panel-search">
|
<div class="right-panel-search">
|
||||||
<el-input
|
<el-input v-model="query.search" placeholder="姓名/手机号" clearable @keyup.enter="handleQuery"></el-input>
|
||||||
v-model="query.search"
|
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
|
||||||
placeholder="姓名/手机号"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
></el-input>
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-search"
|
|
||||||
@click="handleQuery"
|
|
||||||
></el-button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main class="nopadding">
|
<el-main class="nopadding">
|
||||||
<scTable
|
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe
|
||||||
ref="table"
|
@resetQuery="resetQuery">
|
||||||
:apiObj="apiObj"
|
|
||||||
row-key="id"
|
|
||||||
@selection-change="selectionChange"
|
|
||||||
stripe
|
|
||||||
@resetQuery="resetQuery"
|
|
||||||
>
|
|
||||||
<!-- <el-table-column type="selection" width="50"></el-table-column> -->
|
<!-- <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="#" type="index" width="50"></el-table-column>
|
||||||
<el-table-column label="人员类型" prop="type">
|
<el-table-column label="人员类型" prop="type" width="160">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.type=='employee'||scope.row.type=='remployee'">[{{jobOptions[scope.row.job_state]}}] </span>
|
<span v-if="scope.row.type == 'employee' || scope.row.type == 'remployee'">[{{ jobOptions[scope.row.job_state] }}]
|
||||||
|
</span>
|
||||||
<span>{{ userTypeOptions[scope.row.type] }}</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 v-if="scope.row.type == 'employee' && scope.row.is_atwork" style="color:green;font-weight:bold">
|
||||||
在岗
|
在岗
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="姓名" prop="name">
|
<el-table-column label="姓名" prop="name" width="120">
|
||||||
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="证件照" prop="photo">
|
<el-table-column label="性别" prop="gender" width="60">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="证件照" prop="photo" width="120">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-avatar :size="50" :src="scope.row.photo" shape="square"/>
|
<el-avatar :size="50" :src="scope.row.photo" shape="square" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column label="手机号" prop="phone" width="120"></el-table-column>
|
||||||
label="手机号"
|
<el-table-column label="部门" prop="belong_dept" width="280">
|
||||||
prop="phone"
|
|
||||||
width="120"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column label="部门" prop="belong_dept" width="180">
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.belong_dept_">{{
|
<span v-if="scope.row.belong_dept_">{{
|
||||||
scope.row.belong_dept_.name
|
scope.row.belong_dept_.name
|
||||||
}}</span>
|
}}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="定位卡号" prop="blt_">
|
<el-table-column label="身份证号" prop="id_number" width="180"></el-table-column>
|
||||||
|
<el-table-column label="系统账号" prop="user" width="180"><template #default="scope">
|
||||||
|
<span v-if="scope.row.user">{{
|
||||||
|
scope.row.user_.username
|
||||||
|
}}</span>
|
||||||
|
</template></el-table-column>
|
||||||
|
<el-table-column label="定位卡号" prop="blt_" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.blt_">{{
|
<span v-if="scope.row.blt_">{{
|
||||||
scope.row.blt_.code
|
scope.row.blt_.code
|
||||||
}}</span>
|
}}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column label="创建时间" prop="create_time"></el-table-column>
|
||||||
label="创建时间"
|
|
||||||
prop="create_time"
|
|
||||||
width="180"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column label="操作" fixed="right" align="left" width="170">
|
<el-table-column label="操作" fixed="right" align="left" width="170">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<!-- <el-button
|
<!-- <el-button
|
||||||
|
|
@ -95,50 +70,25 @@
|
||||||
v-auth="'employee.update'"
|
v-auth="'employee.update'"
|
||||||
>证书
|
>证书
|
||||||
</el-button> -->
|
</el-button> -->
|
||||||
<el-button
|
<el-button link type="success" size="small" @click="handleForm('show', scope.row)">查看
|
||||||
link
|
|
||||||
type="success"
|
|
||||||
size="small"
|
|
||||||
@click="handleForm('show', scope.row)"
|
|
||||||
>查看
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button link type="warning" size="small" v-auth="'employee.update'"
|
||||||
link
|
@click="handleForm('edit', scope.row)">编辑
|
||||||
type="warning"
|
|
||||||
size="small"
|
|
||||||
v-auth="'employee.update'"
|
|
||||||
@click="handleForm('edit', scope.row)"
|
|
||||||
>编辑
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button v-if="scope.row.blt_" link type="danger" size="small" @click="handleBindBlt(20, scope.row)">解绑
|
||||||
v-if="scope.row.blt_"
|
|
||||||
link
|
|
||||||
type="danger"
|
|
||||||
size="small"
|
|
||||||
@click="handleBindBlt(20, scope.row)"
|
|
||||||
>解绑
|
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button v-else link type="primary" size="small" @click="handleBindBlt(10, scope.row)">绑卡
|
||||||
v-else
|
|
||||||
link
|
|
||||||
type="primary"
|
|
||||||
size="small"
|
|
||||||
@click="handleBindBlt(10, scope.row)"
|
|
||||||
>绑卡
|
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</scTable>
|
</scTable>
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
<save-dialog
|
<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSaveSuccess" @closed="dialog.save = false">
|
||||||
v-if="dialog.save"
|
</save-dialog>
|
||||||
ref="saveDialog"
|
|
||||||
@success="handleSaveSuccess"
|
|
||||||
@closed="dialog.save = false"
|
|
||||||
></save-dialog>
|
|
||||||
|
|
||||||
<ScBind v-if="showBindBlt" :bindBtl="bindBtl" :bindType="bindType" :bindName="bindName" :bindEmployee="bindEmployee" @closed="closed"></ScBind>
|
<ScBind v-if="showBindBlt" :bindBtl="bindBtl" :bindType="bindType" :bindName="bindName" :bindEmployee="bindEmployee"
|
||||||
|
@closed="closed"></ScBind>
|
||||||
<!-- <el-Dialog
|
<!-- <el-Dialog
|
||||||
title="绑定定位卡"
|
title="绑定定位卡"
|
||||||
v-model="showBindBlt"
|
v-model="showBindBlt"
|
||||||
|
|
@ -174,19 +124,21 @@
|
||||||
<script>
|
<script>
|
||||||
import saveDialog from "./ep_form.vue";
|
import saveDialog from "./ep_form.vue";
|
||||||
import ScBind from "@/components/scBind/index.vue";
|
import ScBind from "@/components/scBind/index.vue";
|
||||||
|
import { genTree } from "@/utils/verificate";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "employee",
|
name: "employee",
|
||||||
components: {
|
components: {
|
||||||
saveDialog,
|
saveDialog,
|
||||||
ScBind
|
ScBind
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialog: {
|
dialog: {
|
||||||
save: false,
|
save: false,
|
||||||
permission: false,
|
permission: false,
|
||||||
},
|
},
|
||||||
|
deptData:[],
|
||||||
apiObj: this.$API.hrm.employee.list,
|
apiObj: this.$API.hrm.employee.list,
|
||||||
query: {},
|
query: {},
|
||||||
tdevice: [],
|
tdevice: [],
|
||||||
|
|
@ -198,9 +150,9 @@ export default {
|
||||||
showBindBlt: false,
|
showBindBlt: false,
|
||||||
bltList: [],
|
bltList: [],
|
||||||
bindName: "",
|
bindName: "",
|
||||||
bindType:10,
|
bindType: 10,
|
||||||
bindBtl:null,
|
bindBtl: null,
|
||||||
bindEmployee:'',
|
bindEmployee: '',
|
||||||
form: {
|
form: {
|
||||||
type: 10,
|
type: 10,
|
||||||
blt: "",
|
blt: "",
|
||||||
|
|
@ -217,17 +169,22 @@ export default {
|
||||||
20: "离职",
|
20: "离职",
|
||||||
},
|
},
|
||||||
typeOptions: [
|
typeOptions: [
|
||||||
{label:"正式员工", value:"employee"},
|
{ label: "正式员工", value: "employee" },
|
||||||
{label:"相关方", value:"remployee"},
|
{ label: "相关方", value: "remployee" },
|
||||||
{label:"访客", value:"visitor"},
|
{ label: "访客", value: "visitor" },
|
||||||
{label:"货车司机", value:"driver"}
|
{ label: "货车司机", value: "driver" }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.getBltList();
|
// this.getBltList();
|
||||||
|
this.getDept();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
async getDept() {
|
||||||
|
let res = await this.$API.system.dept.list.req({ page: 0, type__in: 'dept,rparty' });
|
||||||
|
this.deptData = genTree(res);
|
||||||
|
},
|
||||||
//人员证书添加
|
//人员证书添加
|
||||||
// Addcertificate(row) {
|
// Addcertificate(row) {
|
||||||
// this.$router.push({
|
// this.$router.push({
|
||||||
|
|
@ -303,7 +260,7 @@ export default {
|
||||||
loading.close();
|
loading.close();
|
||||||
this.$message.success("操作成功");
|
this.$message.success("操作成功");
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => { });
|
||||||
},
|
},
|
||||||
//表格选择后回调事件
|
//表格选择后回调事件
|
||||||
selectionChange(selection) {
|
selectionChange(selection) {
|
||||||
|
|
@ -352,13 +309,13 @@ export default {
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.query = {};
|
this.query = {};
|
||||||
},
|
},
|
||||||
closed(data){
|
closed(data) {
|
||||||
this.showBindBlt = false;
|
this.showBindBlt = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
getBltList() {
|
getBltList() {
|
||||||
let that = this;
|
let that = this;
|
||||||
that.$API.third.tdevice.list.req({ type: 30, page: 0, state: 'unused'}).then((res) => {
|
that.$API.third.tdevice.list.req({ type: 30, page: 0, state: 'unused' }).then((res) => {
|
||||||
that.tdevice = res;
|
that.tdevice = res;
|
||||||
that.bltList = res.filter((item) => {
|
that.bltList = res.filter((item) => {
|
||||||
return item.employee_ === null;
|
return item.employee_ === null;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
>
|
>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :md="24" :sm="12" :xs="24">
|
<el-col :md="24" :sm="12" :xs="24">
|
||||||
<el-form-item label="名称" required>
|
<el-form-item label="名称" prop="name">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.name"
|
v-model="form.name"
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
</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">
|
||||||
<el-form-item label="项目类型" required>
|
<el-form-item label="项目类型" prop="type">
|
||||||
<el-select v-model="form.type" style="width: 100%">
|
<el-select v-model="form.type" style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in typeOptions"
|
v-for="item in typeOptions"
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
</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">
|
||||||
<el-form-item label="合同编号">
|
<el-form-item label="合同编号" prop="contract_number">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.contract_number"
|
v-model="form.contract_number"
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -48,7 +48,7 @@
|
||||||
</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">
|
||||||
<el-form-item label="进厂时间" required>
|
<el-form-item label="进厂时间" prop="come_time">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.come_time"
|
v-model="form.come_time"
|
||||||
type="datetime"
|
type="datetime"
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
</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">
|
||||||
<el-form-item label="离厂时间" required>
|
<el-form-item label="离厂时间" prop="leave_time">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="form.leave_time"
|
v-model="form.leave_time"
|
||||||
type="datetime"
|
type="datetime"
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :md="24" :sm="12" :xs="24" v-if="rparty_show">
|
<el-col :md="24" :sm="12" :xs="24" v-if="rparty_show">
|
||||||
<el-form-item label="相关方" required>
|
<el-form-item label="相关方" prop="rparty">
|
||||||
<el-select v-model="form.rparty" style="width: 100%">
|
<el-select v-model="form.rparty" style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in rpartyOptions"
|
v-for="item in rpartyOptions"
|
||||||
|
|
@ -125,7 +125,13 @@
|
||||||
show: "查看",
|
show: "查看",
|
||||||
},
|
},
|
||||||
form: {},
|
form: {},
|
||||||
rules: {},
|
rules: {
|
||||||
|
name: [{required: true, message: "请输入"}],
|
||||||
|
type: [{required: true, message: " 请选择"}],
|
||||||
|
contract_number: [{required: true, message: "请输入"}],
|
||||||
|
come_time: [{required: true, message: "请选择"}],
|
||||||
|
leave_time: [{required: true, message: "请选择"}],
|
||||||
|
},
|
||||||
visible: false,
|
visible: false,
|
||||||
isSaveing: false,
|
isSaveing: false,
|
||||||
selectionFilters: [],
|
selectionFilters: [],
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue