禅道bug修复
This commit is contained in:
parent
526f87d0dd
commit
7fc7bbed00
|
|
@ -5,4 +5,4 @@ VUE_APP_TITLE = 实名制管理系统
|
|||
ENV = 'production'
|
||||
|
||||
# 实名制管理系统/生产环境
|
||||
VUE_APP_BASE_API = '/prod-api'
|
||||
VUE_APP_BASE_API = '/hd-realname/prod-api'
|
||||
|
|
|
|||
|
|
@ -424,8 +424,8 @@ export default {
|
|||
// 删除已选条件
|
||||
onHandleClear(tag) {
|
||||
this.filterQueryList.forEach((item) => {
|
||||
if (item.label === tag.label) {
|
||||
item.value = '全部'
|
||||
if (item.label === tag.pLabel) {
|
||||
item.value = ''
|
||||
}
|
||||
})
|
||||
this.onHandleQuery()
|
||||
|
|
@ -517,6 +517,7 @@ export default {
|
|||
(j) => j.value === item.value,
|
||||
).label,
|
||||
value: item.value,
|
||||
pLabel: item.label,
|
||||
}
|
||||
})
|
||||
},
|
||||
|
|
|
|||
|
|
@ -68,6 +68,10 @@
|
|||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
v-hasPermi="['main:project:delete']"
|
||||
v-if="
|
||||
data.pmProjectVoList &&
|
||||
data.pmProjectVoList.length === 0
|
||||
"
|
||||
@click="onHandleDeleteAllProject(data)"
|
||||
>
|
||||
删除
|
||||
|
|
@ -93,6 +97,8 @@
|
|||
<el-form-item label="总工程名称" prop="mainProName">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="60"
|
||||
show-word-limit
|
||||
placeholder="请输入总工程名称"
|
||||
v-model="addOrEditForm.mainProName"
|
||||
/>
|
||||
|
|
@ -225,6 +231,10 @@ export default {
|
|||
trigger: 'blur',
|
||||
message: '请输入总工程名称',
|
||||
},
|
||||
{
|
||||
max: 60,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
volLevel: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -68,6 +68,10 @@
|
|||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
v-hasPermi="['dept:project:delete']"
|
||||
v-if="
|
||||
data.pmProjectVoList &&
|
||||
data.pmProjectVoList.length === 0
|
||||
"
|
||||
@click="onHandleDeleteDeptProject(data)"
|
||||
>
|
||||
删除
|
||||
|
|
@ -113,6 +117,8 @@
|
|||
<el-form-item label="项目部名称" prop="orgName">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="60"
|
||||
show-word-limit
|
||||
placeholder="请输入项目部名称"
|
||||
v-model="addOrEditForm.orgName"
|
||||
/>
|
||||
|
|
@ -252,6 +258,10 @@ export default {
|
|||
trigger: 'blur',
|
||||
message: '请输入项目部名称',
|
||||
},
|
||||
{
|
||||
max: 60,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
isEnable: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -51,6 +51,8 @@
|
|||
<el-form-item label="标段工程名称" prop="proName">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="60"
|
||||
show-word-limit
|
||||
placeholder="请输入标段工程名称"
|
||||
v-model="addOrEditForm.proName"
|
||||
/>
|
||||
|
|
@ -60,6 +62,8 @@
|
|||
<el-form-item label="标段工程简称" prop="simpleName">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="60"
|
||||
show-word-limit
|
||||
placeholder="请输入标段工程简称"
|
||||
v-model="addOrEditForm.simpleName"
|
||||
/>
|
||||
|
|
@ -138,6 +142,8 @@
|
|||
<el-form-item label="工程地址" prop="proAddress">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="60"
|
||||
show-word-limit
|
||||
placeholder="请输入总工程名称"
|
||||
v-model="addOrEditForm.proAddress"
|
||||
/>
|
||||
|
|
@ -219,14 +225,14 @@ export default {
|
|||
data() {
|
||||
// 自定义校验规则 判断竣工结束时间是否大于开工开始时间
|
||||
const validatePlanEndTime = (rule, value, callback) => {
|
||||
if (value <= this.addOrEditForm.planStartTime) {
|
||||
if (value <= this.addOrEditForm.startTime) {
|
||||
callback(new Error('竣工时间不能小于开工时间'))
|
||||
}
|
||||
callback()
|
||||
}
|
||||
|
||||
const validatePlanStartTime = (rule, value, callback) => {
|
||||
if (value >= this.addOrEditForm.planEndTime) {
|
||||
if (value >= this.addOrEditForm.endTime) {
|
||||
callback(new Error('开工时间不能大于竣工时间'))
|
||||
}
|
||||
callback()
|
||||
|
|
@ -272,6 +278,10 @@ export default {
|
|||
trigger: 'blur',
|
||||
message: '请输入标段工程名称',
|
||||
},
|
||||
{
|
||||
max: 60,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
simpleName: [
|
||||
{
|
||||
|
|
@ -279,6 +289,10 @@ export default {
|
|||
trigger: 'blur',
|
||||
message: '请输入标段工程简称',
|
||||
},
|
||||
{
|
||||
max: 60,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
proType: [
|
||||
{
|
||||
|
|
@ -310,6 +324,10 @@ export default {
|
|||
trigger: 'blur',
|
||||
message: '请输入工程地址',
|
||||
},
|
||||
{
|
||||
max: 60,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
startTime: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -135,6 +135,10 @@ export default {
|
|||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
formType: {
|
||||
type: Number,
|
||||
default: () => 1,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -80,6 +80,7 @@
|
|||
>
|
||||
<template slot="outerContent">
|
||||
<AddOrEditForm
|
||||
:formType="formType"
|
||||
:editFormData="editFormData"
|
||||
ref="addOrEditSubBaseInfoRef"
|
||||
/>
|
||||
|
|
@ -144,6 +145,7 @@ export default {
|
|||
name: 'corporateSeal',
|
||||
},
|
||||
],
|
||||
formType: 1,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -161,6 +163,7 @@ export default {
|
|||
// 新增或修改
|
||||
onHandleAddOrEditSubBaseInfo(type, data, title) {
|
||||
this.dialogConfig.outerTitle = `${title}分包商`
|
||||
this.formType = type
|
||||
|
||||
if (type === 2) {
|
||||
Object.assign(this.editFormData, data)
|
||||
|
|
@ -172,7 +175,7 @@ export default {
|
|||
|
||||
// 删除
|
||||
onHandleDeleteSubBaseInfo(data) {
|
||||
this.$confirm('确定删除该工程吗?', '温馨提示', {
|
||||
this.$confirm('确定删除该分包商吗?', '温馨提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ export const formLabel = [
|
|||
f_model: 'subName',
|
||||
},
|
||||
{
|
||||
f_type: 'sel',
|
||||
f_selList: [],
|
||||
f_type: 'ipt',
|
||||
// f_selList: [],
|
||||
isShow: false, // 是否展示label
|
||||
f_model: 'proName',
|
||||
f_label: '工程名称',
|
||||
|
|
|
|||
|
|
@ -91,13 +91,33 @@
|
|||
:file-list.sync="addOrEditForm.fileList_1"
|
||||
/> -->
|
||||
|
||||
<el-tag
|
||||
<!-- <el-tag
|
||||
type="primary"
|
||||
:key="item.id"
|
||||
v-for="item in addOrEditForm.fileList_1"
|
||||
>
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
</el-tag> -->
|
||||
|
||||
<div
|
||||
:key="item.id"
|
||||
class="files-content"
|
||||
v-for="item in addOrEditForm.fileList_1"
|
||||
>
|
||||
<el-tag
|
||||
@click="onHandlePreviewFile(item)"
|
||||
style="cursor: pointer"
|
||||
>
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleDownloadFile(item)"
|
||||
>
|
||||
下载
|
||||
</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -122,13 +142,33 @@
|
|||
prop="businessLicense"
|
||||
label="农民工工资已支付完成承诺书"
|
||||
>
|
||||
<el-tag
|
||||
<!-- <el-tag
|
||||
type="primary"
|
||||
:key="item.id"
|
||||
v-for="item in addOrEditForm.fileList_2"
|
||||
>
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
</el-tag> -->
|
||||
|
||||
<div
|
||||
:key="item.id"
|
||||
class="files-content"
|
||||
v-for="item in addOrEditForm.fileList_2"
|
||||
>
|
||||
<el-tag
|
||||
@click="onHandlePreviewFile(item)"
|
||||
style="cursor: pointer"
|
||||
>
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleDownloadFile(item)"
|
||||
>
|
||||
下载
|
||||
</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -322,6 +362,16 @@ export default {
|
|||
})
|
||||
}
|
||||
},
|
||||
|
||||
// 预览文件
|
||||
onHandlePreviewFile(item) {
|
||||
window.open(item.url, '_blank')
|
||||
},
|
||||
|
||||
// 下载文件
|
||||
onHandleDownloadFile(item) {
|
||||
window.open(item.url, '_blank')
|
||||
},
|
||||
},
|
||||
|
||||
async created() {
|
||||
|
|
@ -355,3 +405,12 @@ export default {
|
|||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.files-content {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
<el-form-item label="分包商合同编码" prop="subContractCode">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="60"
|
||||
show-word-limit
|
||||
placeholder="请输入分包商合同编码"
|
||||
v-model="addOrEditForm.subContractCode"
|
||||
/>
|
||||
|
|
@ -23,6 +25,8 @@
|
|||
<el-form-item label="分包商合同名称" prop="subContractName">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="60"
|
||||
show-word-limit
|
||||
placeholder="请输入分包商合同名称"
|
||||
v-model="addOrEditForm.subContractName"
|
||||
/>
|
||||
|
|
@ -140,6 +144,10 @@ export default {
|
|||
trigger: 'blur',
|
||||
message: '请输入分包商合同编码',
|
||||
},
|
||||
{
|
||||
max: 60,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
subContractName: [
|
||||
{
|
||||
|
|
@ -147,6 +155,10 @@ export default {
|
|||
trigger: 'blur',
|
||||
message: '请输入分包商合同名称',
|
||||
},
|
||||
{
|
||||
max: 60,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
subId: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@
|
|||
>
|
||||
修改
|
||||
</el-button>
|
||||
<el-button
|
||||
<!-- <el-button
|
||||
size="mini"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
@click="onHandleDeleteSubEntry(data)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</el-button> -->
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@
|
|||
:limit="3"
|
||||
:file-size="20"
|
||||
:multiple="true"
|
||||
:is-detail="formType === 3"
|
||||
v-if="formType === 2"
|
||||
:uploadTip="
|
||||
formType === 3
|
||||
? ''
|
||||
|
|
@ -130,6 +130,28 @@
|
|||
'docx',
|
||||
]"
|
||||
/>
|
||||
|
||||
<template v-if="formType === 3">
|
||||
<div
|
||||
:key="item.url"
|
||||
class="files-content"
|
||||
v-for="item in addOrEditForm.businessLicense"
|
||||
>
|
||||
<el-tag
|
||||
@click="onHandlePreviewFile(item)"
|
||||
style="cursor: pointer"
|
||||
>
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleDownloadFile(item)"
|
||||
>
|
||||
下载
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -308,9 +330,42 @@ export default {
|
|||
(item) => item.value === val,
|
||||
).label
|
||||
|
||||
const team = await getTeamSelectListAPI({ subId: val })
|
||||
this.getTeamAndProject(val)
|
||||
|
||||
// const team = await getTeamSelectListAPI({ subId: val })
|
||||
// const lotProject = await getLotProjectSelectListBySubIdAPI({
|
||||
// subId: val,
|
||||
// })
|
||||
|
||||
// this.teamSelectList = team.rows.map((item) => {
|
||||
// return {
|
||||
// value: item.id,
|
||||
// label: item.teamName,
|
||||
// }
|
||||
// })
|
||||
// this.lotProjectSelectList = lotProject.rows.map((item) => {
|
||||
// return {
|
||||
// value: item.id,
|
||||
// label: item.proName,
|
||||
// }
|
||||
// })
|
||||
},
|
||||
onChangeTeamIdFun(val) {
|
||||
this.addOrEditForm.teamName = this.teamSelectList.find(
|
||||
(item) => item.value === val,
|
||||
).label
|
||||
},
|
||||
onChangeProIdFun(val) {
|
||||
this.addOrEditForm.proName = this.lotProjectSelectList.find(
|
||||
(item) => item.value === val,
|
||||
).label
|
||||
},
|
||||
|
||||
// 获取班组和工程
|
||||
async getTeamAndProject(subId) {
|
||||
const team = await getTeamSelectListAPI({ subId })
|
||||
const lotProject = await getLotProjectSelectListBySubIdAPI({
|
||||
subId: val,
|
||||
subId,
|
||||
})
|
||||
|
||||
this.teamSelectList = team.rows.map((item) => {
|
||||
|
|
@ -326,15 +381,15 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
onChangeTeamIdFun(val) {
|
||||
this.addOrEditForm.teamName = this.teamSelectList.find(
|
||||
(item) => item.value === val,
|
||||
).label
|
||||
|
||||
// 预览文件
|
||||
onHandlePreviewFile(item) {
|
||||
window.open(item.url, '_blank')
|
||||
},
|
||||
onChangeProIdFun(val) {
|
||||
this.addOrEditForm.proName = this.lotProjectSelectList.find(
|
||||
(item) => item.value === val,
|
||||
).label
|
||||
|
||||
// 下载文件
|
||||
onHandleDownloadFile(item) {
|
||||
window.open(item.url, '_blank')
|
||||
},
|
||||
},
|
||||
|
||||
|
|
@ -369,6 +424,7 @@ export default {
|
|||
editFormData: {
|
||||
handler(newVal) {
|
||||
if (Object.keys(newVal).length > 0) {
|
||||
this.getTeamAndProject(newVal.subId)
|
||||
Object.assign(this.addOrEditForm, newVal)
|
||||
if (newVal.contractFile && newVal.contractFile.length > 0) {
|
||||
this.addOrEditForm.businessLicense =
|
||||
|
|
@ -379,6 +435,8 @@ export default {
|
|||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 获取班组和工程
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
|
|
@ -387,3 +445,12 @@ export default {
|
|||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.files-content {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -117,16 +117,16 @@ export const personFormLabel = [
|
|||
f_type: 'ipt',
|
||||
isShow: false, // 是否展示label
|
||||
},
|
||||
{
|
||||
f_label: '状态',
|
||||
f_model: 'status',
|
||||
f_type: 'sel',
|
||||
isShow: false, // 是否展示label
|
||||
f_selList: [
|
||||
{ value: 1, label: '正常' },
|
||||
{ value: 2, label: '异常' },
|
||||
],
|
||||
},
|
||||
// {
|
||||
// f_label: '状态',
|
||||
// f_model: 'status',
|
||||
// f_type: 'sel',
|
||||
// isShow: false, // 是否展示label
|
||||
// f_selList: [
|
||||
// { value: 1, label: '正常' },
|
||||
// { value: 2, label: '异常' },
|
||||
// ],
|
||||
// },
|
||||
{
|
||||
f_label: '日期',
|
||||
f_model: 'time',
|
||||
|
|
|
|||
|
|
@ -195,10 +195,13 @@ export default {
|
|||
|
||||
editRow: {}, // 修改时的当前行数据
|
||||
editUploadFileList: [], // 修改时已上传的文件列表
|
||||
isAdd: true,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleSelectPerson() {
|
||||
this.editRow = {}
|
||||
this.dialogConfig.outerTitle = '新增补卡人员以及补卡日期'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
handleCloseDialogOuter() {
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
v-if="data.checkStatus === 2"
|
||||
v-hasPermi="['attendance:machine:unbind']"
|
||||
@click="onHandleEditCardReplacementApply(data)"
|
||||
>
|
||||
|
|
@ -196,8 +197,8 @@ export default {
|
|||
this.selectProjectName = data.proName
|
||||
this.dialogConfig.outerTitle = '修改补卡申请'
|
||||
this.dialogConfig.outerWidth = '80%'
|
||||
this.dialogConfig.minHeight = '80vh'
|
||||
this.dialogConfig.maxHeight = '80h'
|
||||
this.dialogConfig.minHeight = '96vh'
|
||||
this.dialogConfig.maxHeight = '96vh'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -1658,7 +1658,9 @@ export default {
|
|||
|
||||
// 处理下载身份证读卡器驱动
|
||||
onHandleDownloadDriver() {
|
||||
window.open(window.origin + '/ZKIDROnline-Driven.zip')
|
||||
window.open(
|
||||
window.origin + '/hd-realname' + '/ZKIDROnline-Driven.zip',
|
||||
)
|
||||
},
|
||||
|
||||
// 断开websocket连接
|
||||
|
|
@ -1668,15 +1670,17 @@ export default {
|
|||
|
||||
// 人脸照片验证
|
||||
async onUploadChangeFaceImg(fileList) {
|
||||
console.log('人脸照片验证', fileList)
|
||||
|
||||
if (fileList.length > 0) {
|
||||
// 走验证逻辑
|
||||
|
||||
const formData = new FormData()
|
||||
formData.append('file', fileList[0].raw)
|
||||
const res = await checkFaceImageAPI(formData)
|
||||
console.log(res, 'res人脸照片验证结果')
|
||||
|
||||
if (res.code !== 200) {
|
||||
this.$modal.msgError(res.msg)
|
||||
this.idCardInfoForm.faceImg = []
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -254,7 +254,7 @@ export default {
|
|||
|
||||
// 关闭弹框
|
||||
handleCloseDialogOuter() {
|
||||
this.$refs.addOrEditFormContentRef.resetForm()
|
||||
// this.$refs.addOrEditFormContentRef.resetForm()
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
|
||||
|
|
@ -269,7 +269,7 @@ export default {
|
|||
|
||||
// 下载模板
|
||||
async onHandleDownloadTemplate() {
|
||||
window.open(window.origin + '/人员入场-模版.xlsx')
|
||||
window.open(window.origin + '/hd-realname' + '/人员入场-模版.xlsx')
|
||||
// this.download(
|
||||
// '/bmw/download/workerEinTemplate',
|
||||
// {},
|
||||
|
|
@ -285,16 +285,34 @@ export default {
|
|||
|
||||
// 确定上传
|
||||
async onHandleConfirmImport() {
|
||||
const formData = new FormData()
|
||||
formData.append('file', this.importFileList[0].raw)
|
||||
const res = await importEntryPersonAPI(formData)
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('导入成功')
|
||||
this.importFileList = []
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.$refs.dishonestyPersonTableRef.getTableList()
|
||||
if (this.importFileList.length > 0) {
|
||||
const formData = new FormData()
|
||||
formData.append('file', this.importFileList[0].raw)
|
||||
const res = await importEntryPersonAPI(formData)
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('导入成功')
|
||||
this.importFileList = []
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.$refs.dishonestyPersonTableRef.getTableList()
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
}
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
this.$confirm(
|
||||
'当前未选择文件,确定后将关闭上传页面?',
|
||||
'温馨提示',
|
||||
{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
},
|
||||
)
|
||||
.then(async () => {
|
||||
this.dialogConfig.outerVisible = false
|
||||
})
|
||||
.catch(() => {
|
||||
// console.log('取消')
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@
|
|||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column
|
||||
width="200"
|
||||
align="center"
|
||||
show-overflow-tooltip
|
||||
label="离场人员工资结算确认单"
|
||||
|
|
|
|||
|
|
@ -212,8 +212,9 @@ export default {
|
|||
}
|
||||
})
|
||||
const res = await batchExitPersonAPI(params)
|
||||
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('批量出场成功')
|
||||
this.$modal.msgWarning(res.msg)
|
||||
this.$refs.personExitTableRef.getTableList()
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ export default {
|
|||
|
||||
// 下载模板
|
||||
async onHandleDownloadTemplate() {
|
||||
window.open(window.origin + '/失信人员-模板.xlsx')
|
||||
window.open(window.origin + '/hd-realname' + '/失信人员-模板.xlsx')
|
||||
// this.download(
|
||||
// '/bmw/download/workerEinTemplate',
|
||||
// {},
|
||||
|
|
@ -479,16 +479,34 @@ export default {
|
|||
|
||||
// 确定上传
|
||||
async onHandleConfirmImport() {
|
||||
const formData = new FormData()
|
||||
formData.append('file', this.importFileList[0].raw)
|
||||
const res = await importDishonestyPersonAPI(formData)
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('导入成功')
|
||||
this.importFileList = []
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.$refs.dishonestyPersonTableRef.getTableList()
|
||||
if (this.importFileList.length > 0) {
|
||||
const formData = new FormData()
|
||||
formData.append('file', this.importFileList[0].raw)
|
||||
const res = await importDishonestyPersonAPI(formData)
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess('导入成功')
|
||||
this.importFileList = []
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.$refs.dishonestyPersonTableRef.getTableList()
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
}
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
this.$confirm(
|
||||
'当前未选择文件,确定后将关闭上传页面?',
|
||||
'温馨提示',
|
||||
{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
},
|
||||
)
|
||||
.then(async () => {
|
||||
this.dialogConfig.outerVisible = false
|
||||
})
|
||||
.catch(() => {
|
||||
// console.log('取消')
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -11,6 +11,17 @@
|
|||
}"
|
||||
:request-api="getRedAndGreenCountProjectListAPI"
|
||||
>
|
||||
<template slot="btn" slot-scope="{ queryParams }">
|
||||
<el-button
|
||||
plain
|
||||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-download"
|
||||
@click="onHandleExportProject(queryParams)"
|
||||
>
|
||||
导出
|
||||
</el-button>
|
||||
</template>
|
||||
<template slot="proName" slot-scope="{ data }">
|
||||
<span
|
||||
class="cursor-blue"
|
||||
|
|
@ -37,6 +48,17 @@
|
|||
}"
|
||||
:request-api="getRedAndGreenCountPersonListAPI"
|
||||
>
|
||||
<template slot="btn" slot-scope="{ queryParams }">
|
||||
<el-button
|
||||
plain
|
||||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-download"
|
||||
@click="onHandleExportPerson(queryParams)"
|
||||
>
|
||||
导出
|
||||
</el-button>
|
||||
</template>
|
||||
<template slot="lightStatus" slot-scope="{ data }">
|
||||
<el-tag
|
||||
size="mini"
|
||||
|
|
@ -167,6 +189,28 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
// 导出 工程
|
||||
onHandleExportProject(queryParams) {
|
||||
// this.download(
|
||||
// '/bmw/',
|
||||
// {
|
||||
// ...queryParams,
|
||||
// },
|
||||
// `工程列表.xlsx`,
|
||||
// )
|
||||
},
|
||||
|
||||
// 导出人员
|
||||
onHandleExportPerson(queryParams) {
|
||||
// this.download(
|
||||
// '/bmw/',
|
||||
// {
|
||||
// ...queryParams,
|
||||
// },
|
||||
// `人员列表.xlsx`,
|
||||
// )
|
||||
},
|
||||
|
||||
// 查看人员信息
|
||||
onHandleClickProName(proId) {
|
||||
this.proId = proId
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ const commonColumnsList = [
|
|||
]
|
||||
// 总工程列表和分包信息列表公共字段
|
||||
const commonColumnsListTwo = [
|
||||
{ t_props: 'projectCount', t_label: '所在工程' },
|
||||
{ t_props: 'projectCount', t_label: '所属分公司' },
|
||||
{ t_props: 'proName', t_label: '所在工程' },
|
||||
{ t_props: 'subCompanyName', t_label: '所属分公司' },
|
||||
]
|
||||
|
||||
export const allProjectFormLabel = [
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ export default {
|
|||
color: '#fcaf03',
|
||||
dataKey: 'attNum',
|
||||
name: '固定人员考勤率',
|
||||
rateKey: 'tempWorkerAttPercentage',
|
||||
rateKey: 'workerAttPercentage',
|
||||
},
|
||||
{
|
||||
color: '#fb4150',
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
"
|
||||
@click="onHandleOpenDialog('temp')"
|
||||
>
|
||||
{{ personAttendanceData.einAttPercentage }}
|
||||
{{ personAttendanceData.tempWorkerPercentage }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -90,12 +90,13 @@ export default {
|
|||
const { data: res } = await getPersonAttendanceAPI({
|
||||
subComId: this.selectCompany,
|
||||
})
|
||||
const { einNum, tempNum, workerPercentage, einAttPercentage } = res
|
||||
const { einNum, tempNum, workerPercentage, tempWorkerPercentage } =
|
||||
res
|
||||
this.personAttendanceData = {
|
||||
einNum,
|
||||
tempNum,
|
||||
workerPercentage,
|
||||
einAttPercentage,
|
||||
tempWorkerPercentage,
|
||||
}
|
||||
|
||||
this.percentage = workerPercentage.replace('%', '') * 1
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ export default {
|
|||
{
|
||||
type: 'bar',
|
||||
barWidth: 12,
|
||||
silent: false,
|
||||
silent: true,
|
||||
itemStyle: { color: '#e9eef4' },
|
||||
barGap: '-100%', // 置于底层
|
||||
data: new Array(xAxisData.length).fill(
|
||||
|
|
|
|||
|
|
@ -83,6 +83,8 @@
|
|||
<el-form-item label="公司名称" prop="companyName">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="60"
|
||||
show-word-limit
|
||||
placeholder="请输入公司名称"
|
||||
v-model="addOrEditForm.companyName"
|
||||
/>
|
||||
|
|
@ -156,6 +158,10 @@ export default {
|
|||
message: '请输入公司名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
max: 60,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
isEnable: [
|
||||
{ required: true, message: '请选择状态', trigger: 'blur' },
|
||||
|
|
|
|||
|
|
@ -89,6 +89,8 @@
|
|||
<el-form-item label="分公司名称" prop="subCompanyName">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="60"
|
||||
show-word-limit
|
||||
placeholder="请输入分公司名称"
|
||||
v-model="addOrEditForm.subCompanyName"
|
||||
/>
|
||||
|
|
@ -167,6 +169,10 @@ export default {
|
|||
message: '请输入分公司名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
max: 60,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
isEnable: [
|
||||
{ required: true, message: '请选择状态', trigger: 'blur' },
|
||||
|
|
@ -249,10 +255,9 @@ export default {
|
|||
// 新增或修改表单提交
|
||||
async onHandleAddOrEditJobTypeConfirm(data) {
|
||||
const res = await addAndEditDivideCompanyManageAPI(data)
|
||||
|
||||
if (res.code === 200) {
|
||||
this.$modal.msgSuccess(
|
||||
this.dialogConfig.outerTitle === '修改' + '成功',
|
||||
)
|
||||
this.$modal.msgSuccess(this.dialogConfig.outerTitle + '成功')
|
||||
this.handleCloseDialogOuter()
|
||||
this.$refs.divideCompanyManageTableRef.getTableList()
|
||||
this.$store.dispatch('getSubCompanySelectList') // 更新store中的分公司列表
|
||||
|
|
|
|||
|
|
@ -83,6 +83,8 @@
|
|||
<el-form-item label="工种名称" prop="postName">
|
||||
<el-input
|
||||
clearable
|
||||
maxlength="30"
|
||||
show-word-limit
|
||||
placeholder="请输入工种名称"
|
||||
v-model="addOrEditForm.postName"
|
||||
/>
|
||||
|
|
@ -169,6 +171,10 @@ export default {
|
|||
message: '请输入工种名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
max: 30,
|
||||
message: '最大长度为60个字符',
|
||||
},
|
||||
],
|
||||
isSpecial: [
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue