This commit is contained in:
liushuai
2020-02-20 08:50:53 +08:00
parent 32ca9275e0
commit ab082f5742
5 changed files with 369 additions and 22 deletions

View File

@@ -28,6 +28,32 @@ export function QualityType() {
} }
}) })
} }
// 初始化不合格原因
export function initReasonsForNonconformity() {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '质检管理_不合格原因_查询数据'
}
})
}
// 初始化不合格处理
export function initDisqualificationTreatment() {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '质检管理_不合格处理_查询数据'
}
})
}
// 初始化质检人员 // 初始化质检人员
export function initPerson() { export function initPerson() {
return request({ return request({
@@ -55,6 +81,62 @@ export function searchgroup(num) {
} }
}) })
} }
// 零件查询
export function searchparts(num) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '质检管理_零件信息_查询数据',
param: '组件流水号=' + num
}
})
}
// 工序查询
export function searchprocedure(num) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '质检管理_工序信息_查询数据',
param: '工艺计划流水号=' + num
}
})
}
// 操作工查询
export function searchoperators(num) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '1',
name: '车间生产管理_工序质检_查询人员数据_电脑端',
param: '工序流水号=' + num
}
})
}
// 新增序间检验
export function submitTable(...param) {
return request({
url: '',
method: 'post',
data: {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '2',
name: '车间生产管理_质检管理_不合格处理',
param: `零部件流水号=${param[0]}&质检类型代码=${param[1]}&数量=${param[2]}&是否合格=${param[3]}&人员编号=${param[4]}&不合格数量=${param[5]}&不合格原因=${param[6]}&不合格处理=${param[7]}&备注=${param[8]}&操作工=${param[9]}`
}
})
}
// 质检管理_质量情况_查询数据 // 质检管理_质量情况_查询数据
export function selecttable(check1, value1, check2, value2, check3, value3, check4, value4, check5, value5, check6, value6, check7, value7, check8, value8, pageCurrent, pageSize) { export function selecttable(check1, value1, check2, value2, check3, value3, check4, value4, check5, value5, check6, value6, check7, value7, check8, value8, pageCurrent, pageSize) {
return request({ return request({

View File

@@ -2,7 +2,7 @@
<div class="app-container"> <div class="app-container">
<el-card> <el-card>
<el-row> <el-row>
<el-select v-model="machineNumberValue" filterable placeholder="选择机床号" size="small" style="margin-left: 10px;width: 180px" clearable @change="machineChange()"> <el-select v-model="machineNumberValue" filterable placeholder="选择机床号" size="small" style="margin-left: 10px;width: 180px;margin-top: 5px" clearable @change="machineChange()">
<el-option <el-option
v-for="item in machineNumber" v-for="item in machineNumber"
:key="item.value" :key="item.value"
@@ -59,10 +59,11 @@
:label="item.label" :label="item.label"
:value="item.value"/> :value="item.value"/>
</el-select> </el-select>
<el-button type="primary" size="small" icon="el-icon-search" style="margin-left: 15px" plain @click="pageSize=20; pageCurrent= 1;selecttable()">查询</el-button> <el-button type="primary" size="small" icon="el-icon-search" style="margin-left: 15px;margin-top: 5px" plain @click="pageSize=20; pageCurrent= 1;selecttable()">查询</el-button>
<el-tooltip :open-delay="1000" effect="dark" content="导出查询数据" placement="top"> <el-tooltip :open-delay="1000" effect="dark" content="导出查询数据" placement="top">
<el-button type="warning" size="small" icon="el-icon-download" plain style="margin-left:10px" @click="exportExcel()">导出</el-button> <el-button type="warning" size="small" icon="el-icon-download" plain style="margin-left:10px" @click="exportExcel()">导出</el-button>
</el-tooltip> </el-tooltip>
<el-button type="distribution" size="small" icon="el-icon-circle-plus-outline" plain style="margin-left:10px" @click="AddTableData()">新增</el-button>
</el-row> </el-row>
</el-card> </el-card>
<el-card> <el-card>
@@ -447,12 +448,153 @@
<img v-for="url in urls" :key="url" :src="url" lazy style="width: 700px;height: 700px"> <img v-for="url in urls" :key="url" :src="url" lazy style="width: 700px;height: 700px">
</viewer> </viewer>
</el-dialog> </el-dialog>
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible10" title="新增质检数据" center style="min-height: 300px" width="700px">
<el-form ref="form2" :model="form2" :rules="rules2" label-position="right" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="质检类型" prop="质检类型">
<el-select v-model="form2.质检类型" disabled filterable placeholder="选择质检类型" style="width:150px" size="small" clearable>
<el-option
v-for="item in QualityTypeNumber"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="机床图号" prop="机床图号">
<el-select v-model="form2.机床图号" filterable placeholder="选择机床图号" size="small" style="width: 150px" clearable @change="machineChange1()">
<el-option
v-for="item in machineNumber"
:key="item.value"
:label="item.label"
:value="item.value">
<div style="float: left">{{ item.label }}</div>
<div style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</div>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="组号" prop="组号">
<el-select v-model="form2.组号" filterable placeholder="选择组号" size="small" style="width:150px" clearable @change="groupChange()">
<el-option
v-for="item in groupNumber1"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="零件图号" prop="零件图号">
<el-select v-model="form2.零件图号" filterable placeholder="选择零件图号" style="width:150px" size="small" clearable @change="partChange">
<el-option
v-for="item in partNum"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="工序" prop="工序">
<el-select v-model="form2.工序" filterable placeholder="选择工序" style="width:150px" size="small" clearable @change="procedureChange">
<el-option
v-for="item in procedureNum"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="操作工" prop="操作工">
<el-select v-model="form2.操作工" filterable placeholder="选择操作工" style="width:150px" size="small" clearable>
<el-option
v-for="item in operators"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="质检情况" prop="质检情况">
<el-select v-model="form2.质检情况" filterable placeholder="选择质检情况" style="width:150px" size="small" clearable>
<el-option
v-for="item in qualityInspection"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="检测数" prop="检测数">
<el-input-number v-model="form2.检测数" :min="0" :step="1" placeholder="检测数" style="width:150px" size="small" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="不合格数量" prop="不合格数量">
<el-input-number v-model="form2.不合格数量" :min="0" :step="1" placeholder="不合格数量" style="width:150px" size="small" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="不合格原因" prop="不合格原因">
<el-select v-model="form2.不合格原因" :disabled="form2.质检情况===1" placeholder="请选择" filterable size="small" style="width: 150px">
<el-option
v-for="item in reasonsForNonconformity"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="不合格处理" prop="不合格处理">
<el-select v-model="form2.不合格处理" :disabled="form2.质检情况===1" placeholder="请选择" filterable size="small" style="width: 150px">
<el-option
v-for="item in disqualificationTreatment"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注">
<el-input v-model="form2.备注" style="width:150px" size="small" clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button
type="primary"
size="small"
icon="el-icon-check"
@click="submitTable">确定</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { initProject, searchgroup, selecttable, QualityType, searchPic, searchTableDetail, searchData, searchData1, processingStatus, initPerson, Prohibit, selecttable22 } from '@/api/Assembly/QualityInspectionInformationInquiry' import { initProject, searchgroup, selecttable, QualityType, searchPic, searchTableDetail, searchData, searchData1, processingStatus, initPerson, Prohibit, selecttable22, initDisqualificationTreatment, initReasonsForNonconformity, searchparts, searchprocedure, searchoperators, submitTable } from '@/api/Assembly/QualityInspectionInformationInquiry'
import { readFile } from '@/utils/request' import { readFile } from '@/utils/request'
import { mapGetters } from 'vuex'
// import { mapGetters } from 'vuex' // import { mapGetters } from 'vuex'
export default { export default {
data() { data() {
@@ -461,15 +603,40 @@ export default {
machineNumber: [], machineNumber: [],
startTime: '', startTime: '',
endTime: '', endTime: '',
form2: {
机床图号: '',
组号: '',
零件图号: '',
工序: '',
质检类型: 10,
质检情况: 1,
检测数: '',
不合格数量: '',
不合格原因: '',
不合格处理: '',
备注: '',
操作工: ''
},
rules2: {
操作工: [{ required: true, message: '请选择操作工' }],
工序: [{ required: true, message: '请选择工序' }],
质检情况: [{ required: true, message: '请选择质检情况' }]
},
urls: [], urls: [],
URL: '', URL: '',
number: '', number: '',
reasonsForNonconformity: [],
disqualificationTreatment: [],
operators: [],
groupNumberValue: '', groupNumberValue: '',
groupNumber: [], groupNumber: [],
groupNumber1: [],
partNum: [],
procedureNum: [],
gridData: [], gridData: [],
QualityTypeNumber: [], QualityTypeNumber: [],
QualityTypeValue: '', QualityTypeValue: '',
qualityInspectionValue: 1, qualityInspectionValue: '',
qualityInspection: [ qualityInspection: [
{ {
value: 1, value: 1,
@@ -490,6 +657,7 @@ export default {
person: [], person: [],
dialogFormVisible: false, dialogFormVisible: false,
dialogFormVisible4: false, dialogFormVisible4: false,
dialogFormVisible10: false,
loading: false, loading: false,
total: 0, // 总条数 total: 0, // 总条数
pageSize: 20, // 每页显示条数 pageSize: 20, // 每页显示条数
@@ -502,6 +670,14 @@ export default {
// pageCurrent2: 1 // 后台获取页 // pageCurrent2: 1 // 后台获取页
} }
}, },
computed: {
...mapGetters([
'sidebar',
'avatar',
'name',
'id' // 人员编号
])
},
created() { created() {
}, },
mounted() { mounted() {
@@ -540,6 +716,22 @@ export default {
}) })
} }
}) })
initDisqualificationTreatment().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.disqualificationTreatment.push({
label: response.data[i].不合格处理文本,
value: response.data[i].不合格处理
})
}
})
initReasonsForNonconformity().then(response => {
for (let i = 0; i < response.data.length; i++) {
this.reasonsForNonconformity.push({
label: response.data[i].不合格原因文本,
value: response.data[i].不合格原因
})
}
})
}, },
approvalPass(row) { approvalPass(row) {
this.$confirm('是否禁用?', '提示', { this.$confirm('是否禁用?', '提示', {
@@ -562,6 +754,16 @@ export default {
}) })
}) })
}, },
AddTableData() {
if (this.$refs['form2'] !== undefined) {
this.$refs['form2'].resetFields()
}
this.partNum = []
this.groupNumber = []
this.procedureNum = []
this.operators = []
this.dialogFormVisible10 = true
},
formatJson(filterVal, jsonData) { formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => { return jsonData.map(v => filterVal.map(j => {
return v[j] return v[j]
@@ -617,6 +819,69 @@ export default {
} }
}) })
}, },
machineChange1() {
this.form2.组号 = ''
this.groupNumber1 = []
searchgroup(this.form2.机床图号).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.groupNumber1.push({
label: response.data[i].组号,
value: response.data[i].组件流水号
})
}
})
},
groupChange() {
this.form2.零件图号 = ''
this.partNum = []
searchparts(this.form2.组号).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.partNum.push({
label: response.data[i].零件图号,
value: response.data[i].工艺计划流水号
})
}
})
},
partChange() {
this.form2.工序 = ''
this.procedureNum = []
searchprocedure(this.form2.零件图号).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.procedureNum.push({
label: response.data[i].工艺名称,
value: response.data[i].工序流水号
})
}
})
},
procedureChange() {
searchoperators(this.form2.工序).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.operators.push({
label: response.data[i].姓名,
value: response.data[i].人员编号
})
}
})
},
submitTable() {
this.$refs['form2'].validate((valid) => {
if (valid) {
submitTable(this.form2.工序, this.form2.质检类型, this.form2.检测数, this.form2.质检情况, this.id, this.form2.不合格数量, this.form2.不合格原因, this.form2.不合格处理, this.form2.备注, this.form2.操作工).then(response => {
if (response.data[0].result === '1') {
this.dialogFormVisible10 = false
this.$message.success('新增成功')
this.selecttable()
} else {
this.$message.error('新增失败')
}
})
} else {
return false
}
})
},
searchTableDetail(type, num) { searchTableDetail(type, num) {
searchTableDetail(type, num).then(response => { searchTableDetail(type, num).then(response => {
this.gridData = response.data this.gridData = response.data

View File

@@ -71,7 +71,7 @@ export default {
return { return {
project: [], project: [],
projectValue: '', projectValue: '',
groupName: '', groupName: 'MX',
Group: [{ Group: [{
value: 'MX', value: 'MX',
name: 'MX' name: 'MX'

View File

@@ -129,7 +129,7 @@
@current-change="handleCurrentChange"/> @current-change="handleCurrentChange"/>
</div> </div>
</el-card> </el-card>
<el-card> <el-card v-show="groupName!=='MX'">
<el-table <el-table
:data="tableData10" :data="tableData10"
:cell-class-name="cell" :cell-class-name="cell"
@@ -472,13 +472,13 @@ export default {
methods: { methods: {
cell({ row, column, rowIndex, columnIndex }) { cell({ row, column, rowIndex, columnIndex }) {
if (row.对比类型 === 1 && columnIndex === 2) { if (row.对比类型 === 1 && columnIndex === 2) {
return 'rgb196' return 'ContrastMaterial1'
} }
if (row.对比类型 === 3 && columnIndex === 1) { if (row.对比类型 === 3 && columnIndex === 1) {
return 'rgb196' return 'ContrastMaterial1'
} }
if (row.对比类型 === 4 && columnIndex === 3) { if (row.对比类型 === 4 && columnIndex === 3) {
return 'rgb196' return 'ContrastMaterial1'
} }
}, },
async fetchData() { async fetchData() {
@@ -784,9 +784,9 @@ export default {
.el-table .warning-row { .el-table .warning-row {
background: red; background: red;
} }
/*.rgb196{*/ .ContrastMaterial1{
/* background: palevioletred !important;*/ background: palevioletred !important;
/*}*/ }
</style> </style>
<style scoped> <style scoped>

View File

@@ -26,7 +26,7 @@
</el-tooltip> </el-tooltip>
<el-row style="margin-top: 5px;margin-bottom: 3px"> <el-row style="margin-top: 5px;margin-bottom: 3px">
<span>机床名称</span> <span>机床名称</span>
<el-input v-model="machineName" readonly size="small" placeholder="机床名称" style="width: 200px;"/> <el-input v-model="machineName" readonly size="small" placeholder="机床名称" style="width: 200px;margin-right: 10px"/>
<span>机床数量</span> <span>机床数量</span>
<el-input v-model="machineNum" readonly size="small" placeholder="机床数量" style="width: 200px;"/> <el-input v-model="machineNum" readonly size="small" placeholder="机床数量" style="width: 200px;"/>
</el-row> </el-row>
@@ -399,14 +399,14 @@ export default {
}, },
methods: { methods: {
cell({ row, column, rowIndex, columnIndex }) { cell({ row, column, rowIndex, columnIndex }) {
if (row.对比类型 === 1 && columnIndex === 2) { if (row.对比类型 === 1 && columnIndex === 1) {
return 'rgb196' return 'ContrastMaterial'
} }
if (row.对比类型 === 3 && columnIndex === 1) { if (row.对比类型 === 3 && columnIndex === 0) {
return 'rgb196' return 'ContrastMaterial'
} }
if (row.对比类型 === 4 && columnIndex === 3) { if (row.对比类型 === 4 && columnIndex === 2) {
return 'rgb196' return 'ContrastMaterial'
} }
}, },
handle(row) { handle(row) {
@@ -657,9 +657,9 @@ export default {
</script> </script>
<style> <style>
/*.rgb196{*/ .ContrastMaterial{
/* background: palevioletred !important;*/ background: palevioletred !important;
/* }*/ }
</style> </style>
<style scoped> <style scoped>