Browse Source

1.维修反馈:新增功能:人员选择增加排班过滤

2.增加班次、排班功能
java8
赵宏斌 7 months ago
parent
commit
12b98afd5b
  1. 19
      src/api/scheduling/scheduling.js
  2. 30
      src/views/modules/eam/eamFeedBack.vue
  3. 865
      src/views/modules/scheduling/classes.vue
  4. 946
      src/views/modules/scheduling/scheduling.vue

19
src/api/scheduling/scheduling.js

@ -0,0 +1,19 @@
import { createAPI } from "@/utils/httpRequest.js";
export const saveClassesData = data => createAPI(`/scheduling/Scheduling1/saveClassesData`,'post',data)
export const getSchedulingDataList = data => createAPI(`/scheduling/Scheduling1/getSchedulingDataList`,'post',data)
export const delScheduling = data => createAPI(`/scheduling/Scheduling1/delScheduling`,'post',data)
export const getClassesList = data => createAPI(`/scheduling/Scheduling1/getClassesList`,'post',data)
export const querySchedulingList = data => createAPI(`/scheduling/Scheduling1/querySchedulingList`,'post',data)
export const saveSchedulingHeader = data => createAPI(`/scheduling/Scheduling1/saveSchedulingHeader`,'post',data)
//排班信息:根据选中主表查询子表
export const querySaveSchedulingRecord = data => createAPI(`/scheduling/Scheduling1/querySaveSchedulingRecord`,'post',data)
//删除子表数据
export const deleteSchedulingRecord = data => createAPI(`/scheduling/Scheduling1/deleteSchedulingRecord`,'post',data)
//删除子表数据
export const editSaveSchedulingRecord = data => createAPI(`/scheduling/Scheduling1/editSaveSchedulingRecord`,'post',data)

30
src/views/modules/eam/eamFeedBack.vue

