Browse Source

PQC检验功能:1.修改新增ui 2.新增用户默认工序功能 3.新增工序对应机台功能 4.增加数据表:qc_pqc_record_operation

java8
赵宏斌 7 months ago
parent
commit
292b0cfc9f
  1. 15
      src/api/qc/qc.js
  2. 450
      src/views/modules/qc/OperationForResource.vue
  3. 574
      src/views/modules/qc/PQCResultEntry.vue
  4. 453
      src/views/modules/qc/UserDefaultOperation.vue

15
src/api/qc/qc.js

@ -130,6 +130,21 @@ export const actionPQCInspection = data => createAPI(`/pms/pqc/actionPQCInspecti
export const getPQCItemObjectList = data => createAPI(`/pms/pqc/getPQCItemObjectList`,'post',data) export const getPQCItemObjectList = data => createAPI(`/pms/pqc/getPQCItemObjectList`,'post',data)
export const rollNoEnter2 = data => createAPI(`/pms/pqc/rollNoEnter2`,'post',data) export const rollNoEnter2 = data => createAPI(`/pms/pqc/rollNoEnter2`,'post',data)
export const getOperationList2 = data => createAPI(`/pms/pqc/getOperationList2`,'post',data) export const getOperationList2 = data => createAPI(`/pms/pqc/getOperationList2`,'post',data)
export const queytOperationList = data => createAPI(`/pms/pqc/queytOperationList`,'post',data)
export const queryUserDefaultOperationList = data => createAPI(`/pms/pqc/queryUserDefaultOperationList`,'post',data)
export const queryUserDefaultOperationListByUsername = data => createAPI(`/pms/pqc/queryUserDefaultOperationListByUsername`,'post',data)
export const saveUserDefaultOperation = data => createAPI(`/pms/pqc/saveUserDefaultOperation`,'post',data)
export const queryPartDescByNo = data => createAPI(`/pms/pqc/queryPartDescByNo`,'post',data)
export const queryOperationForResourceList = data => createAPI(`/pms/pqc/queryOperationForResourceList`,'post',data)
export const saveOperationForResource = data => createAPI(`/pms/pqc/saveOperationForResource`,'post',data)
export const queryResourceList = data => createAPI(`/pms/pqc/queryResourceList`,'post',data)
export const queryOperationResourceList = data => createAPI(`/pms/pqc/queryOperationResourceList`,'post',data)
export const queryEamObjectlist = data => createAPI(`/pms/pqc/queryEamObjectlist`,'post',data)
export const deleteOperationForResource = data => createAPI(`/pms/pqc/deleteOperationForResource`,'post',data)
export const deleteUserDefaultOperation = data => createAPI(`/pms/pqc/deleteUserDefaultOperation`,'post',data)
export const getHuanXianSysUserList = data => createAPI(`/pms/pqc/getHuanXianSysUserList`,'post',data)
export const getAllUserList = data => createAPI(`/pms/pqc/getAllUserList`,'post',data)
export const queryResourceList2 = data => createAPI(`/pms/pqc/queryResourceList2`,'post',data)
// ===================================== IPQC检验 ===================================== // ===================================== IPQC检验 =====================================
export const qcIPQCInspectionSearch = data => createAPI(`/pms/qc/qcIPQCInspectionSearch`,'post',data) export const qcIPQCInspectionSearch = data => createAPI(`/pms/qc/qcIPQCInspectionSearch`,'post',data)

450
src/views/modules/qc/OperationForResource.vue

@ -0,0 +1,450 @@
<script>
import {queryOperationForResourceList,
saveOperationForResource,
queytOperationList,
queryResourceList,
deleteOperationForResource,
getSiteAndBuByUserName,
queryResourceList2
} from "@/api/qc/qc.js"
import codelnotify from "../ecss/codelnotify.vue";
export default {
name: 'OperationForResource',
data () {
return {
queryParams: {
page: 1,
pageCount: 50,
bu:'',
operation: '',
resource: ''
},
dataList: [],
total: 0,
modalFlag: false,
resourceFlag:false,
ifexist:0,
resourData:{
resourceId:'',
resourceDesc:''
},
operationList:[],
resourceList:[],
userBuList: [],
modalData: {
page: 1,
pageCount: 50,
operation: '',
resource:''
},
columns: [
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1Operation',
tableId: '200101106Table1',
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: '200101106Table1Operation',
tableId: '200101106Table1',
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: 200101106,
serialNumber: '200101106Table1Operation',
tableId: '200101106Table1',
tableName: '用户默认工序设置表',
columnProp: 'operationDesc',
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: '200101107Table1Resource',
tableId: '200101107Table1',
tableName: '用户默认工序设置表',
columnProp: 'resource',
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: '200101107Table1Resource',
tableId: '200101107Table1',
tableName: '用户默认工序设置表',
columnProp: 'resourceDesc',
headerAlign: 'center',
align: 'center',
columnLabel: '机台名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
}
],
resourceColomn: [
{
userId: this.$store.state.user.name,
functionId: 200101106,
serialNumber: '200101106Table1Operation',
tableId: '200101106Table1',
tableName: '机台基础信息表',
columnProp: 'resourceId',
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: '200101106Table1Operation',
tableId: '200101106Table1',
tableName: '机台基础信息表',
columnProp: 'resourceDesc',
headerAlign: 'center',
align: 'center',
columnLabel: '机台名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
}
]
}
},
methods: {
handleQuery () {
queryOperationForResourceList(this.queryParams).then(({data}) => {
if (data.code==0||data.code==3) {
this.dataList = data.rows
this.total = data.total
}
}).catch((errer) => {
this.$message.error(errer)
})
},
// bu
getSiteAndBuByUserName () {
let tempData = {
username: this.$store.state.user.name,
}
getSiteAndBuByUserName(tempData).then(({data}) => {
if (data.code === 0) {
this.userBuList = data.rows
}
})
},
addDialog () {
this.modalData = {
page: 1,
pageCount: 50,
resource: '',
operation:''
}
this.modalFlag = true
},
async saveModalData(){
this.ifexist=0
if (this.modalData.operation==null ||this.modalData.operation==''){
this.$message.warning("工序类别不能为空!")
return
}
if (this.modalData.resource==null ||this.modalData.resource==''){
this.$message.warning("机台编码不能为空!")
return
}
await queryOperationForResourceList(this.modalData).then(({data})=>{
if (data.code==3){
this.$message.warning("该工序和机台存在记录")
this.ifexist = data.code
}
}).catch()
if (this.ifexist==3){
return
}
saveOperationForResource(this.modalData).then(({data})=>{
if (data.code==0){
this.$message.success("保存成功")
}
}).catch()
this.modalFlag = false
this.handleQuery()
},
queryOperationList(){
queytOperationList().then(({data})=>{
if (data && data.code === 0) {
this.operationList = data.rows
}
}).catch((error)=>{
console.log("失败")
console.log(error)
})
},
queryResourceList(){
//
// queryResourceList().then(({data})=>{
// if (data.code==0){
// this.resourceList = data.rows
// }
// }).catch()
this.resourceFlag = true
queryResourceList2(this.resourData).then(({data}) => {
if (data.code == 0) {
this.resourceList = data.rows
}
}).catch()
},
getRowData (row) {
this.modalData.resource = row.resourceId
this.modalData.resourceDesc = row.resourceDesc
this.resourceFlag = false
},
deleteData(row){
this.$confirm(`确认删除?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(()=>{
deleteOperationForResource(row).then(({data})=>{
if (data.code==0){
this.$message.success("删除成功")
this.handleQuery()
}
}).catch()
})
}
},
created () {
//
this.handleQuery()
//
this.queryOperationList()
// site bu
this.getSiteAndBuByUserName()
}
}
</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 style="width: 80px">
<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.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-input v-model="queryParams.resource" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button type="primary" @click="addDialog()">新增</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="queryResourceList"><a>机台编码</a></span>
<el-input v-model="modalData.resource" readonly style="width: 100px"></el-input>
<!-- <el-select v-model="modalData.resource" filterable style="width: 100px">-->
<!-- <el-option-->
<!-- v-for = "i in resourceList"-->
<!-- :key = "i.resourceId"-->
<!-- :label = "i.resourceDesc"-->
<!-- :value = "i.resourceId">-->
<!-- </el-option>-->
<!-- </el-select>-->
</el-form-item>
<el-form-item :label="'机台名称'">
<el-input v-model="modalData.resourceDesc" disabled style="width: 342px"></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="resourceFlag" width="520px">
<div class="rq">
<el-form :inline="true" label-position="top" :model="resourData">
<el-form-item :label="'机台编码'">
<el-input v-model="resourData.resourceId" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'机台名称'">
<el-input v-model="resourData.resourceDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="queryResourceList">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="300"
:data="resourceList"
@row-dblclick="getRowData"
border
style="width: 100%;">
<el-table-column
v-for="(item,index) in resourceColomn" :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="resourceFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
</div>
</template>
<style scoped>
</style>

