Merge branch 'bjxz-lk' into bjxz-dev

This commit is contained in:
xiaokangsix 2024-04-27 18:58:02 +08:00
commit e0098b0573
6 changed files with 315 additions and 142 deletions

View File

@ -86,7 +86,7 @@ export const workerAttendanceRuleDelete = data => post('xmgl/workerAttendanceRul
// 安全扣分详情 // 安全扣分详情
export const safeReduceDetailList = data => get('xmgl/xzDeductScoreRecord/list', data);//列表查询考勤规则信息 export const safeReduceDetailList = data => get('xmgl/xzDeductScoreRecord/list', data);//列表查询考勤规则信息
export const resetScoreApi = data => post('xmgl/xzDeductScoreRecord/edit', data);//重置分数 export const resetScoreApi = data => post('xmgl/workerInfo/updateById', data);//重置分数
export const selectJobListApi = data => get('xmgl/dictionariesRecord/selectJobList', data);//查询管理人员的职务类型和职务列表 export const selectJobListApi = data => get('xmgl/dictionariesRecord/selectJobList', data);//查询管理人员的职务类型和职务列表

View File

@ -0,0 +1,9 @@
/**
* api接口统一管理 访客预约记录
*/
import {post, get} from '../http'
export const xmglXzVisitorManageRecordPageApi = data => post('/xmgl/xzVisitorManageRecord/page', data); // 获取访客记录列表
export const xmglXzVisitorManageRecordDeleteApi = data => post('/xmgl/xzVisitorManageRecord/delete', data); // 获取访客记录列表

View File

@ -58,7 +58,7 @@
</div> </div>
</div> </div>
<!-- 来源 --> <!-- 来源 -->
<div class="title">{{ $t('message.sixComplete.carDense.from') + ':' }}{{ item.location }}</div> <div class="title">{{ $t('message.sixComplete.carDense.from') + ':' }}{{ item.alarmDesc }}</div>
<!-- 去处置 --> <!-- 去处置 -->
<div class="toDisposeOf" @click="openDialog(item)" v-if="!item.handleResult"> <div class="toDisposeOf" @click="openDialog(item)" v-if="!item.handleResult">
<el-button type="primary" size="small">去处置</el-button> <el-button type="primary" size="small">去处置</el-button>

View File

@ -405,9 +405,26 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="address" width="300px"> <!-- 测试 -->
<el-table-column prop="sendSuccessStatus">
<template v-slot="{row}">
<div>
下发状态
<span :class="['valuesColor', row.sendSuccessStatus===1? 'green': row.sendSuccessStatus===2?'red':row.sendSuccessStatus===3?'yellow':'']">
{{ row.sendSuccessStatus===1? '成功': row.sendSuccessStatus===2?'失败':row.sendSuccessStatus===3?'部分成功':'' }}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="address" width="400px">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="tableBtns"> <div class="tableBtns">
<el-button
size="medium"
type="text"
class="operationText"
@click="workerExitBtn(scope.row, 1)"
>查看下发详情</el-button
>
<!-- 退场 --> <!-- 退场 -->
<el-button <el-button
size="medium" size="medium"
@ -4635,4 +4652,19 @@ export default {
justify-content: space-around; justify-content: space-around;
} }
} }
.valuesColor{
color:#fff;
padding:3px;
}
.yellow{
background-color:#fbe000
}
.green{
background-color:#72cb40
}
.red{
background-color:#ec373e
}
</style> </style>

View File

