ruanqi 3 years ago
parent
commit
57e20a85d7
  1. 14
      src/api/eam/eam.js
  2. 424
      src/views/modules/eam/eamAdmin.vue
  3. 136
      src/views/modules/eam/eamadmin-add-or-update.vue

14
src/api/eam/eam.js

@ -0,0 +1,14 @@
import { createAPI } from "@/utils/httpRequest.js";
//---------------机修人员-------------------
export const eamAdminSearch = data => createAPI(`api/pms/eam/eamAdminSearch`,'post',data)
export const eamAdminSave = data => createAPI(`api/pms/eam/eamAdminSave`,'post',data)
export const eamAdminEdit = data => createAPI(`api/pms/eam/eamAdminEdit`,'post',data)
export const eamAdminDelete = data => createAPI(`api/pms/eam/eamAdminDelete`,'post',data)
export const initAdminLevel = data => createAPI(`api/pms/eam/initAdminLevel`,'post',data)
//获取所有部门
export const getEmpyDeptList = data => createAPI(`api/pms/eam/getEmpyDeptList`,'post',data)

424
src/views/modules/eam/eamAdmin.vue

@ -0,0 +1,424 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="searchData" @keyup.enter.native="getDataList()">
<el-form-item :label="'工厂编码'">
<el-input v-model="searchData.site" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'机修人员编码'">
<el-input v-model="searchData.adminID" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'工厂编码'">
<el-input v-model="searchData.adminName" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'在用'">
<el-select filterable v-model="searchData.active" style="width: 130px">
<el-option label="全部" value=""></el-option>
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
<el-button type="primary" @click="addModal()">新增</el-button>
<!-- <el-button type="danger" @click="deleteAdmin()" :disabled="dataListSelections.length <= 0">批量删除</el-button>-->
</el-form-item>
</el-form>
<el-table
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- header-align="center"-->
<!-- align="center"-->
<!-- width="50">-->
<!-- </el-table-column>-->
<el-table-column
v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="100"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="updateModal(scope.row.site)">修改</el-button>
<el-button type="text" size="small" @click="deleteAdmin(scope.row.site)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="searchData.page"
:page-sizes="[10, 20, 50, 100]"
:page-size="searchData.limit"
:total="searchData.totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<el-dialog title="派工" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="600px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="机修人员编码:">
<el-input v-model="modalData.adminID" :disabled="modalDisableFlag" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="机修人员姓名:">
<el-input v-model="modalData.adminName" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="是否在用:">
<el-select filterable v-model="modalData.active" style="width: 130px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="部门:">
<el-select v-model="modalData.department" style="width: 120px"
placeholder="请选择">
<el-option v-for="item in departmentList " :key="index" :label="item.deptId+'-'+item.deptName"
:value="item.deptId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号码:">
<el-input v-model="modalData.phone" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="公司座机:">
<el-input v-model="modalData.tel" style="width: 120px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="邮箱:">
<el-input v-model="modalData.email" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="人员等级:">
<el-input v-model="modalData.levelID" style="width: 120px"></el-input>
<el-select v-model="modalData.levelID" style="width: 120px"
placeholder="请选择">
<el-option v-for="item in levelList " :key="index" :label="item.levelID+'-'+item.levelDesc"
:value="item.levelID">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="MES账号:">
<el-input v-model="modalData.mesUser" style="width: 120px"></el-input>
</el-form-item>
</el-form>
</el-dialog>
</div>
</template>
<script>
import {
eamAdminSearch,
eamAdminSave,
eamAdminEdit,
eamAdminDelete,
initAdminLevel,
getEmpyDeptList,
} from "@/api/eam/eam.js"
export default {
data () {
return {
searchData: {
site: this.$store.state.user.site,
adminID: '',
adminName: '',
active: 'Y',
page: 1,
limit: 10,
},
pageIndex: 1,
pageSize: 100,
totalPage: 0,
dataList: [],
dataListLoading: false,
dataListSelections: [],
modalFlag:false,
modalDisableFlag:false,
modalData:{
site: this.$store.state.user.site,
adminID:'',
adminName:'',
active:'',
department:'',
phone:'',
tel:'',
email:'',
levelID:'',
mesUser:'',
},
departmentList:[],
//
columnList: [
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TableSite',
tableId: "101007Table",
tableName: "common",
columnProp: 'site',
headerAlign: "center",
align: "left",
columnLabel: '工厂编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
},
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TableAdminID',
tableId: "101007Table",
tableName: "common",
columnProp: 'adminID',
headerAlign: "center",
align: "left",
columnLabel: '机修人员编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
},
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TableAdminName',
tableId: "101007Table",
tableName: "common",
columnProp: 'adminName',
headerAlign: "center",
align: "left",
columnLabel: '机修人员姓名',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140,
},
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TableActive',
tableId: "101007Table",
tableName: "common",
columnProp: 'active',
headerAlign: "center",
align: "left",
columnLabel: '在用',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 40,
},
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TableDepartment',
tableId: "101007Table",
tableName: "common",
columnProp: 'department',
headerAlign: "center",
align: "left",
columnLabel: '部门',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
},
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TablePhone',
tableId: "101007Table",
tableName: "common",
columnProp: 'phone',
headerAlign: "center",
align: "left",
columnLabel: '手机号码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140,
},
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TableTel',
tableId: "101007Table",
tableName: "common",
columnProp: 'tel',
headerAlign: "center",
align: "left",
columnLabel: '公司座机',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140,
},
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TableEmail',
tableId: "101007Table",
tableName: "common",
columnProp: 'email',
headerAlign: "center",
align: "left",
columnLabel: '邮箱',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140,
},
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TableLevelID',
tableId: "101007Table",
tableName: "common",
columnProp: 'levelID',
headerAlign: "center",
align: "left",
columnLabel: '人员等级',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
},
{
userId: this.$store.state.user.name,
functionId: 101007,
serialNumber: '101007TableMesUser',
tableId: "101007Table",
tableName: "common",
columnProp: 'mesUser',
headerAlign: "center",
align: "left",
columnLabel: 'MES账号',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
],
levelList:[],
}
},
created () {
this.getDataList()
},
methods: {
//
getDataList () {
this.searchData.limit = this.pageSize
this.searchData.page = this.pageIndex
eamAdminSearch(this.searchData).then(({data}) => {
if (data.code == 0) {
this.dataList = data.page.list
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.searchData.limit = val
this.searchData.page = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.searchData.page = val
this.getDataList()
},
//
selectionChangeHandle (val) {
this.dataListSelections = val
},
addModal(){
this.modalData={
site: this.$store.state.user.site,
adminID:'',
adminName:'',
active:'',
department:'',
phone:'',
tel:'',
email:'',
levelID:'',
mesUser:'',
};
let inData={
site:this.$store.state.user.site,
}
initAdminLevel(inData).then(({data}) => {
this.levelList=data.rows
})
getEmpyDeptList(inData).then(({data}) => {
this.levelList=data.rows
})
this.modalFlag=true;
},
//
deleteAdmin (id) {
}
}
}
</script>

136
src/views/modules/eam/eamadmin-add-or-update.vue

@ -0,0 +1,136 @@
<template>
<el-dialog
:title="!dataForm.site ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm"
ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="${column.comments}" prop="adminid">
<el-input v-model="dataForm.adminid" placeholder="${column.comments}"></el-input>
</el-form-item>
<el-form-item label="${column.comments}" prop="adminname">
<el-input v-model="dataForm.adminname" placeholder="${column.comments}"></el-input>
</el-form-item>
<el-form-item label="${column.comments}" prop="phone">
<el-input v-model="dataForm.phone" placeholder="${column.comments}"></el-input>
</el-form-item>
<el-form-item label="${column.comments}" prop="department">
<el-input v-model="dataForm.department" placeholder="${column.comments}"></el-input>
</el-form-item>
<el-form-item label="${column.comments}" prop="email">
<el-input v-model="dataForm.email" placeholder="${column.comments}"></el-input>
</el-form-item>
<el-form-item label="${column.comments}" prop="tel">
<el-input v-model="dataForm.tel" placeholder="${column.comments}"></el-input>
</el-form-item>
<el-form-item label="${column.comments}" prop="levelid">
<el-input v-model="dataForm.levelid" placeholder="${column.comments}"></el-input>
</el-form-item>
<el-form-item label="${column.comments}" prop="mesuser">
<el-input v-model="dataForm.mesuser" placeholder="${column.comments}"></el-input>
</el-form-item>
<el-form-item label="${column.comments}" prop="active">
<el-input v-model="dataForm.active" placeholder="${column.comments}"></el-input>
</el-form-item>
<el-form-item label="${column.comments}" prop="createddate">
<el-input v-model="dataForm.createddate" placeholder="${column.comments}"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
site: 0,
adminid: '',
adminname: '',
phone: '',
department: '',
email: '',
tel: '',
levelid: '',
mesuser: '',
active: '',
createddate: ''
},
}
},
methods: {
init (id) {
this.dataForm.site = id || 0
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.site) {
this.$http({
url: this.$http.adornUrl(`/shoporder/eamadmin/info/${this.dataForm.site}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm.adminid = data.eamAdmin.adminid
this.dataForm.adminname = data.eamAdmin.adminname
this.dataForm.phone = data.eamAdmin.phone
this.dataForm.department = data.eamAdmin.department
this.dataForm.email = data.eamAdmin.email
this.dataForm.tel = data.eamAdmin.tel
this.dataForm.levelid = data.eamAdmin.levelid
this.dataForm.mesuser = data.eamAdmin.mesuser
this.dataForm.active = data.eamAdmin.active
this.dataForm.createddate = data.eamAdmin.createddate
}
})
}
})
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/shoporder/eamadmin/${!this.dataForm.site ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'site': this.dataForm.site || undefined,
'adminid': this.dataForm.adminid,
'adminname': this.dataForm.adminname,
'phone': this.dataForm.phone,
'department': this.dataForm.department,
'email': this.dataForm.email,
'tel': this.dataForm.tel,
'levelid': this.dataForm.levelid,
'mesuser': this.dataForm.mesuser,
'active': this.dataForm.active,
'createddate': this.dataForm.createddate
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>
Loading…
Cancel
Save