574
src/views/modules/qc/PQCResultEntry.vue

@ -171,124 +171,232 @@
<!-- 新增检验记录 --> <!-- 新增检验记录 -->
<el-dialog title="新增检验记录" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="495px"> <el-dialog title="新增检验记录" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="495px">
<!-- <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">-->
<!-- <el-form-item label="BU" prop="bu" :rules="rules.bu">-->
<!-- <el-select v-model="modalData.bu" placeholder="请选择" @change="buChange" 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 v-if="this.modalData.specialTaskFlag === 'Y'" disabled v-model="modalData.rollNo" style="width: 221px"></el-input>-->
<!-- <el-input v-else v-model="modalData.rollNo" @keyup.native.enter="rollNoEnter" clearable style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">-->
<!-- <el-form-item v-if="this.modalData.specialTaskFlag !== 'Y' && (this.modalData.rollNo === '' || this.modalData.rollNo == null)" prop="orderNo" :rules="rules.seqNoType">-->
<!-- <span style="cursor: pointer" slot="label" @click="getBaseList(1052)"><a herf="#">派工单号</a></span>-->
<!-- <el-input v-model="modalData.seqNo" style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-if="this.modalData.specialTaskFlag !== 'Y' && this.modalData.rollNo !== '' && this.modalData.rollNo != null" prop="orderNo" :rules="rules.seqNoType">-->
<!-- <span slot="label">派工单号</span>-->
<!-- <el-input v-model="modalData.seqNo" disabled style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-if="this.modalData.specialTaskFlag === 'Y'" prop="orderNo" :rules="rules.seqNoType">-->
<!-- <span slot="label">派工单号</span>-->
<!-- <el-input v-model="modalData.seqNo" disabled style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="工单号" prop="orderNo" :rules="rules.orderNoType">-->
<!-- <el-input v-model="modalData.orderNo" style="width: 221px" disabled></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">-->
<!-- <el-form-item label="工序" prop="operationDesc" :rules="rules.operationDescType">-->
<!-- <el-select v-model="modalData.operationDesc" placeholder="请选择" style="width: 221px">-->
<!-- <el-option-->
<!-- v-for = "i in operationList"-->
<!-- :key = "i.operationNo"-->
<!-- :label = "i.operationDesc"-->
<!-- :value = "i.operationDesc">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-if="this.modalData.specialTaskFlag === 'Y'">-->
<!-- <span style="cursor: pointer" slot="label" @click="getBaseList(505)"><a herf="#">机台</a></span>-->
<!-- <el-input v-model="modalData.resourceDesc" style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-else label="机台" prop="resourceId" :rules="rules.resourceIdType">-->
<!-- <el-input v-model="modalData.resourceDesc" style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">-->
<!-- <el-form-item v-if="this.modalData.specialTaskFlag === 'Y'" :model="modalData">-->
<!-- <span style="cursor: pointer" slot="label" @click="queryPartList"><a herf="#">物料编码</a></span>-->
<!-- <el-input v-model="modalData.partNo" style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item v-else label="物料编码" prop="partNo" :rules="rules.partNoType">-->
<!-- <el-input v-model="modalData.partNo" readonly style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="物料名称">-->
<!-- <el-input v-model="modalData.partDesc" readonly style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">-->
<!-- <el-form-item label="物料类别">-->
<!-- <el-input v-model="modalData.invdefinetype" readonly style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="SKU">-->
<!-- <el-input v-model="modalData.sku" readonly style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">-->
<!-- <el-form-item prop="templateId" :rules="rules.templateId">-->
<!--&lt;!&ndash; <span style="cursor: pointer" v-if="this.controlData.baseData === '控制'" slot="label" @click="queryTemplateList"><a>检验模板</a></span>&ndash;&gt;-->
<!-- <span slot="label">检验模板</span>-->
<!-- <el-input v-model="modalData.templateName" disabled style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="送检数量:" prop="rollQty" :rules="rules.rollQtyType">-->
<!-- <el-input v-model="modalData.rollQty" type="number" style="width: 103px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="单位" prop="umId" :rules="rules.umIdType">-->
<!-- <el-select v-model="modalData.umId" placeholder="请选择" style="width: 103px">-->
<!-- <el-option-->
<!-- v-for = "i in umList"-->
<!-- :key = "i.umId"-->
<!-- :label = "i.umName"-->
<!-- :value = "i.umId">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">-->
<!-- <el-form-item label="老卷号">-->
<!-- <el-input v-model="modalData.batchRollNo" style="width: 221px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="送检总数">-->
<!-- <el-input v-model="modalData.sjzs" disabled style="width: 120px"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label=" ">-->
<!-- <input type="checkbox" id="specialTask" name="specialTask" v-model="checked" @click="changeSpecialTask"/> <label for="specialTask">无工单检验</label>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">-->
<!-- <el-form-item label="特殊要求">-->
<!-- <el-input type="textarea" v-model="modalData.specialRequirements" :rows="3" resize='none' show-word-limit style="width: 456px;height: 30px"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="BU" prop="bu" :rules="rules.bu">
<el-select v-model="modalData.bu" placeholder="请选择" @change="buChange" style="width: 221px">
<el-form-item label="工序">
<el-select v-model="modalData.operationDesc" @input="operationDescInput" style="width: 221px">
<el-option <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>
v-for = "i in operationList"
:key = "i.code"
:label = "i.description"
:value = "i.code">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="标签号">
<el-input v-if="this.modalData.specialTaskFlag === 'Y'" disabled v-model="modalData.rollNo" style="width: 221px"></el-input>
<el-input v-else v-model="modalData.rollNo" @keyup.native.enter="rollNoEnter" clearable style="width: 221px"></el-input>
<el-form-item label="BU">
<el-input :value="returnBU" disabled style="width: 221px;height: 30px"></el-input>
</el-form-item> </el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item v-if="this.modalData.specialTaskFlag !== 'Y' && (this.modalData.rollNo === '' || this.modalData.rollNo == null)" prop="orderNo" :rules="rules.seqNoType">
<span style="cursor: pointer" slot="label" @click="getBaseList(1052)"><a herf="#">派工单号</a></span>
<el-input v-model="modalData.seqNo" style="width: 221px"></el-input>
<el-form-item label="检验模板编码">
<el-input :value="returntemplateId" disabled style="width: 103px;height: 30px"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="this.modalData.specialTaskFlag !== 'Y' && this.modalData.rollNo !== '' && this.modalData.rollNo != null" prop="orderNo" :rules="rules.seqNoType">
<span slot="label">派工单号</span>
<el-input v-model="modalData.seqNo" disabled style="width: 221px"></el-input>
<el-form-item label="检验模板名称">
<el-input :value="returntemplateDesc" disabled style="width: 340px;height: 30px"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="this.modalData.specialTaskFlag === 'Y'" prop="orderNo" :rules="rules.seqNoType">
<span slot="label">派工单号</span>
<el-input v-model="modalData.seqNo" disabled style="width: 221px"></el-input>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'物料编码'">
<span style="cursor: pointer" slot="label" @click="queryALLPartList"><a>物料编码</a></span>
<el-input v-model="modalData.partNo" style="width: 103px;height: 30px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工单号" prop="orderNo" :rules="rules.orderNoType">
<el-input v-model="modalData.orderNo" style="width: 221px" disabled></el-input>
<el-form-item :label="'物料描述'">
<el-input v-model="modalData.partDesc" disabled style="width: 340px;height: 30px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="工序" prop="operationDesc" :rules="rules.operationDescType">
<el-select v-model="modalData.operationDesc" placeholder="请选择" style="width: 221px">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" clearable style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="设备编号">
<el-select v-model="modalData.eamObjectId" @change="eamObjectIdChange" filterable style="width: 103px">
<el-option <el-option
v-for = "i in operationList"
:key = "i.operationNo"
:label = "i.operationDesc"
:value = "i.operationDesc">
v-for = "i in eamObjectList"
:key = "i.objectID"
:label = "i.objectID+' '+i.objectDesc"
:value = "i.objectID">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="this.modalData.specialTaskFlag === 'Y'">
<span style="cursor: pointer" slot="label" @click="getBaseList(505)"><a herf="#">机台</a></span>
<el-input v-model="modalData.resourceDesc" style="width: 221px"></el-input>
</el-form-item>
<el-form-item v-else label="机台" prop="resourceId" :rules="rules.resourceIdType">
<el-input v-model="modalData.resourceDesc" style="width: 221px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item v-if="this.modalData.specialTaskFlag === 'Y'" :model="modalData">
<span style="cursor: pointer" slot="label" @click="queryPartList"><a herf="#">物料编码</a></span>
<el-input v-model="modalData.partNo" style="width: 221px"></el-input>
</el-form-item>
<el-form-item v-else label="物料编码" prop="partNo" :rules="rules.partNoType">
<el-input v-model="modalData.partNo" readonly style="width: 221px"></el-input>
</el-form-item>
<el-form-item label="物料名称">
<el-input v-model="modalData.partDesc" readonly style="width: 221px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="物料类别">
<el-input v-model="modalData.invdefinetype" readonly style="width: 221px"></el-input>
</el-form-item>
<el-form-item label="SKU">
<el-input v-model="modalData.sku" readonly style="width: 221px"></el-input>
<el-form-item :label="'设备名称'">
<el-input v-model="modalData.eamObjectDesc" disabled style="width: 340px;height: 30px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item prop="templateId" :rules="rules.templateId">
<!-- <span style="cursor: pointer" v-if="this.controlData.baseData === '控制'" slot="label" @click="queryTemplateList"><a>检验模板</a></span>-->
<span slot="label">检验模板</span>
<el-input v-model="modalData.templateName" disabled style="width: 221px"></el-input>
<el-form-item :label="'SOP编号'">
<el-input v-model="modalData.sopNum" style="width: 221px;height: 30px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="送检数量:" prop="rollQty" :rules="rules.rollQtyType">
<el-input v-model="modalData.rollQty" type="number" style="width: 103px"></el-input>
<el-form-item :label="'换线时间'">
<el-date-picker style="width: 221px" v-model="modalData.changeLineTime" type="datetime" placeholder="换线时间"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="单位" prop="umId" :rules="rules.umIdType">
<el-select v-model="modalData.umId" placeholder="请选择" style="width: 103px">
<el-form-item :label="'换线人员'">
<el-select v-model="modalData.changePeople" multiple filterable style="width: 456px">
<el-option <el-option
v-for = "i in umList"
:key = "i.umId"
:label = "i.umName"
:value = "i.umId">
v-for = "i in allUserList"
:key = "i.username"
:label = "i.username+' '+i.userDisplay"
:value = "i.username">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="老卷号">
<el-input v-model="modalData.batchRollNo" style="width: 221px"></el-input>
</el-form-item>
<el-form-item label="送检总数">
<el-input v-model="modalData.sjzs" disabled style="width: 120px"></el-input>
</el-form-item>
<el-form-item label=" ">
<input type="checkbox" id="specialTask" name="specialTask" v-model="checked" @click="changeSpecialTask"/> <label for="specialTask">无工单检验</label>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="特殊要求">
<el-input type="textarea" v-model="modalData.specialRequirements" :rows="3" resize='none' show-word-limit style="width: 456px;height: 30px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 55px;text-align:center">
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" :loading="saveLoading" @click="saveData">保存</el-button> <el-button type="primary" :loading="saveLoading" @click="saveData">保存</el-button>
<el-button type="primary" @click="modalFlag = false">关闭</el-button> <el-button type="primary" @click="modalFlag = false">关闭</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<!-- 新增时产品编码选择dialog-->
<el-dialog title="物料选择" :close-on-click-modal="false" v-drag :visible.sync="partFlag" width="520px">
<div class="rq">
<el-form :inline="true" label-position="top" :model="partModalData">
<el-form-item :label="'物料编码'">
<el-input v-model="partModalData.partNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'物料名称'">
<el-input v-model="partModalData.partDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="queryALLPartList">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="300"
:data="partList2"
@row-dblclick="getRowData3"
border
style="width: 100%;">
<el-table-column
v-for="(item,index) in partColomn" :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="partFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<!-- 检验单详情页 --> <!-- 检验单详情页 -->
<el-dialog title="检验明细清单" :close-on-click-modal="false" v-drag :visible.sync="detailInformationFlag" width="1200px"> <el-dialog title="检验明细清单" :close-on-click-modal="false" v-drag :visible.sync="detailInformationFlag" width="1200px">
<el-form :inline="true" label-position="top" @keyup.enter.native = "getDataList"> <el-form :inline="true" label-position="top" @keyup.enter.native = "getDataList">
@ -911,6 +1019,12 @@ import {
getPQCItemObjectList, // getPQCItemObjectList, //
dataAcquisitionByItem, // dataAcquisitionByItem, //
cancelApproval2, // cancelApproval2, //
queytOperationList,//
queryPartDescByNo, //
queryOperationResourceList,//
queryEamObjectlist,//
queryUserDefaultOperationListByUsername,//
getHuanXianSysUserList,//
} from "@/api/qc/qc.js" } from "@/api/qc/qc.js"
import {getTableDefaultListLanguage, getTableUserListLanguage} from "@/api/table.js" import {getTableDefaultListLanguage, getTableUserListLanguage} from "@/api/table.js"
import Chooselist from '@/views/modules/common/Chooselist_eam' import Chooselist from '@/views/modules/common/Chooselist_eam'
@ -926,6 +1040,7 @@ import comQcItemImageUploadFile from "./com_qc_itemImage_upload_file"
import subDetailUpload from "./sub_detail_upload" import subDetailUpload from "./sub_detail_upload"
import QrCode from "../common/QrCode.vue"; import QrCode from "../common/QrCode.vue";
import IqcFileTable from "./IQCFileTable.vue"; import IqcFileTable from "./IQCFileTable.vue";
import {format} from "nightwatch/lib/util/utils";
/*上传文件的組件*/ /*上传文件的組件*/
export default { export default {
components: { components: {
@ -944,6 +1059,42 @@ export default {
end = this.tableData.length end = this.tableData.length
} }
return this.tableData.slice(start,end) return this.tableData.slice(start,end)
},
returntemplateId(){
let a = this.modalData.operationDesc
let list = this.operationList
for (let i = 0; i < list.length; i++) {
let data = list[i];
if (data.code==a){
this.modalData.templateId = data.template
return data.template
}
}
return ''
},
returntemplateDesc(){
let a = this.modalData.operationDesc
let list = this.operationList
for (let i = 0; i < list.length; i++) {
let data = list[i];
if (data.code==a){
this.modalData.templateDesc = data.templateDesc
return data.templateDesc
}
}
return ''
},
returnBU(){
let a = this.modalData.operationDesc
let list = this.operationList
for (let i = 0; i < list.length; i++) {
let data = list[i];
if (data.code==a){
this.modalData.bu = data.bu
return data.bu
}
}
return ''
} }
}, },
watch: { watch: {
@ -984,6 +1135,9 @@ export default {
inspectionNo: '', inspectionNo: '',
fileFlag: false, fileFlag: false,
fileContentList: [], fileContentList: [],
eamObjectList:[],
queryResourceData:[],
partList2:[],
// //
favorite: false, favorite: false,
// start // start
@ -1038,6 +1192,8 @@ export default {
height: 200, height: 200,
dataList: [], dataList: [],
dataListSelections: [], dataListSelections: [],
partFlag:false,
partModalData:{},
modalData: { modalData: {
flag: '', flag: '',
site: '', site: '',
@ -1050,7 +1206,8 @@ export default {
inspectorNo: '', inspectorNo: '',
inspectorName: '', inspectorName: '',
submit_flag: '', submit_flag: '',
seqNo: '',
seqNo: '000#1TSGD',
orderNo: '000#1',
batchRollNo: '', batchRollNo: '',
invdefinetype: '', invdefinetype: '',
sku: '', sku: '',
@ -1060,6 +1217,9 @@ export default {
specialRequirements: '', specialRequirements: '',
templateId: '', templateId: '',
templateName: '', templateName: '',
templateDesc:'',
eamObjectId:'',
eamObjectDesc:'',
specialTaskFlag: '', specialTaskFlag: '',
workCenterNo: '', workCenterNo: '',
rollNo: '', rollNo: '',
@ -1067,6 +1227,44 @@ export default {
umName: '', umName: '',
sjzs: '' sjzs: ''
}, },
partColomn:[
{
userId: this.$store.state.user.name,
functionId: 301015,
serialNumber: '301015Table1partNo',
tableId: "301015Table1",
tableName: "物料表",
columnProp: 'partNo',
headerAlign: "center",
align: "center",
columnLabel: '物料编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100,
},
{
userId: this.$store.state.user.name,
functionId: 301015,
serialNumber: '301015Table1partDesc',
tableId: "301015Table1",
tableName: "物料表",
columnProp: 'partDesc',
headerAlign: "center",
align: "center",
columnLabel: '物料名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
}
],
// //
columnList1: [ columnList1: [
{ {
@ -2148,6 +2346,7 @@ export default {
}, },
resourceList: [], resourceList: [],
operationList: [], operationList: [],
userDefaultOperation:'',
partList: [], partList: [],
batchHandleAddModalFlag: false, batchHandleAddModalFlag: false,
batchAddData: { batchAddData: {
@ -2270,6 +2469,7 @@ export default {
umList: [], umList: [],
userBuList: [], userBuList: [],
buList: [], buList: [],
allUserList:[],
authSearch: false, authSearch: false,
authSave: false, authSave: false,
authCheck: false, authCheck: false,
@ -2412,9 +2612,18 @@ export default {
} }
// //
this.getUserRoleList() this.getUserRoleList()
//
this.getAllSysUserList()
}, },
methods: { methods: {
getAllSysUserList(){
getHuanXianSysUserList().then(({data})=>{
if (data.code==0){
this.allUserList = data.rows
}
}).catch()
},
// bu // bu
getSiteAndBuByUserName2 () { getSiteAndBuByUserName2 () {
@ -2900,7 +3109,29 @@ export default {
}) })
} }
}, },
queryALLPartList(){
queryPartDescByNo(this.partModalData).then(({data})=>{
if (data.code==0){
this.partList2 = data.rows
this.partFlag = true
}else {
this.$message.error("系统异常")
}
})
},
eamObjectIdChange(){
let a = this.modalData.eamObjectId
console.log(a)
let list = this.eamObjectList
for (let i = 0; i < list.length; i++) {
let data = list[i];
if (data.objectID==a){
this.modalData.eamObjectDesc = data.objectDesc
return data.template
}
}
return ''
},
// //
getOperationList () { getOperationList () {
getOperationList2(this.modalData).then(({data}) => { getOperationList2(this.modalData).then(({data}) => {
@ -3012,42 +3243,80 @@ export default {
// FAI // FAI
saveData () { saveData () {
if (this.modalData.bu === '' || this.modalData.bu == null) {
this.$message.warning('请选择BU!')
return
}
if (this.modalData.seqNo === '' || this.modalData.seqNo == null) {
this.$message.warning('请选择派工单!')
return
}
if (this.modalData.orderNo === '' || this.modalData.orderNo == null) {
this.$message.warning('请选择工单!')
return
}
if (this.modalData.specialTaskFlag !== 'Y' && (this.modalData.partNo === '' || this.modalData.partNo == null)) {
this.$message.warning('请选择物料!')
// if (this.modalData.bu === '' || this.modalData.bu == null) {
// this.$message.warning('BU')
// return
// }
// if (this.modalData.seqNo === '' || this.modalData.seqNo == null) {
// this.$message.warning('')
// return
// }
// if (this.modalData.orderNo === '' || this.modalData.orderNo == null) {
// this.$message.warning('')
// return
// }
// if (this.modalData.specialTaskFlag !== 'Y' && (this.modalData.partNo === '' || this.modalData.partNo == null)) {
// this.$message.warning('')
// return
// }
// if (this.modalData.operationDesc === '' || this.modalData.operationDesc == null) {
// this.$message.warning('')
// return
// }
// if (this.modalData.specialTaskFlag !== 'Y' && (this.modalData.resourceId === '' || this.modalData.resourceId == null)) {
// this.$message.warning('')
// return
// }
// if (this.modalData.rollQty === '' || this.modalData.rollQty == null) {
// this.$message.warning('')
// return
// }
// if (this.modalData.umId === '' || this.modalData.umId == null) {
// this.$message.warning('')
// return
// }
// if (this.controlData.baseData === '' && (this.modalData.templateId == null || this.modalData.templateId === '')) {
// this.$message.warning('')
// return
// }
this.saveFlag = true
if (this.modalData.operationDesc==null ||this.modalData.operationDesc==''){
this.$message.warning('请选择工序!')
return return
} }
if (this.modalData.operationDesc === '' || this.modalData.operationDesc == null) {
this.$message.warning('请选择工序!')
if (this.modalData.partNo==null ||this.modalData.partNo==''){
this.$message.warning('请填写物料编码!')
return return
} }
if (this.modalData.specialTaskFlag !== 'Y' && (this.modalData.resourceId === '' || this.modalData.resourceId == null)) {
this.$message.warning('请选择机台!')
if (this.modalData.eamObjectId==null ||this.modalData.eamObjectId==''){
this.$message.warning('请填写设备编码!')
return return
} }
if (this.modalData.rollQty === '' || this.modalData.rollQty == null) {
this.$message.warning('请填写送检数量!')
if (this.modalData.sopNum==null ||this.modalData.sopNum==''){
this.$message.warning('请填写SOP编码!')
return return
} }
if (this.modalData.umId === '' || this.modalData.umId == null) {
this.$message.warning('请选择单位!')
if (this.modalData.changeLineTime==null ||this.modalData.changeLineTime==''){
this.$message.warning('换线时间不能为空!')
return return
} }
if (this.controlData.baseData === '控制' && (this.modalData.templateId == null || this.modalData.templateId === '')) {
this.$message.warning('请选择检验模板!')
if (this.modalData.changePeople==null ||this.modalData.changePeople==''){
this.$message.warning('换线人员不能为空!')
return return
} }
// await queryPartDescByNo(this.modalData).then(({data})=>{
// if (data.code==0){
// this.modalData.partDesc = data.rows[0].partDesc
// }else {
// this.$message.error("")
// this.saveFlag = false
// }
// })
// //
// if (!this.saveFlag){
// return
// }
this.saveLoading = true this.saveLoading = true
if (this.modalData.flag === '1') { if (this.modalData.flag === '1') {
savePQCInspection(this.modalData).then(({data}) => { savePQCInspection(this.modalData).then(({data}) => {
@ -3091,7 +3360,61 @@ export default {
} }
}) })
}, },
queryUserDefaultOperationListByUsername(){
let json = {
username:this.$store.state.user.name
}
queryUserDefaultOperationListByUsername(json).then(({data})=>{
if (data.code==2){
this.modalData.operationDesc = data.rows[0].operation
}
}).catch()
},
queytOperationList(){
queytOperationList().then(({data})=>{
if (data && data.code === 0) {
this.operationList = data.rows
}
}).catch((error)=>{
console.log("失败")
console.log(error)
})
},
async queryOperationResourceList(){
let json = {
operation:this.modalData.operationDesc
}
await queryOperationResourceList(json).then(({data})=>{
if (data.code==0){
// this.queryResourceData = data.rows[0].resource
this.eamObjectList = data.rows
// this.queryResourceData = data.rows
// for (let i = 0; i < data.rows.length; i++){
// console.log(i)
// this.queryResourceData.add(data.rows[i].resource)
// }
// this.$message.success(this.queryResourceData)
}
}).catch()
},
async queryEamObjectlist(){
let json = {
resourceID: this.queryResourceData
}
await queryEamObjectlist(json).then(({data})=>{
if (data.code==0){
this.eamObjectList = data.rows
}
}).catch()
},
async operationDescInput(){
this.queryResourceData = ''
this.eamObjectList = []
//
await this.queryOperationResourceList()
//
// await this.queryEamObjectlist()
},
// //
addModal () { addModal () {
this.modalData = { this.modalData = {
@ -3106,13 +3429,13 @@ export default {
inspectorNo: '', inspectorNo: '',
inspectorName: '', inspectorName: '',
submit_flag: '', submit_flag: '',
orderNo: '',
seqNo: '000#1TSGD',
orderNo: '000#1',
operationDesc: '', operationDesc: '',
operationNo: '', operationNo: '',
resourceId: '', resourceId: '',
resourceDesc: '', resourceDesc: '',
rollQty: '',
seqNo: '',
rollQty: '1',
batchRollNo: '', batchRollNo: '',
invdefinetype: '', invdefinetype: '',
sku: '', sku: '',
@ -3126,10 +3449,20 @@ export default {
umId: this.umList[0].umId, umId: this.umList[0].umId,
umName: this.umList[0].umName, umName: this.umList[0].umName,
sjzs: '', sjzs: '',
changeLineTime: new Date(),
sopNum:'',
objectID:'',
changePeople:[this.$store.state.user.name]
} }
this.operationList = [] this.operationList = []
this.resourceList = [] this.resourceList = []
this.partList = [] this.partList = []
//
this.queytOperationList()
//
this.queryUserDefaultOperationListByUsername()
//
this.operationDescInput()
this.modalFlag = true this.modalFlag = true
this.checked = false this.checked = false
}, },
@ -3177,6 +3510,11 @@ export default {
this.modalData.templateName = row.templateName this.modalData.templateName = row.templateName
this.templateModelFlag = false this.templateModelFlag = false
}, },
getRowData3(row){
this.modalData.partNo = row.partNo
this.modalData.partDesc = row.partDesc
this.partFlag = false
},
// //
getRowData1 (row) { getRowData1 (row) {

453
src/views/modules/qc/UserDefaultOperation.vue

@ -0,0 +1,453 @@
<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>
Loading…
Cancel
Save