You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
453 lines
14 KiB
453 lines
14 KiB
<script>
|
|
import {queryUserDefaultOperationList,
|
|
saveUserDefaultOperation,
|
|
queryUserDefaultOperationListByUsername,
|
|
queytOperationList,
|
|
deleteUserDefaultOperation,
|
|
getSiteAndBuByUserName,
|
|
getAllUserList
|
|
} from "@/api/qc/qc.js"
|
|
import {getAllBuList} from "../../../api/factory/site";
|
|
export default {
|
|
name: 'userDefaultOpetation',
|
|
data () {
|
|
return {
|
|
queryParams: {
|
|
page: 1,
|
|
pageCount: 50,
|
|
username: '',
|
|
operation: '',
|
|
bu: ''
|
|
},
|
|
operationList:[],
|
|
dataList: [],
|
|
userBuList: [],
|
|
total: 0,
|
|
modalFlag: false,
|
|
modalData: {
|
|
username: '',
|
|
operation:'',
|
|
bu: '',
|
|
},
|
|
userFlag:false,
|
|
userData:{
|
|
username:'',
|
|
userDisplay:''
|
|
},
|
|
userDataList:[],
|
|
ifUsernameExist: 0,
|
|
columns: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 200101107,
|
|
serialNumber: '200101107Table1Bu',
|
|
tableId: '200101107Table1',
|
|
tableName: '用户默认工序设置表',
|
|
columnProp: 'buDesc',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: 'BU',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
},
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 200101106,
|
|
serialNumber: '200101106Table1Username',
|
|
tableId: '200101106Table1',
|
|
tableName: '用户默认工序设置表',
|
|
columnProp: 'username',
|
|
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: '200101106Table1Username',
|
|
tableId: '200101106Table1',
|
|
tableName: '用户默认工序设置表',
|
|
columnProp: 'userDisplay',
|
|
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: '200101107Table1Operation',
|
|
tableId: '200101107Table1',
|
|
tableName: '用户默认工序设置表',
|
|
columnProp: 'operation',
|
|
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: '200101107Table1Operation',
|
|
tableId: '200101107Table1',
|
|
tableName: '用户默认工序设置表',
|
|
columnProp: 'operationDesc',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '工序名称',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
}
|
|
],
|
|
userColomn: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 200101107,
|
|
serialNumber: '200101107Table1Bu',
|
|
tableId: '200101107Table1',
|
|
tableName: '用户默认工序设置表',
|
|
columnProp: 'username',
|
|
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: '200101106Table1Username',
|
|
tableId: '200101106Table1',
|
|
tableName: '用户默认工序设置表',
|
|
columnProp: 'userDisplay',
|
|
headerAlign: 'center',
|
|
align: 'center',
|
|
columnLabel: '描述',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80
|
|
}
|
|
]
|
|
|
|
}
|
|
},
|
|
methods: {
|
|
handleQuery () {
|
|
queryUserDefaultOperationList(this.queryParams).then(({data}) => {
|
|
if (data.code == 0) {
|
|
this.dataList = data.rows
|
|
this.total = data.total
|
|
}
|
|
}).catch((errer) => {
|
|
this.$message.error(errer)
|
|
})
|
|
},
|
|
async handleQueryByUsername () {
|
|
let json = {
|
|
username: this.modalData.username
|
|
}
|
|
await queryUserDefaultOperationListByUsername(json).then(({data})=>{
|
|
this.ifUsernameExist = data.code
|
|
})
|
|
},
|
|
// 获取用户的bu
|
|
getSiteAndBuByUserName () {
|
|
let tempData = {
|
|
username: this.$store.state.user.name,
|
|
}
|
|
getSiteAndBuByUserName(tempData).then(({data}) => {
|
|
if (data.code === 0) {
|
|
this.userBuList = data.rows
|
|
}
|
|
})
|
|
},
|
|
async saveModalData(){
|
|
let data = this.modalData
|
|
if (data.username==null||data.username==''){
|
|
this.$message.warning("用户名不能为空!")
|
|
return
|
|
}else {
|
|
await this.handleQueryByUsername()
|
|
if (this.ifUsernameExist==2){
|
|
this.$message.warning("此用户名已经存在记录")
|
|
return
|
|
}
|
|
}
|
|
if (data.operation==null||data.operation==''){
|
|
this.$message.warning("工序类型不能为空!")
|
|
return
|
|
}
|
|
if (data.bu==null||data.bu==''){
|
|
this.$message.warning("BU不能为空!")
|
|
return
|
|
}
|
|
saveUserDefaultOperation(data).then(({data})=>{
|
|
if (data.code == 0){
|
|
this.$message.success("保存成功")
|
|
this.handleQuery()
|
|
}
|
|
this.modalFlag = false
|
|
}).catch((error)=>{
|
|
this.$message.error(error)
|
|
})
|
|
},
|
|
queryOperationList(){
|
|
queytOperationList().then(({data})=>{
|
|
if (data && data.code === 0) {
|
|
this.operationList = data.rows
|
|
}
|
|
}).catch((error)=>{
|
|
console.log("失败")
|
|
console.log(error)
|
|
})
|
|
},
|
|
deleteData(row){
|
|
this.$confirm(`确认删除?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(()=>{
|
|
deleteUserDefaultOperation(row).then(({data})=>{
|
|
if (data.code==0){
|
|
this.$message.success("删除成功")
|
|
this.handleQuery()
|
|
}
|
|
}).catch()
|
|
})
|
|
|
|
},
|
|
// 获取用户选择列表
|
|
queryUserList () {
|
|
getAllUserList(this.userData).then(({data}) => {
|
|
if (data && data.code === 0) {
|
|
this.userDataList = data.rows
|
|
this.userFlag = true
|
|
}else {
|
|
this.$alert(data.msg, '错误', {
|
|
confirmButtonText: '确定'
|
|
})
|
|
}
|
|
})
|
|
},
|
|
addmoadl(){
|
|
this.modalData = {
|
|
username: '',
|
|
operation:'',
|
|
bu: '',
|
|
}
|
|
this.ifUsernameExist = 0
|
|
this.modalFlag = true
|
|
},
|
|
getRowData (row) {
|
|
this.modalData.username = row.username
|
|
this.modalData.userDisplay = row.userDisplay
|
|
this.userFlag = false
|
|
},
|
|
},
|
|
created () {
|
|
// 查询主列表
|
|
this.handleQuery()
|
|
// 获取bu列表
|
|
this.getSiteAndBuByUserName()
|
|
this.queryOperationList()
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<div class="box-container">
|
|
<!-- 查询条件-->
|
|
<el-form :inline="true" label-position="top" :model="queryParams">
|
|
<el-form-item :label="'BU'">
|
|
<el-select v-model="queryParams.bu" placeholder="请选择" clearable>
|
|
<el-option
|
|
v-for = "i in userBuList"
|
|
:key = "i.buNo"
|
|
:label = "i.buDesc"
|
|
:value = "i.buNo">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="'用户名'">
|
|
<el-input v-model="queryParams.username" clearable style="width: 120px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'工序类型'">
|
|
<!-- <el-input v-model="queryParams.operation" clearable style="width: 120px"></el-input>-->
|
|
<el-select v-model="queryParams.operation" clearable style="width: 120px">
|
|
<el-option
|
|
v-for = "i in operationList"
|
|
:key = "i.code"
|
|
:label = "i.description"
|
|
:value = "i.code">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label=" ">
|
|
<el-button type="primary" @click="handleQuery">查询</el-button>
|
|
<el-button type="primary" @click="addmoadl()">新增</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
<!-- 主表信息-->
|
|
<div style="height: 90%">
|
|
<el-table :data="dataList" border
|
|
highlight-current-row
|
|
height="100%" ref="table">
|
|
<el-table-column label="操作" align="center" width="100">
|
|
<template slot-scope="scope">
|
|
<a @click="deleteData(scope.row)" type="primary" style="margin-left: 2px">{{'删除'}}</a>
|
|
</template>
|
|
</el-table-column>
|
|
<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">
|
|
</el-table-column>
|
|
</el-table>
|
|
</div>
|
|
<!-- 分页信息-->
|
|
<el-pagination
|
|
style="margin-top: 5px"
|
|
:current-page="queryParams.page"
|
|
:page-sizes="[50, 100, 500, 1000]"
|
|
:page-size="queryParams.pageCount"
|
|
:total="total"
|
|
layout="total, sizes, prev, pager, next, jumper">
|
|
</el-pagination>
|
|
|
|
<!-- 新增数据dialog-->
|
|
<el-dialog title="新增记录" :visible.sync="modalFlag" width="495px">
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
|
|
<el-form-item label="BU" prop="bu">
|
|
<el-select v-model="modalData.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="modalData.operation" style="width: 221px">
|
|
<el-option
|
|
v-for = "i in operationList"
|
|
:key = "i.code"
|
|
:label = "i.description"
|
|
:value = "i.code">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item :label="'用户名'">
|
|
<span style="cursor: pointer" slot="label" @click="queryUserList"><a>用户名</a></span>
|
|
<el-input v-model="modalData.username" readonly style="width: 221px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'名称'">
|
|
<el-input v-model="modalData.userDisplay" disabled style="width: 221px"></el-input>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-footer style="height:40px;margin-top: 10px;text-align:center">
|
|
<el-button type="primary" @click="saveModalData()">保 存</el-button>
|
|
<el-button @click="modalFlag = false">取 消</el-button>
|
|
</el-footer>
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 用户选择dialog-->
|
|
<el-dialog title="用户" :close-on-click-modal="false" v-drag :visible.sync="userFlag" width="520px">
|
|
<div class="rq">
|
|
<el-form :inline="true" label-position="top" :model="userData">
|
|
<el-form-item :label="'用户名'">
|
|
<el-input v-model="userData.username" clearable style="width: 120px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="'描述'">
|
|
<el-input v-model="userData.userDisplay" clearable style="width: 120px"></el-input>
|
|
</el-form-item>
|
|
<el-form-item :label="' '">
|
|
<el-button type="primary" @click="queryUserList">查询</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-table
|
|
:height="300"
|
|
:data="userDataList"
|
|
@row-dblclick="getRowData"
|
|
border
|
|
style="width: 100%;">
|
|
<el-table-column
|
|
v-for="(item,index) in userColomn" :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>
|
|
</div>
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center">
|
|
<el-button type="primary" @click="userFlag=false">关闭</el-button>
|
|
</el-footer>
|
|
</el-dialog>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
<style scoped>
|
|
|
|
</style>
|