This commit is contained in:
shijing 2022-10-27 16:34:52 +08:00
commit b86083b3de
3 changed files with 69 additions and 111 deletions

View File

@ -7,13 +7,8 @@ VUE_APP_TITLE = '曲阳金隅安全智能管控平台'
# 接口地址
#VUE_APP_API_BASEURL = http://1.203.161.103:2800/api
#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://10.99.5.79:20309/api
>>>>>>> 4322fb11086b4b90803c346a57bc2007dd984e5b
#VUE_APP_API_BASEURL = http://127.0.0.1:8000/api
#VUE_APP_BASEURL = http://127.0.0.1:8000

View File

@ -2,89 +2,64 @@
<el-container>
<el-header>
<div class="left-panel">
<el-select
v-model="query.type"
placeholder="人员类型"
@change="handleQuery"
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>
<el-select v-model="query.type" placeholder="人员类型" @change="handleQuery" 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>
<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"/>
</div>
<div class="right-panel">
<div class="right-panel-search">
<el-input
v-model="query.search"
placeholder="姓名/手机号"
clearable
@keyup.enter="handleQuery"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
<el-input v-model="query.search" placeholder="姓名/手机号" clearable @keyup.enter="handleQuery"></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
row-key="id"
@selection-change="selectionChange"
stripe
@resetQuery="resetQuery"
>
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe
@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="type">
<el-table-column label="人员类型" prop="type" width="160">
<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 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>
</template>
</el-table-column>
<el-table-column label="姓名" prop="name">
<el-table-column label="姓名" prop="name" width="120">
</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">
<el-avatar :size="50" :src="scope.row.photo" shape="square"/>
<el-avatar :size="50" :src="scope.row.photo" shape="square" />
</template>
</el-table-column>
<el-table-column
label="手机号"
prop="phone"
width="120"
></el-table-column>
<el-table-column label="部门" prop="belong_dept" width="180">
<el-table-column label="手机号" prop="phone" width="120"></el-table-column>
<el-table-column label="部门" prop="belong_dept" width="280">
<template #default="scope">
<span v-if="scope.row.belong_dept_">{{
scope.row.belong_dept_.name
scope.row.belong_dept_.name
}}</span>
</template>
</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">
<span v-if="scope.row.blt_">{{
scope.row.blt_.code
scope.row.blt_.code
}}</span>
</template>
</el-table-column>
<el-table-column
label="创建时间"
prop="create_time"
width="180"
></el-table-column>
<el-table-column label="创建时间" prop="create_time"></el-table-column>
<el-table-column label="操作" fixed="right" align="left" width="170">
<template #default="scope">
<!-- <el-button
@ -95,50 +70,25 @@
v-auth="'employee.update'"
>证书
</el-button> -->
<el-button
link
type="success"
size="small"
@click="handleForm('show', scope.row)"
>查看
<el-button link type="success" size="small" @click="handleForm('show', scope.row)">查看
</el-button>
<el-button
link
type="warning"
size="small"
v-auth="'employee.update'"
@click="handleForm('edit', scope.row)"
>编辑
<el-button link type="warning" size="small" v-auth="'employee.update'"
@click="handleForm('edit', scope.row)">编辑
</el-button>
<el-button
v-if="scope.row.blt_"
link
type="danger"
size="small"
@click="handleBindBlt(20, scope.row)"
>解绑
<el-button v-if="scope.row.blt_" link type="danger" size="small" @click="handleBindBlt(20, scope.row)">解绑
</el-button>
<el-button
v-else
link
type="primary"
size="small"
@click="handleBindBlt(10, scope.row)"
>绑卡
<el-button v-else link type="primary" size="small" @click="handleBindBlt(10, scope.row)">绑卡
</el-button>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
<save-dialog
v-if="dialog.save"
ref="saveDialog"
@success="handleSaveSuccess"
@closed="dialog.save = false"
></save-dialog>
<save-dialog v-if="dialog.save" 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
title="绑定定位卡"
v-model="showBindBlt"
@ -174,19 +124,21 @@
<script>
import saveDialog from "./ep_form.vue";
import ScBind from "@/components/scBind/index.vue";
import { genTree } from "@/utils/verificate";
export default {
name: "employee",
components: {
saveDialog,
ScBind
},
},
data() {
return {
dialog: {
save: false,
permission: false,
},
deptData:[],
apiObj: this.$API.hrm.employee.list,
query: {},
tdevice: [],
@ -198,9 +150,9 @@ export default {
showBindBlt: false,
bltList: [],
bindName: "",
bindType:10,
bindBtl:null,
bindEmployee:'',
bindType: 10,
bindBtl: null,
bindEmployee: '',
form: {
type: 10,
blt: "",
@ -217,17 +169,22 @@ export default {
20: "离职",
},
typeOptions: [
{label:"正式员工", value:"employee"},
{label:"相关方", value:"remployee"},
{label:"访客", value:"visitor"},
{label:"货车司机", value:"driver"}
{ label: "正式员工", value: "employee" },
{ label: "相关方", value: "remployee" },
{ label: "访客", value: "visitor" },
{ label: "货车司机", value: "driver" }
]
};
},
mounted() {
// this.getBltList();
this.getDept();
},
methods: {
async getDept() {
let res = await this.$API.system.dept.list.req({ page: 0, type__in: 'dept,rparty' });
this.deptData = genTree(res);
},
//
// Addcertificate(row) {
// this.$router.push({
@ -303,7 +260,7 @@ export default {
loading.close();
this.$message.success("操作成功");
})
.catch(() => {});
.catch(() => { });
},
//
selectionChange(selection) {
@ -352,13 +309,13 @@ export default {
resetQuery() {
this.query = {};
},
closed(data){
closed(data) {
this.showBindBlt = false;
},
getBltList() {
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.bltList = res.filter((item) => {
return item.employee_ === null;

View File

@ -17,7 +17,7 @@
>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="名称" required>
<el-form-item label="名称" prop="name">
<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="项目类型" required>
<el-form-item label="项目类型" prop="type">
<el-select v-model="form.type" style="width: 100%">
<el-option
v-for="item in typeOptions"
@ -39,7 +39,7 @@
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="合同编号">
<el-form-item label="合同编号" prop="contract_number">
<el-input
v-model="form.contract_number"
type="text"
@ -48,7 +48,7 @@
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="进厂时间" required>
<el-form-item label="进厂时间" prop="come_time">
<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="离厂时间" required>
<el-form-item label="离厂时间" prop="leave_time">
<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="相关方" required>
<el-form-item label="相关方" prop="rparty">
<el-select v-model="form.rparty" style="width: 100%">
<el-option
v-for="item in rpartyOptions"
@ -125,7 +125,13 @@
show: "查看",
},
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,
isSaveing: false,
selectionFilters: [],