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() {
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) {
return request({

View File

@@ -2,7 +2,7 @@
<div class="app-container">
<el-card>
<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
v-for="item in machineNumber"
:key="item.value"
@@ -59,10 +59,11 @@
:label="item.label"
:value="item.value"/>
</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-button type="warning" size="small" icon="el-icon-download" plain style="margin-left:10px" @click="exportExcel()">导出</el-button>
</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-card>
<el-card>
@@ -447,12 +448,153 @@
<img v-for="url in urls" :key="url" :src="url" lazy style="width: 700px;height: 700px">
</viewer>
</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>
</template>
<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 { mapGetters } from 'vuex'
// import { mapGetters } from 'vuex'
export default {
data() {
@@ -461,15 +603,40 @@ export default {
machineNumber: [],
startTime: '',
endTime: '',
form2: {
机床图号: '',
组号: '',
零件图号: '',
工序: '',
质检类型: 10,
质检情况: 1,
检测数: '',
不合格数量: '',
不合格原因: '',
不合格处理: '',
备注: '',
操作工: ''
},
rules2: {
操作工: [{ required: true, message: '请选择操作工' }],
工序: [{ required: true, message: '请选择工序' }],
质检情况: [{ required: true, message: '请选择质检情况' }]
},
urls: [],
URL: '',
number: '',
reasonsForNonconformity: [],
disqualificationTreatment: [],
operators: [],
groupNumberValue: '',
groupNumber: [],
groupNumber1: [],
partNum: [],
procedureNum: [],
gridData: [],
QualityTypeNumber: [],
QualityTypeValue: '',
qualityInspectionValue: 1,
qualityInspectionValue: '',
qualityInspection: [
{
value: 1,
@@ -490,6 +657,7 @@ export default {
person: [],
dialogFormVisible: false,
dialogFormVisible4: false,
dialogFormVisible10: false,
loading: false,
total: 0, // 总条数
pageSize: 20, // 每页显示条数
@@ -502,6 +670,14 @@ export default {
// pageCurrent2: 1 // 后台获取页
}
},
computed: {
...mapGetters([
'sidebar',
'avatar',
'name',
'id' // 人员编号
])
},
created() {
},
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) {
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) {
return jsonData.map(v => filterVal.map(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).then(response => {
this.gridData = response.data

View File

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

View File

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

View File

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