@ -7,27 +7,83 @@
:model="searchForm" :model="searchForm"
ref="searchForm" ref="searchForm"
> >
<el-form-item <div style="display: flex; justify-content: space-between">
:label="$t('message.personnelPosition.beaconManage.workerName')" <div>
prop="workerName" <el-form-item label="访客姓名" prop="visitName">
> <el-input
<el-input v-model="searchForm.visitName"
v-model="searchForm.workerName" :placeholder="$t('message.personnelPosition.please_enter')"
:placeholder="$t('message.personnelPosition.please_enter')" clearable
clearable ></el-input>
></el-input> </el-form-item>
</el-form-item> <el-form-item label="预约人姓名" prop="appointmentName">
<el-form-item> <el-input
<el-button type="primary" plain @click="loadCardData"> v-model="searchForm.appointmentName"
{{ $t("message.personnelPosition.beaconManage.query") }} :placeholder="$t('message.personnelPosition.please_enter')"
</el-button> clearable
<el-button type="warning" plain @click="resetForm"> ></el-input>
{{ $t("message.personnelPosition.beaconManage.refresh") }} </el-form-item>
</el-button> <el-form-item label="预约审批结果" prop="isSuccess">
<el-button type="primary" @click="addPoint"> <el-select v-model="searchForm.isSuccess" placeholder="请选择">
<el-option
v-for="item in isSuccessState"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<!-- 状态 -->
<el-form-item label="当前状态" prop="isEnable">
<el-select v-model="searchForm.isEnable" placeholder="请选择">
<el-option
v-for="item in isEnableState"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<!-- 时间 -->
<el-form-item label="预约有效结束时间" prop="workerName">
<el-date-picker
v-model="searchForm.endTime"
type="daterange"
value-format="yyyy-MM-dd HH:mm:ss"
range-separator="—"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item label="预约有效开始时间" prop="workerName">
<el-date-picker
v-model="searchForm.beginTime"
type="daterange"
value-format="yyyy-MM-dd HH:mm:ss"
range-separator="—"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
</div>
<div style="width: 400px">
<el-form-item>
<el-button type="primary" plain @click="loadCardData">
{{ $t('message.personnelPosition.beaconManage.query') }}
</el-button>
<el-button type="warning" plain @click="resetForm">
{{ $t('message.personnelPosition.beaconManage.refresh') }}
</el-button>
<!-- <el-button type="primary" @click="addPoint">
{{ $t("message.laborDev.add2") }} {{ $t("message.laborDev.add2") }}
</el-button> </el-button> -->
</el-form-item> </el-form-item>
</div>
</div>
</el-form> </el-form>
</div> </div>
<div class="table_wrap whiteBlock"> <div class="table_wrap whiteBlock">
@ -39,45 +95,69 @@
:label="$t('message.personnelPosition.beaconManage.table.index')" :label="$t('message.personnelPosition.beaconManage.table.index')"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="workerName" prop="visitName"
:label="$t('message.laborDev.blackListNames')" label="访客姓名"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="addTime" prop="idCard"
:label="$t('message.laborDev.addDate')" label="访客身份证号"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
prop="addReason" prop="appointmentName"
:label="$t('message.laborDev.blackReason')" label="预约人姓名"
align="center" align="center"
></el-table-column> ></el-table-column>
<el-table-column
prop="isSuccess"
label="预约结果"
align="center"
>
<template v-slot="{row}">{{row.isSuccess=== 1 ? "预约成功" : row.isSuccess=== 0 ?'预约失败' : ''}}</template>
</el-table-column>
<el-table-column
prop="beginTime"
label="预约有效开始时间"
align="center"
></el-table-column>
<el-table-column
prop="endTime"
label="预约有效结束时间"
align="center"
></el-table-column>
<el-table-column
prop="isEnable"
label="当前状态"
align="center"
>
<template v-slot="{row}">{{row.isEnable === 1 ? "预约有效" : row.isEnable === 0 ? '预约已失效' : ''}}</template>
</el-table-column>
<el-table-column <el-table-column
:label="$t('message.personnelPosition.beaconManage.table.operation')" :label="$t('message.personnelPosition.beaconManage.table.operation')"
align="center" align="center"
width="250" width="150"
> >
<template slot-scope="scope"> <template v-slot="{row}">
<div class="tableBtns"> <div>
<div @click="editPoint(scope.row)" class="operationText"> <!-- <div @click="editPoint(scope.row)" class="operationText">
<img <img
src="@/assets/images/icon-edit.png" src="@/assets/images/icon-edit.png"
width="15px" width="15px"
height="15px" height="15px"
/> />
<span>{{ <span>{{
$t("message.personnelPosition.beaconManage.table.edit") $t('message.personnelPosition.beaconManage.table.edit')
}}</span> }}</span>
</div> </div> -->
<div @click="removePoint(scope.row)" class="operationText"> <div @click="removePoint(row)" class="operationText">
<img <img
src="@/assets/images/icon-delete.png" src="@/assets/images/icon-delete.png"
width="15px" width="15px"
height="15px" height="15px"
/> />
<span>{{ <span>{{
$t("message.personnelPosition.beaconManage.table.delete") $t('message.personnelPosition.beaconManage.table.delete')
}}</span> }}</span>
</div> </div>
</div> </div>
@ -160,14 +240,14 @@
@click="cardDialog = false" @click="cardDialog = false"
icon="el-icon-circle-close" icon="el-icon-circle-close"
size="medium" size="medium"
>{{ $t("message.personnelPosition.cancel") }} >{{ $t('message.personnelPosition.cancel') }}
</el-button> </el-button>
<el-button <el-button
type="primary" type="primary"
icon="el-icon-circle-check" icon="el-icon-circle-check"
@click="saveCardFn" @click="saveCardFn"
size="medium" size="medium"
>{{ $t("message.personnelPosition.determine") }} >{{ $t('message.personnelPosition.determine') }}
</el-button> </el-button>
</div> </div>
</el-form> </el-form>
@ -176,174 +256,218 @@
</div> </div>
</template> </template>
<script> <script>
import { getWorkerInfoListApi } from "@/assets/js/api/personnelPosition.js"; import { getWorkerInfoListApi } from '@/assets/js/api/personnelPosition.js'
import { import {
workerBlacklistListApi, workerBlacklistListApi,
workerBlacklistAddApi, workerBlacklistAddApi,
workerBlacklistEditApi, workerBlacklistEditApi,
workerBlacklistDeleteApi, workerBlacklistDeleteApi
} from "@/assets/js/api/laborPerson.js"; } from '@/assets/js/api/laborPerson.js'
import { xmglXzVisitorManageRecordPageApi,xmglXzVisitorManageRecordDeleteApi } from '@/assets/js/api/visitRecordAPI.js'
export default { export default {
data() { data () {
return { return {
searchForm: { searchForm: {
workerName: "", appointmentName:'', //
beginTime:'' , //
endTime:'', //
idCard:'',// 访
isEnable:'',//
isSuccess:'',//
visitName:''
}, },
pointList: [], pointList: [],
total: 0, total: 0,
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
cardDialogTitle: "", cardDialogTitle: '',
cardDialog: false, cardDialog: false,
cardForm: { cardForm: {
addReason: "", addReason: '',
addTime: "", addTime: '',
idCard: "", idCard: '',
reason: "", reason: '',
workerId: "", workerId: '',
workerName: "", workerName: '',
projectSn: this.$store.state.projectSn, projectSn: this.$store.state.projectSn
}, },
cardFormRules: { cardFormRules: {
addReason: [ addReason: [
{ {
required: true, required: true,
message: this.$t("message.personnelPosition.required"), message: this.$t('message.personnelPosition.required'),
trigger: "blur", trigger: 'blur'
}, }
], ],
addTime: [ addTime: [
{ {
required: true, required: true,
message: this.$t("message.personnelPosition.mandatory"), message: this.$t('message.personnelPosition.mandatory'),
trigger: "change", trigger: 'change'
}, }
],workerId: [ ],
workerId: [
{ {
required: true, required: true,
message: this.$t("message.personnelPosition.mandatory"), message: this.$t('message.personnelPosition.mandatory'),
trigger: "change", trigger: 'change'
}, }
], ]
}, },
isAdd: false, isAdd: false,
allPersonList: [], allPersonList: [],
}; isEnableState: [
{
value: 1,
label: '预约有效'
},
{
value: 0,
label: '预约已失效'
}
],
isSuccessState: [
{
value: 1,
label: '预约成功'
},
{
value: 0,
label: '预约失败'
}
],
dialogVisible:false
}
}, },
mounted() { mounted () {
this.loadAllPerson(); this.loadAllPerson()
this.loadCardData(); this.loadCardData()
}, },
methods: { methods: {
// //
loadAllPerson() { loadAllPerson () {
getWorkerInfoListApi({ getWorkerInfoListApi({
projectSn: this.$store.state.projectSn, projectSn: this.$store.state.projectSn,
userEnterpriseId: this.$store.state.userInfo.userEnterpriseId userEnterpriseId: this.$store.state.userInfo.userEnterpriseId
}).then((res) => { }).then(res => {
this.allPersonList = res.result; this.allPersonList = res.result
}); })
}, },
addPoint(event) { addPoint (event) {
this.isAdd = true; this.isAdd = true
this.cardDialog = true; this.cardDialog = true
this.cardForm = { this.cardForm = {
addReason: "", addReason: '',
addTime: "", addTime: '',
idCard: "", idCard: '',
reason: "", reason: '',
workerId: "", workerId: '',
workerName: "", workerName: '',
projectSn: this.$store.state.projectSn, projectSn: this.$store.state.projectSn
}; }
this.cardDialogTitle = this.$t("message.laborDev.add2"); this.cardDialogTitle = this.$t('message.laborDev.add2')
}, },
editPoint(item) { editPoint (item) {
this.isAdd = false; this.isAdd = false
this.cardDialogTitle = this.$t("message.laborDev.btn_edit"); // this.cardDialogTitle = this.$t('message.laborDev.btn_edit') //
this.cardForm = JSON.parse(JSON.stringify(item)); this.cardForm = JSON.parse(JSON.stringify(item))
this.cardDialog = true; this.cardDialog = true
}, },
removePoint(item) { removePoint (item) {
this.$confirm( this.$confirm(
this.$t("message.personnelPosition.beaconManage.table.confirmText") + this.$t('message.personnelPosition.beaconManage.table.confirmText') ,
"【" + this.$t('message.personnelPosition.beaconManage.table.Tips'),
item.workerName +
"】?",
this.$t("message.personnelPosition.beaconManage.table.Tips"),
{ {
type: "warning", type: 'warning'
} }
).then(() => { ).then(() => {
workerBlacklistDeleteApi({ id: item.id }).then((res) => { xmglXzVisitorManageRecordDeleteApi({ id: item.id }).then(res => {
this.loadCardData(); this.loadCardData()
this.$message.success( this.$message.success(
this.$t("message.personnelPosition.delete_success") this.$t('message.personnelPosition.delete_success')
); //! ) //!
}); })
}); })
}, },
// //
loadCardData() { loadCardData () {
workerBlacklistListApi({ xmglXzVisitorManageRecordPageApi({
projectSn: this.$store.state.projectSn, projectSn: this.$store.state.projectSn,
pageNo: this.pageNo, pageNo: this.pageNo,
pageSize: this.pageSize, pageSize: this.pageSize,
workerName: this.searchForm.workerName, appointmentName:this.searchForm.appointmentName,
userEnterpriseId: this.$store.state.userInfo.userEnterpriseId beginTime_begin:this.searchForm.beginTime[0],
}).then((res) => { beginTime_end:this.searchForm.beginTime[1],
this.pointList = res.result.records; endTime_begin:this.searchForm.endTime[0],
this.total = res.result.total; endTime_end:this.searchForm.endTime[1],
}); idCard:this.searchForm.idCard,
isEnable:this.searchForm.isEnable,
isSuccess:this.searchForm.isSuccess,
visitName:this.searchForm.visitName
}).then(res => {
this.pointList = res.result.records
this.total = res.result.total
})
}, },
// //
saveCardFn() { saveCardFn () {
this.$refs["cardForm"].validate((valid) => { this.$refs['cardForm'].validate(valid => {
if (valid) { if (valid) {
if (this.isAdd) { if (this.isAdd) {
// this.cardForm.floorId = this.currentFloorDetail.floorId // this.cardForm.floorId = this.currentFloorDetail.floorId
workerBlacklistAddApi(this.cardForm).then((res) => { workerBlacklistAddApi(this.cardForm).then(res => {
this.cardDialog = false; this.cardDialog = false
this.loadCardData(); this.loadCardData()
this.$message.success( this.$message.success(
this.$t("message.personnelPosition.add_success") this.$t('message.personnelPosition.add_success')
); // ) //
}); })
} else { } else {
workerBlacklistEditApi(this.cardForm).then((res) => { workerBlacklistEditApi(this.cardForm).then(res => {
this.cardDialog = false; this.cardDialog = false
this.loadCardData(); this.loadCardData()
this.$message.success( this.$message.success(
this.$t("message.personnelPosition.edit_success") this.$t('message.personnelPosition.edit_success')
); // ) //
}); })
} }
} else { } else {
console.log("error submit!!"); console.log('error submit!!')
return false; return false
} }
}); })
}, },
resetForm() { resetForm () {
this.$refs["searchForm"].resetFields(); this.$refs['searchForm'].resetFields()
this.loadCardData(); this.searchForm.beginTime = null
this.searchForm.endTime = null
this.loadCardData()
}, },
// //
handleSizeChange(val) { handleSizeChange (val) {
this.pageSize = val; this.pageSize = val
this.loadCardData(); this.loadCardData()
}, },
// //
handleCurrentChange(val) { handleCurrentChange (val) {
this.pageNo = val; this.pageNo = val
this.loadCardData(); this.loadCardData()
}, },
close() { close () {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.cardForm.clearValidate() this.$refs.cardForm.clearValidate()
}) })
}, }
}, }
}; }
</script> </script>
<style lang="less" scoped>
::v-deep {
.el-form-item {
margin-bottom: 5px;
}
}
</style>