@ -405,6 +405,19 @@
<el-dialog title="执行人员清单" :close-on-click-modal="false" v-drag :visible.sync="operatorModelFlag" width="820px"> <el-dialog title="执行人员清单" :close-on-click-modal="false" v-drag :visible.sync="operatorModelFlag" width="820px">
<div class="rq"> <div class="rq">
<el-form :inline="true" label-position="top" :model="operatorData"> <el-form :inline="true" label-position="top" :model="operatorData">
<el-form-item label="排班日期">
<el-date-picker style="width: 221px" v-model="operatorData.date" type="date" value-format="yyyy-MM-dd" format='yyyy-MM-dd' :editable=false :picker-options="pickerOptions"></el-date-picker>
</el-form-item>
<el-form-item label="班次">
<el-select v-model="operatorData.classesCode" placeholder="请选择" clearable >
<el-option
v-for = "i in classesList"
:key = "i.code"
:label = "i.description"
:value = "i.code">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="'所属角色'"> <el-form-item :label="'所属角色'">
<el-select v-model="operatorData.roleId" placeholder="请选择" style="width: 120px"> <el-select v-model="operatorData.roleId" placeholder="请选择" style="width: 120px">
<el-option <el-option
@ -486,6 +499,9 @@
import {uploadFileList} from '../../../api/base/baseFunction.js'; import {uploadFileList} from '../../../api/base/baseFunction.js';
import UploadFileList from "../common/uploadFileList.vue"; import UploadFileList from "../common/uploadFileList.vue";
import excel from "@/utils/excel-util.js"; import excel from "@/utils/excel-util.js";
import {getClassesList,
getSchedulingOperator
} from "../../../api/scheduling/scheduling";
export default { export default {
components: { components: {
Chooselist, Chooselist,
@ -596,6 +612,7 @@
planOperator: '', planOperator: '',
planOperatorName: '' planOperatorName: ''
}, },
classesList: [],
operatorData: { operatorData: {
site: '', site: '',
bu: '', bu: '',
@ -1200,6 +1217,7 @@
// //
this.getDataList() this.getDataList()
} }
this.getClassesList()
// //
this.getUserRoleList() this.getUserRoleList()
}, },
@ -1544,6 +1562,17 @@
} }
this.saveFeedMatterFlag = true this.saveFeedMatterFlag = true
}, },
getClassesList() {
getClassesList().then(({data}) => {
if (data.code === 0) {
this.classesList = data.rows
} else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
// //
saveFeedMatter () { saveFeedMatter () {
@ -1812,6 +1841,7 @@
// //
getOperatorList () { getOperatorList () {
this.operatorData.bu = this.saveModalData.bu this.operatorData.bu = this.saveModalData.bu
this.$set(this.operatorData,'date',this.saveModalData.defectDate)
if (this.roleList.length > 0) { if (this.roleList.length > 0) {
let filterList = this.roleList.filter(item => item.roleName === '机修人员') let filterList = this.roleList.filter(item => item.roleName === '机修人员')
if (filterList.length > 0) { if (filterList.length > 0) {

865
src/views/modules/scheduling/classes.vue

@ -0,0 +1,865 @@
<template>
<div class="mod-config">
<el-form :inline="true" label-position="top">
<el-form-item label="BU" prop="bu" >
<el-select v-model="queryHeaderData.bu" placeholder="请选择" clearable style="width: 221px">
<el-option
v-for = "i in userBuList"
:key = "i.buNo"
:label = "i.sitename"
:value = "i.buNo">
<span style="float: left;width: 100px">{{ i.sitename }}</span>
<span style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 60px">
{{ i.buDesc }}
</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="班次编码">
<el-input style="width: 100px;" v-model="queryHeaderData.code" clearable></el-input>
</el-form-item>
<el-form-item label="班次名称">
<el-input style="width: 100px;" v-model="queryHeaderData.description" clearable></el-input>
</el-form-item>
<el-form-item style="margin-top: 20px;">
<el-button @click="getDataList('Y')" type="primary">查询</el-button>
</el-form-item>
<el-form-item style="margin-top: 20px;">
<el-button @click="initModel()" type="primary">新增</el-button>
</el-form-item>
</el-form>
<el-table
id="commmon"
:height="height"
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectionChangeHandle"
style="width: 100%;">
<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"
: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="90"
:label="操作">
<template slot-scope="scope">
<a @click="initModel(scope.row)">编辑</a>
<a @click="delHeaderData(scope.row)">删除</a>
</template>
</el-table-column>
</el-table>
<!-- 新增dialog-->
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag title="新增班次" :visible.sync="setUp.reviewFlag" width="325px">
<el-form :inline="true" label-position="top">
<el-form-item label="BU" prop="bu" >
<el-select v-model="saveData.bu" placeholder="请选择" :disabled="initModelFlag" style="width: 221px">
<el-option
v-for = "i in userBuList"
:key = "i.buNo"
:label = "i.sitename"
:value = "i.buNo">
<span style="float: left;width: 100px">{{ i.sitename }}</span>
<span style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 60px">
{{ i.buDesc }}
</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="班次编码">
<el-input style="width: 130px;" v-model="saveData.code" :disabled="initModelFlag"></el-input>
</el-form-item>
<el-form-item label="班次名称">
<el-input style="width: 130px;" v-model="saveData.description"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="setUp.reviewFlag = false">取消</el-button>
<el-button type="primary" @click="saveHeaderFunction()">确定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import column from "../common/column";
import {
searchSysLanguagePackList,
searchSysLanguageParam,
searchFunctionButtonList,
saveButtonList,
searchSysLanguage,
searchLanguageListByLanguageCode,
saveSysLanguageOne
} from "@/api/sysLanguage.js"
import getLodop from '@/utils/LodopFuncs.js'
import {
saveTableDefaultList,
saveTableUser,
getTableDefaultListLanguage,
getTableUserListLanguage,
removerDefault,
removerUser
} from "@/api/table.js"
import {
userFavoriteList,
saveUserFavorite,
removeUserFavorite,
} from '@/api/userFavorite.js'
import {
getSiteAndBuByUserName
} from "@/api/eam/eam.js"
import {
saveClassesData,
getSchedulingDataList,
delScheduling
} from "@/api/scheduling/scheduling.js"
export default {
components: {
column
},
data() {
return {
saveData :{
id: 0,
bu:'',
code:'',
description:''
},
userBuList: [],
initModelFlag: false,
queryHeaderData : {
bu:'',
code:'',
description:''
},
setUp: {
reviewFlag: false,
saveButton: false,
reviewFlag1 : false,
readonlyFlag : false,
},
selectList: {
select1: [{
value: 'Y',
label: '启用'
}, {
value: 'N',
label: '禁用'
}],
select2: [],
},
site : this.$store.state.user.site,
userName : this.$store.state.user.name,
// table
height:450,
//
favorite: false,
addLanguage: false,
functionId: this.$route.meta.menuId,
tableId: this.$route.meta.menuId + 'WAHO01',
value1: true,
visible: false,
showDefault: true,
// table
queryTable: {
functionId: this.$route.meta.menuId,
tableId: this.$route.meta.menuId + 'WAHO01',
languageCode: this.$i18n.locale
},
// table
queryTableUser: {
userId: this.$store.state.user.name,
functionId: this.$route.meta.menuId,
tableId: this.$route.meta.menuId + 'WAHO01',
status: true,
languageCode: this.$i18n.locale
},
//
querySysLanguageParam: {
languageCode: this.$i18n.locale
},
//
sysLanguageParams: [],
// table
userColumnList: [],
//
columnList: [
{
userId: this.$store.state.user.name,
serialNumber: 'wareHouse2501WareHouseId',
tableId: this.$route.meta.menuId + 'WAHO01',
tableName: "wareHouseTable",
columnProp: "code",
headerAlign: "center",
align: "center",
columnLabel: "班次编码",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth : 100,
},
{
userId: this.$store.state.user.name,
serialNumber: 'wareHouse2501WareHouseName',
tableId: this.$route.meta.menuId + 'WAHO01',
tableName: "wareHouseTable",
columnProp: "description",
headerAlign: "center",
align: "center",
columnLabel: "班次名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
serialNumber: 'wareHouse2501WareHouseType',
tableId: this.$route.meta.menuId + 'WAHO01',
tableName: "wareHouseTable",
columnProp: "site",
headerAlign: "center",
align: "center",
columnLabel: "工厂编号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
serialNumber: 'wareHouse2501WareHouseTypeDb',
tableId: this.$route.meta.menuId + 'WAHO01',
tableName: "wareHouseTable",
columnProp: "buNo",
headerAlign: "center",
align: "center",
columnLabel: "BU",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: ''
}
],
//
columnList1: [
// {
// userId: this.$store.state.user.name,
// functionId: this.$route.meta.menuId,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "functionId",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: false,
// sortLv: 0,
// status: true,
// fixed: false
// },
// {
// userId: this.$store.state.user.name,
// functionId: this.$route.meta.menuId,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "objectId",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: false,
// sortLv: 0,
// status: true,
// fixed: '',
// },
// {
// userId: this.$store.state.user.name,
// functionId: this.$route.meta.menuId,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "objectType",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: false,
// sortLv: 0,
// status: true,
// fixed: '',
// },
// {
// userId: this.$store.state.user.name,
// functionId: this.$route.meta.menuId,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "languageValue",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: false,
// sortLv: 0,
// status: true,
// fixed: '',
// },
// {
// userId: this.$store.state.user.name,
// functionId: this.$route.meta.menuId,
// tableId: "common1002",
// tableName: "commonLanguage",
// columnProp: "languageCode",
// headerAlign: "center",
// align: "center",
// columnLabel: "",
// columnHidden: false,
// columnImage: false,
// columnSortable: false,
// sortLv: 0,
// status: true,
// fixed: '',
// }
],
//
dataList: [],
queryButton: {
functionId: this.$route.meta.menuId,
tableId: this.$route.meta.menuId + 'WAHO01',
languageCode: this.$i18n.locale,
objectType: 'button'
},
buttons: {
add: '新增',
edit: '编辑',
delete: '删除',
deleteList: '批量删除',
cz: '操作',
search: '查询',
download: '导出',
settingTable: '设置列表',
defaultTable: '设置默认配置'
},
// start
exportData: [],
exportName: "页面功能语言",
exportHeader: ["页面功能语言"],
exportFooter: [],
exportDefaultValue: "",
// end
buttonList: [
{
languageValue: '新增',
objectId: 'add',
objectType: "button",
tableId: this.$route.meta.menuId + 'WAHO01',
},
{
languageValue: '编辑',
objectId: 'edit',
objectType: "button",
tableId: this.$route.meta.menuId + 'WAHO01',
},
{
languageValue: '删除',
objectId: 'delete',
objectType: "button",
tableId: this.$route.meta.menuId + 'WAHO01',
},
// {
//
// languageValue: '',
// objectId: 'deleteList',
// objectType: "button",
// tableId: this.$route.meta.menuId + 'WAHO01',
// },
{
languageValue: '操作',
objectId: 'cz',
objectType: "button",
tableId: this.$route.meta.menuId + 'WAHO01',
},
{
languageValue: '查询',
objectId: 'search',
objectType: "button",
tableId: this.$route.meta.menuId + 'WAHO01',
},
{
languageValue: '导出',
objectId: 'download',
objectType: "button",
tableId: this.$route.meta.menuId + 'WAHO01',
},
{
languageValue: '设置列表',
objectId: 'settingTable',
objectType: "button",
tableId: this.$route.meta.menuId + 'WAHO01',
},
{
languageValue: '设置默认配置',
objectId: 'defaultTable',
objectType: "button",
tableId: this.$route.meta.menuId + 'WAHO01',
}
],
languageList: [],
languageColumnList: [],
languageDataList: [],
queryLanguage: {},
//
querySysLanguagePack: {
functionId: '',
page: 1,
limit: 1,
languageValue: '',
objectType: '',
objectId: ''
},
//
pageIndex: 1,
pageSize: 20,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
mounted() {
this.$nextTick(()=>{
this.height = window.innerHeight - 170;
})
},
activated() {
this.getTblBaseList()
this.getLanguageList()
},
methods: {
// bu
getSiteAndBuByUserName () {
let tempData = {
username: this.$store.state.user.name,
}
getSiteAndBuByUserName(tempData).then(({data}) => {
if (data.code === 0) {
this.userBuList = data.rows
}
})
},
getTblBaseList(){
let jsonDate = {
site : this.site,
type : 'WareHouseType'
}
this.selectList.select2 = []
getWareHouseTypeList(jsonDate).then(({data}) =>{
let list = data.list
this.selectList.select2 = list.map(item =>{
let resultData = {
value: item.baseData,
label : item.baseDesc,
}
return resultData
})
})
},
delHeaderData(row){
this.$confirm(`确定删除该班次信息?`, '操作提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let jsonData ={
site : row.site,
code : row.code,
buNo : row.buNo
}
delScheduling(jsonData).then(({data}) =>{
if(data.code == 0){
this.$message.success(data.msg)
this.getDataList()
}else {
this.$alert(data.msg, '操作提示', {
confirmButtonText: '确定',
callback: action => {
}
});
}
})
})
},
saveHeaderFunction(){
if(this.saveData.bu == '' || this.saveData.bu == null){
this.$message.warning('请选择工厂')
return
}
if(this.saveData.code == '' || this.saveData.code == null){
this.$message.warning('请填写班次编码')
return
}
if(this.saveData.description == '' || this.saveData.description == null){
this.$message.warning('请填写班次名称')
return
}
saveClassesData(this.saveData).then(({data}) =>{
this.setUp.saveButton = false
if(data.code == 0){
this.$message.success(data.msg)
this.getDataList()
this.setUp.reviewFlag = false
}else {
this.$alert(data.msg, '操作提示', {
confirmButtonText: '确定',
callback: action => {
}
});
}
})
},
initModel(row){
this.initModelFlag = false
this.saveData.bu = ''
this.saveData.code = ''
this.saveData.description = ''
this.saveData.id = 0
if(row != null){
this.saveData.bu = row.site+'_'+row.buNo
this.saveData.code = row.code
this.saveData.description = row.description
this.saveData.id = 1
this.initModelFlag = true
}
this.setUp.reviewFlag =true
},
//
favoriteIsOk(){
let userFavorite ={
userId:this.$store.state.user.id,
languageCode:this.$i18n.locale
}
userFavoriteList(userFavorite).then(({data}) =>{
let size = data.list.filter(item => item.userId==userFavorite.menuId).length;
if (size>0){
this.favorite = true
}else {
this.favorite = false
}
})
},
// OR
favoriteFunction(){
let userFavorite ={
userId: this.$store.state.user.id,
functionId: this.$route.meta.menuId,
}
if (this.favorite){
//
this.$confirm(`确定取消收藏`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
removeUserFavorite(userFavorite).then(({data})=>{
this.$message.success(data.msg)
this.favorite = false
})
})
}else {
//
saveUserFavorite(userFavorite).then(({data})=>{
this.$message.success(data.msg)
this.favorite = true
})
}
},
//
saveLanguageList(val) {
saveSysLanguageOne(val).then(({data}) => {
if (data.code == 0) {
this.$message.success(data.msg)
} else {
this.$message.error(data.msg)
}
})
},
//
addLanguageFun() {
if (this.querySysLanguagePack.languageCode) {
this.addLanguage = true
this.languageColumnList = []
let query = {
functionId: this.$route.meta.menuId,
tableId: "common1002",
languageCode: this.$i18n.locale
}
getTableDefaultListLanguage(query).then(({data}) => {
if (data.rows.length > 0) {
this.languageColumnList = data.rows
}
})
this.languageColumnList = this.columnList
searchLanguageListByLanguageCode(this.querySysLanguagePack).then(({data}) => {
this.languageDataList = data.rows
})
} else {
this.$message("请选中一种语言")
}
},
//
getLanguageList() {
searchSysLanguage(this.queryLanguage).then(({data}) => {
this.languageList = data.rows
})
},
// button
getFunctionButtonList() {
searchFunctionButtonList(this.queryButton).then(({data}) => {
if (data.code == 0 ) {
this.buttons = data.data
} else {
// saveButtonList(this.buttonList).then(({data}) => {
// })
}
})
},
//
getSysLanguageParamList() {
searchSysLanguageParam(this.querySysLanguageParam).then(({data}) => {
this.sysLanguageParams = data.rows
})
},
//
userSetting() {
this.visible = true;
let queryTable = {
userId: this.$store.state.user.name,
functionId: this.$route.meta.menuId,
tableId: this.$route.meta.menuId + 'WAHO01',
languageCode: this.$i18n.locale
}
this.$nextTick(() => {
this.$refs.column.init(queryTable);
});
},
//
getTableUserColumn() {
getTableUserListLanguage(this.queryTableUser).then(({data}) => {
if (data.rows.length > 0) {
//this.columnList = []
this.columnList = data.rows
} else {
this.getColumnList()
}
})
},
//
async saveColumnList() {
//
if (this.userColumnList) {
// user
await removerUser(this.queryTable)
}
//
await removerDefault(this.queryTable)
// table
let sumColumnList = this.columnList.concat(this.columnList1);
sumColumnList = sumColumnList.map(item=> {
return item = {
tableId: item.tableId,
tableName: item.tableName,
columnProp: item.columnProp,
columnLabel: item.columnLabel,
columnHidden: false,
columnImage: false,
columnSortable: false,
columnWidth: null,
format: null,
functionId: this.$route.meta.menuId,
sortLv: 0,
status: true,
fixed: '',
serialNumber: null,
columnType: null,
align: null
}
})
await saveTableDefaultList(sumColumnList)
// button label title
let buttons = this.buttonList.map( item => {
return item = {
functionId: this.$route.meta.menuId,
languageValue: item.languageValue,
objectId: item.objectId,
objectType: item.objectType,
tableId: item.tableId
}
})
await saveButtonList(buttons)
this.getFunctionButtonList()
this.getColumnList()
},
// tableDefault
getColumnList() {
getTableDefaultListLanguage(this.queryTable).then(({data}) => {
if (!data.rows.length == 0) {
// this.showDefault = false
this.columnList = data.rows
} else {
// this.showDefault = true
}
})
},
//
getDataList() {
this.dataListLoading = true
getSchedulingDataList(this.queryHeaderData).then(({data}) => {
if (data && data.code === 0) {
this.dataList = data.rows
} else {
this.dataList = []
}
this.dataListLoading = false
})
},
//
sizeChangeHandle(val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle(val) {
this.pageIndex = val
this.getDataList()
},
//
selectionChangeHandle(val) {
this.dataListSelections = val
},
//
deleteHandle(id) {
var ids = id ? [id] : this.dataListSelections.map(item => {
return item.id
})
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('//prd/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message.success('操作成功')
this.getDataList()
} else {
this.$message.error(data.msg)
}
})
})
},
//
fields(){
let json = "{"
this.columnList.forEach((item,index) =>{
if (index == this.columnList.length-1 ){
json +="\""+item.columnLabel+"\"" +":"+"\""+item.columnProp+"\""
}else {
json += "\""+item.columnLabel+"\"" +":"+"\""+item.columnProp+"\""+ ","
}
})
json +="}"
let s = eval("(" + json + ")")
return s
},
createExportData() {
// ,,
// TODO:
if(this.dataListSelections.length>0){
return this.dataListSelections;
}
return this.dataList;
},
startDownload() {
// this.exportData = this.dataList
},
finishDownload() {
}
},
created() {
this.getTableUserColumn()
this.getSysLanguageParamList()
this.getFunctionButtonList()
this.favoriteIsOk()
this.getSiteAndBuByUserName()
this.getDataList()
}
}
</script>
<style scoped >
.wrapper {
height: calc(100% - 40px);
}
.sl-input {
background-color: transparent;
border: 0 !important;
font-size: 12px !important;
height: 12px !important;
line-height: 14px !important;
background-color: transparent !important;
width: 140px;
}
.sl-input:focus, textarea:focus {
outline: none;
}
.sl-svg{
overflow: hidden;
float: right;
}
</style>

946
src/views/modules/scheduling/scheduling.vue

@ -0,0 +1,946 @@
<script>
import {getAllBuList} from "../../../api/factory/site";
import {
cancelPurchaseOrder,
closePurchaseOrder,
queryPurchaseOrder, queryPurchaseOrder2,
queryPurchaseOrderHead
} from "../../../api/partspare/purchaseOrder";
import {
getSiteAndBuByUserName,
getUserRoleList,
getOperatorList
} from "@/api/eam/eam.js"
import ExportUtil from "@/utils/export";
import {
searchSamplingProgrammeDetails, //
getPlanLists, //
saveSamplingProgrammeDetails, //
deleteSamplingProgrammeDetails, //
} from "@/api/qc/qc.js";
import {
getClassesList,
querySchedulingList,
saveSchedulingHeader,
querySaveSchedulingRecord,
deleteSchedulingRecord,
editSaveSchedulingRecord
} from "../../../api/scheduling/scheduling";
export default {
name: "scheduling",
data(){
return{
span:3,
saveSchedulingFlag: false,
fastAddFlag: false,
insertSchedulingFlag: false,
detailData: {
site: '',
bu: '',
adminID: '',
adminName: '',
roleId: '',
roleName: '',
},
editFlag: false,
initFlag: false,
schedulingRecordData:{},
peopleList:[],
itemList1: [],
itemList2: [],
roleList: [],
queryParams: {
site: '',
classesCode:'',
buDesc: '',
partNo: '',
partDescription: '',
status: '',
startDate: null,
endDate: null,
no: 1,
size: 50,
purchaseOrderNo:'',
isExport:'',
exportBy:'',
exportTime:null,
status:''
},
saveData:{
checkbox1: false,
checkbox2: false
},
activeName:'detail',
userBuList: [],
classesList: [],
dataList: [],
dataListHead:[],
queryLoading: false,
saveErrorFlag: false,
total:0,
totalHead:0,
queryLineRow:{},
columns:[
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1headNum',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'adminId',
headerAlign: 'center',
align: 'center',
columnLabel: '人员编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1BuDesc',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'adminName',
headerAlign: 'center',
align: 'center',
columnLabel: '人员名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1PartNo',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'isHoliday',
headerAlign: 'center',
align: 'left',
columnLabel: '是否请假',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
}
],
columns_head:[
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1BuDesc',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'classesCode',
headerAlign: 'center',
align: 'center',
columnLabel: '班次编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1BuDesc',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'classesDescription',
headerAlign: 'center',
align: 'center',
columnLabel: '班次名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1purchaseOrderNo',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'date',
headerAlign: 'center',
align: 'center',
columnLabel: '日期',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1createBy',
tableId: '200101107Table1',
tableName: '备品备件采购表',
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: 200101107,
serialNumber: '200101107Table1createTime',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'buNo',
headerAlign: 'center',
align: 'center',
columnLabel: 'BU',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
}
],
column_people:[
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1BuDesc',
tableId: '200101106Table1',
tableName: '备品备件采购表',
columnProp: 'adminID',
headerAlign: 'center',
align: 'center',
columnLabel: '用户名',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 200101107,
serialNumber: '200101107Table1purchaseOrderNo',
tableId: '200101107Table1',
tableName: '备品备件采购表',
columnProp: 'adminName',
headerAlign: 'center',
align: 'center',
columnLabel: '姓名',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
}
]
}
},
methods:{
getBuList() {
let tempData = {
username: this.$store.state.user.name,
}
getSiteAndBuByUserName(tempData).then(({data}) => {
if (data.code === 0) {
this.userBuList = data.rows
}
})
},
//
getUserRoleList () {
getUserRoleList().then(({data}) => {
if (data.code === 0) {
this.roleList = data.rows
} else {
this.roleList = []
}
})
},
getPeopleList(){
this.insertSchedulingFlag = true
this.getOperatorList()
this.fastAddFlag = true
},
//
getOperatorList () {
this.detailData.bu = '2_01-Label'
//
getOperatorList(this.detailData).then(({data}) => {
if (data && data.code === 0) {
this.itemList1 = data.rows
// this.itemList1.forEach(val => {
// //
// if (tempDataList.includes(val.adminID)) {
// this.$nextTick(() => this.$refs.operatorTable.toggleRowSelection(val, true))
// }
// })
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
getClassesList() {
getClassesList().then(({data}) => {
if (data.code === 0) {
this.classesList = data.rows
} else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
changeData(row){
this.queryLoading = true
this.queryLineRow = JSON.parse(JSON.stringify(row));
querySaveSchedulingRecord(this.queryLineRow).then((data)=>{
this.dataList = data.data.rows
this.queryLoading = false
}).catch((error)=>{
this.$message.error(error)
this.queryLoading = false
})
},
handleQuery(){
//
this.dataList = []
this.queryLoading = true
querySchedulingList(this.queryParams).then(({data})=>{
if (data && data.code === 0) {
this.dataListHead = data.rows
this.totalHead = data.total
} else {
this.$message.warning(data.msg)
}
this.queryLoading = false
}).catch((error)=>{
this.$message.error(error)
this.queryLoading = false
})
},
//
refreshDetailList () {
searchSamplingProgrammeDetails(this.detailData).then(({data}) => {
this.detailList = data.rows
})
},
//
itemClickRow1 (row) {
this.$refs.itemTable1.toggleRowSelection(row)
},
//
itemClickRow2 (row) {
this.$refs.itemTable2.toggleRowSelection(row)
},
selectionItem1 (val) {
this.itemSelections1 = val
},
selectionItem2 (val) {
this.itemSelections2 = val
},
selectFlag () {
return true
},
//
addItem () {
if (this.itemSelections1 == null || this.itemSelections1.length === 0) {
this.$message.warning('请选择可选人员!')
return
}
if (this.insertSchedulingFlag){
if (this.itemSelections1.length > 1) {
this.$message.warning('请选择一个人员!')
return
}
this.schedulingRecordData.adminId = this.itemSelections1[0].adminID
this.schedulingRecordData.adminName = this.itemSelections1[0].adminName
this.itemList2 = this.itemSelections1
} else {
this.itemList2 = this.itemSelections1
this.peopleList = this.itemSelections1
}
// let inData = {
// samplingProgrammeNo: this.detailData.samplingProgrammeNo,
// planList: this.itemSelections1,
// site: this.detailData.site,
// buNo: this.detailData.buNo,
// updateBy: this.$store.state.user.name,
// }
// saveSamplingProgrammeDetails(inData).then(({data}) => {
// if (data && data.code === 0) {
// getPlanLists(this.detailData).then(({data}) => {
// this.itemList1 = data.row1
// this.itemList2 = data.row2
// })
// this.itemSelections1 = []
// } else {
// this.$alert(data.msg, '', {
// confirmButtonText: ''
// })
// }
// })
},
//
deleteItem () {
if (this.itemSelections2 == null || this.itemSelections2.length === 0) {
this.$message.warning('请选择已有人员!')
return
}
if (this.insertSchedulingFlag){
this.schedulingRecordData.adminId = ''
this.schedulingRecordData.adminName = ''
}
this.itemList2 = this.itemList2.filter(item => !this.itemSelections2.includes(item))
this.peopleList = this.itemList2
},
deletePeopleList(row){
this.peopleList = this.peopleList.filter(item => row.adminID != item.adminID);
},
saveScheduling(){
this.saveData = {}
this.peopleList = []
this.saveSchedulingFlag = true;
},
async saveHeaderFunction(){
if (this.saveData.bu == null || this.saveData.bu === ''){
this.$message.warning("请选择BU")
return
}
if (this.saveData.classesCode == null || this.saveData.classesCode === ''){
this.$message.warning("请选择班次")
return
}
if (this.saveData.startDate == null || this.saveData.startDate === ''){
this.$message.warning("请选择开始日期")
return
}
if (this.saveData.endDate == null || this.saveData.endDate === ''){
this.$message.warning("请选择结束日期")
return
}
this.queryLoading= true;
let tempData = {
...this.saveData,
peopleList: this.peopleList,
}
await saveSchedulingHeader(tempData).then(({data})=>{
if (data.code==0){
this.$message.success(data.msg)
this.queryLoading = false
} else {
this.$message.error(data.msg)
this.saveErrorFlag = true
this.queryLoading = false
}
})
if (this.saveErrorFlag){
return
}
this.saveSchedulingFlag = false;
this.queryLoading = false
this.handleQuery();
},
handleQueryBySize(val){
this.queryParams.size = val;
this.handleQuery();
},
handleQueryByPage(val){
this.queryParams.no = val;
this.handleQuery();
},
addPeopleModal () {
this.insertSchedulingFlag = false
this.itemSelections1 = null
this.itemSelections2 = null
this.itemList2 = this.peopleList
this.getOperatorList()
this.fastAddFlag = true
},
editCancel(row){
this.schedulingRecordData.editId = 1
this.schedulingRecordData.id = row.id
this.schedulingRecordData.adminId = row.adminId
this.schedulingRecordData.adminName = row.adminName
this.$set(this.schedulingRecordData,'isHoliday',row.isHoliday)
this.insertSchedulingFlag = false
this.initFlag = false
this.editFlag = true
},
editSureCancel(){
editSaveSchedulingRecord(this.schedulingRecordData).then(({data})=>{
this.$message.success(data.msg)
})
this.handleQuery()
this.editFlag = false
this.schedulingRecordData = {}
},
deleteCancel(row){
this.$confirm('确定删除该条记录吗?',{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(()=>{
deleteSchedulingRecord(row).then(({data})=>{
if (data && data.code === 0) {
this.$message.success(data.msg)
this.handleQuery()
this.changeData(this.queryLineRow)
} else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
})
},
insertSchedulingRecord(){
if (this.queryLineRow.id==null||this.queryLineRow.id==''){
this.$message.warning("请先选中您要新增的排班")
return
}
this.itemList1 = null
this.itemList2 = null
this.itemSelections1 = null
this.itemSelections2 = null
this.schedulingRecordData = {
editId: 0,
adminId: '',
adminName: '',
isHoliday: 'N',
headId: this.queryLineRow.id
}
this.initFlag = true
this.editFlag = true
},
async exportExcel() {
if(this.queryLineRow.id==null||this.queryLineRow.id==''){
this.$message.warning("请先选中您要导出的采购订单")
return
}
ExportUtil.export(
"/purchase/order/downloadPo",
this.queryLineRow, this.queryLineRow.purchaseOrderNo+"采购单.xlsx"
);
this.handleQuery()
},
},
watch:{
queryLoading(newVal,oldVal){
if (newVal === true){
setTimeout(()=>{
this.queryLoading=false
},3000)
}
}
},
created() {
this.getBuList();
this.handleQuery();
this.getClassesList();
this.getUserRoleList();
}
}
</script>
<template>
<div class="box-container">
<el-form label-position="top" :model="queryParams" >
<el-row :gutter="10">
<el-col :span="span">
<el-form-item label="BU" prop="bu" >
<el-select v-model="queryParams.bu" placeholder="请选择" clearable style="width: 221px">
<el-option
v-for = "i in userBuList"
:key = "i.buNo"
:label = "i.sitename"
:value = "i.buNo">
<span style="float: left;width: 100px">{{ i.sitename }}</span>
<span style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 60px">
{{ i.buDesc }}
</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="span" style="margin-left: 70px">
<el-form-item label="班次">
<el-select v-model="queryParams.classesCode" placeholder="请选择" clearable >
<el-option
v-for = "i in classesList"
:key = "i.code"
:label = "i.description"
:value = "i.code">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="span*2">
<el-form-item label="日期区间">
<el-date-picker
style="width: 47.5%"
v-model="queryParams.startDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
<span style="text-align: center">-</span>
<el-date-picker
style="width: 47.5%"
v-model="queryParams.endDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="span">
<el-form-item label=" ">
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button type="primary" @click="saveScheduling">新增</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 主表信息-->
<div style="height: 40%">
<el-table :data="dataListHead" border
highlight-current-row
height="100%" ref="table"
v-loading="queryLoading"
@row-click="changeData">
<el-table-column
v-for="(item,index) in columns_head" :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 label="操作" align="center" width="100">-->
<!-- <a @click="exportExcel()" type="primary" style="margin-left: 2px">{{'导出'}}</a>-->
<!-- </el-table-column>-->
</el-table>
</div>
<!-- 子表明细-->
<el-tabs style="font-size: 12px;" class="customer-tab" v-model="activeName" type="border-card">
<el-tab-pane label="明细" name="detail">
<!-- <el-button @click="exportExcel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导出'}}</el-button>-->
<el-button @click="insertSchedulingRecord()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增'}}</el-button>
<el-table
:data="dataList" border
v-loading="queryLoading"
height="390px"
ref="table">
<el-table-column
v-for="(item,index) in columns" :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">
<template v-if="item.columnProp === 'ttlAmount' || item.columnProp === 'sumPrice'">
<span>{{!!scope.row[item.columnProp]?scope.row[item.columnProp].toFixed(2):''}}</span>
</template>
<template v-else>
<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>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<a @click="editCancel(scope.row)">编辑</a>
<a @click="deleteCancel(scope.row)">删除</a>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<!-- 新增dialog-->
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag title="新增班次" :visible.sync="saveSchedulingFlag" width="420px">
<el-form :inline="true" label-position="top">
<el-form-item label="BU" prop="bu" >
<el-select v-model="saveData.bu" placeholder="请选择" style="width: 221px">
<el-option
v-for = "i in userBuList"
:key = "i.buNo"
:label = "i.sitename"
:value = "i.buNo">
<span style="float: left;width: 100px">{{ i.sitename }}</span>
<span style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 60px">
{{ i.buDesc }}
</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="班次">
<el-select v-model="saveData.classesCode" placeholder="请选择" clearable >
<el-option
v-for = "i in classesList"
:key = "i.code"
:label = "i.description"
:value = "i.code">
</el-option>
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top">
<el-form-item label="开始日期" >
<el-date-picker
v-model="saveData.startDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label=" " >
<el-checkbox v-model="saveData.checkbox1">包含周六</el-checkbox>
</el-form-item>
<el-form-item label="结束日期" >
<el-date-picker
v-model="saveData.endDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label=" " >
<el-checkbox v-model="saveData.checkbox2">包含周日</el-checkbox>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top">
<el-form-item :label="' '">
<el-button type="primary" @click="addPeopleModal()">新增</el-button>
</el-form-item>
</el-form>
<el-table
:height="300"
:data="peopleList"
v-loading="queryLoading"
border
style="width: 100%;">
<el-table-column
v-for="(item,index) in column_people" :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="80"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="deletePeopleList(scope.row)">删除</a>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="saveSchedulingFlag = false">取消</el-button>
<el-button type="primary" @click="saveHeaderFunction()">确定</el-button>
</span>
</el-dialog>
<!-- 人员详情->快速新增 -->
<el-dialog title="新增" @close="refreshDetailList" :close-on-click-modal="false" v-drag :visible.sync="fastAddFlag" width="900px">
<div style="font-size: 12px">
<el-form :inline="true" label-position="top" :model="detailData">
<el-form-item :label="'所属角色'">
<el-select v-model="detailData.roleId" placeholder="请选择" style="width: 120px">
<el-option
v-for = "i in roleList"
:key = "i.roleId"
:label = "i.roleName"
:value = "i.roleId">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="'人员编码'">
<el-input v-model="detailData.adminID" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'人员姓名'">
<el-input v-model="detailData.adminName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="getOperatorList">查询</el-button>
</el-form-item>
</el-form>
</div>
<el-container style="margin-top: 0px;">
<el-main style="width: 400px;padding: 0px">
<span style="font-size: 12px" >可选人员</span>
<el-table
height="400px"
:data="itemList1"
border
ref="itemTable1"
@row-click="itemClickRow1"
@selection-change="selectionItem1"
highlight-current-row
style="width: 100%">
<el-table-column
type="selection"
header-align="center"
align="center"
:selectable="selectFlag"
width="50">
</el-table-column>
<el-table-column
prop="adminID"
header-align="center"
align="center"
min-width="110"
label="人员编码">
</el-table-column>
<el-table-column
prop="adminName"
header-align="center"
align="center"
min-width="170"
label="人员名称">
</el-table-column>
</el-table>
</el-main>
<el-main style="width: 100px;padding: 0px">
<div style="margin-top: 182px;margin-left: 18px">
<el-button type="primary" @click="addItem()">添加>></el-button>
</div>
<div style="margin-top: 15px;margin-left: 18px">
<el-button type="primary" @click="deleteItem()">删除<<</el-button>
</div>
</el-main>
<el-main style="width: 400px;padding: 0px">
<span style="font-size: 12px">已有人员</span>
<el-table
height="400px"
:data="itemList2"
border
ref="itemTable2"
@row-click="itemClickRow2"
@selection-change="selectionItem2"
highlight-current-row
style="width: 100%">
<el-table-column
type="selection"
header-align="center"
align="center"
:selectable="selectFlag"
width="50">
</el-table-column>
<el-table-column
prop="adminID"
header-align="center"
align="center"
min-width="110"
label="人员编码">
</el-table-column>
<el-table-column
prop="adminName"
header-align="center"
align="center"
min-width="170"
label="人员名称">
</el-table-column>
</el-table>
</el-main>
</el-container>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="fastAddFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="编辑" :close-on-click-modal="false" :close-on-press-escape="false" v-drag :visible.sync="editFlag" width="420px">
<el-form :inline="true" label-position="top">
<el-form-item label="人员编码" prop="adminID">
<span style="cursor: pointer" v-if="initFlag" slot="label" @click="getPeopleList"><a>计划维修人员</a></span>
<el-input v-model="schedulingRecordData.adminId" disabled style="width: 221px"></el-input>
</el-form-item>
<el-form-item label="人员名称">
<el-input v-model="schedulingRecordData.adminName" disabled style="width: 221px"></el-input>
</el-form-item>
<el-form-item label="是否请假">
<el-select filterable v-model="schedulingRecordData.isHoliday" style="width: 100px">
<el-option label="Y" value="Y"></el-option>
<el-option label="N" value="N"></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editFlag = false">取消</el-button>
<el-button type="primary" @click="editSureCancel()">确定</el-button>
</span>
</el-dialog>
</div>
</template>
<style scoped>
</style>
Loading…
Cancel
Save