View File

@ -30,7 +30,7 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="材料名称" prop="materialName"> <el-form-item label="批次" prop="materialName">
<el-input <el-input
v-model="queryInfo.materialName" v-model="queryInfo.materialName"
placeholder="请输入" placeholder="请输入"
@ -67,6 +67,11 @@
width="50" width="50"
> >
</el-table-column> </el-table-column>
<el-table-column
prop="enterpriseName"
align="center"
label="企业"
></el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
align="center" align="center"
@ -193,6 +198,7 @@ export default {
enterpriseId: "", enterpriseId: "",
materialName: "", materialName: "",
timeRange: [], timeRange: [],
id:''
}, },
pagInfo: { pagInfo: {
pageNo: 1, // pageNo: 1, //
@ -223,6 +229,7 @@ export default {
this.$message.warning("无法选中已禁用组织"); this.$message.warning("无法选中已禁用组织");
} else { } else {
this.selectVal = data.enterpriseName; this.selectVal = data.enterpriseName;
this.queryInfo.id = data.id
this.selectTreeData = data; this.selectTreeData = data;
this.queryInfo.enterpriseId = data.enterpriseId; this.queryInfo.enterpriseId = data.enterpriseId;
this.$refs.selectRef.blur(); this.$refs.selectRef.blur();
@ -263,7 +270,8 @@ export default {
projectSn: this.projectSn, projectSn: this.projectSn,
pageNo: this.pagInfo.pageNo, pageNo: this.pagInfo.pageNo,
pageSize: this.pagInfo.pageSize, pageSize: this.pagInfo.pageSize,
name: this.queryInfo.materialName name: this.queryInfo.materialName,
enterpriseId: this.queryInfo.id
}; };
if(this.queryInfo.timeRange && this.queryInfo.timeRange.length > 0){ if(this.queryInfo.timeRange && this.queryInfo.timeRange.length > 0){
data.entryTime_begin = this.queryInfo.timeRange[0]; data.entryTime_begin = this.queryInfo.timeRange[0];