yfy 3 years ago
parent
commit
347f0d2e86
  1. 59
      src/api/qc/qc.js
  2. 2
      src/views/modules/qc/FAIResultEntry.vue
  3. 3
      src/views/modules/qc/IPQCResultEntry.vue
  4. 1224
      src/views/modules/qc/IQCResultEntry.vue
  5. 101
      src/views/modules/qc/qcFamilyAttribute.vue
  6. 155
      src/views/modules/qc/qcItem.vue
  7. 130
      src/views/modules/qc/qcMethod.vue
  8. 53
      src/views/modules/qc/qcPartAttribute.vue
  9. 54
      src/views/modules/qc/qcTemplate.vue
  10. 135
      src/views/modules/qc/qc_upload.vue

59
src/api/qc/qc.js

@ -1,48 +1,19 @@
import { createAPI } from "@/utils/httpRequest.js";
// ===================================== 检验方法 =====================================
export const qcCheckOutMethodSearch = data => createAPI(`/pms/qc/qcCheckOutMethodSearch`,'post',data)
export const qcCheckOutMethodSave = data => createAPI(`/pms/qc/qcCheckOutMethodSave`,'post',data)
export const qcCheckOutMethodUpdate = data => createAPI(`/pms/qc/qcCheckOutMethodUpdate`,'post',data)
export const qcCheckOutMethodDelete = data => createAPI(`/pms/qc/qcCheckOutMethodDelete`,'post',data)
export const qcMethodSearch = data => createAPI(`/pms/qc/qcMethodSearch`,'post',data)
export const qcMethodSave = data => createAPI(`/pms/qc/qcMethodSave`,'post',data)
export const qcMethodUpdate = data => createAPI(`/pms/qc/qcMethodUpdate`,'post',data)
export const qcMethodDelete = data => createAPI(`/pms/qc/qcMethodDelete`,'post',data)
// ===================================== 检验项目 =====================================
export const qcCheckOutItemSearch = data => createAPI(`/pms/qc/qcCheckOutItemSearch`,'post',data)
export const qcCheckOutItemSave = data => createAPI(`/pms/qc/qcCheckOutItemSave`,'post',data)
export const qcCheckOutItemUpdate = data => createAPI(`/pms/qc/qcCheckOutItemUpdate`,'post',data)
export const qcCheckOutItemDelete = data => createAPI(`/pms/qc/qcCheckOutItemDelete`,'post',data)
export const qcItemSearch = data => createAPI(`/pms/qc/qcItemSearch`,'post',data)
export const qcItemSave = data => createAPI(`/pms/qc/qcItemSave`,'post',data)
export const qcItemUpdate = data => createAPI(`/pms/qc/qcItemUpdate`,'post',data)
export const qcItemDelete = data => createAPI(`/pms/qc/qcItemDelete`,'post',data)
export const uploadExcel = data => createAPI(`/pms/qc/uploadExcel`,'post',data)
// ===================================== 根据物料设置检验模板 =====================================
export const qcPartModelSearch = data => createAPI(`/pms/qc/qcPartModelSearch`,'post',data)
export const qcPartModelSave = data => createAPI(`/pms/qc/qcPartModelSave`,'post',data)
export const qcPartModelUpdate = data => createAPI(`/pms/qc/qcPartModelUpdate`,'post',data)
export const qcPartModelDelete = data => createAPI(`/pms/qc/qcPartModelDelete`,'post',data)
// ===================================== 根据分类设置检验模板 =====================================
export const qcCheckOutModelSearch = data => createAPI(`/pms/qc/qcCheckOutModelSearch`,'post',data)
export const qcCheckOutModelSave = data => createAPI(`/pms/qc/qcCheckOutModelSave`,'post',data)
export const qcCheckOutModelUpdate = data => createAPI(`/pms/qc/qcCheckOutModelUpdate`,'post',data)
export const qcCheckOutModelDelete = data => createAPI(`/pms/qc/qcCheckOutModelDelete`,'post',data)
export const searchModalDetails = data => createAPI(`/pms/qc/searchModalDetails`,'post',data)
export const saveModalDetails = data => createAPI(`/pms/qc/saveModalDetails`,'post',data)
export const deleteModalDetails = data => createAPI(`/pms/qc/deleteModalDetails`,'post',data)
export const getItemLists= data => createAPI(`/pms/qc/getItemLists`,'post',data)
// ===================================== 检验录入 =====================================
export const qcInspectionInformationSearch = data => createAPI(`/pms/qc/qcInspectionInformationSearch`,'post',data)
export const modalCodeBlur = data => createAPI(`/pms/qc/modalCodeBlur`,'post',data)
export const qcInspectionInformationSave = data => createAPI(`/pms/qc/qcInspectionInformationSave`,'post',data)
export const masterInformationSearch = data => createAPI(`/pms/qc/masterInformationSearch`,'post',data)
export const saveMasterInformationValue = data => createAPI(`/pms/qc/saveMasterInformationValue`,'post',data)
export const searchModelTree = data => createAPI(`/pms/qc/searchModelTree`,'post',data)
export const detailInformationSearch = data => createAPI(`/pms/qc/detailInformationSearch`,'post',data)
export const checkCompleted = data => createAPI(`/pms/qc/checkCompleted`,'post',data)
export const selectModelByPartNo = data => createAPI(`/pms/qc/selectModelByPartNo`,'post',data)
export const workOrderSearch = data => createAPI(`/pms/qc/workOrderSearch`,'post',data)
export const selectInformationByWorkOrderNo = data => createAPI(`/pms/qc/selectInformationByWorkOrderNo`,'post',data)
// ===================================== 质检员信息 =====================================
export const inspectorSearch = data => createAPI(`/pms/qc/inspectorSearch`,'post',data)
export const inspectorSave = data => createAPI(`/pms/qc/inspectorSave`,'post',data)
@ -56,7 +27,7 @@ export const templateUpdate = data => createAPI(`/pms/qc/templateUpdate`,'post',
export const templateDelete = data => createAPI(`/pms/qc/templateDelete`,'post',data)
export const InspectionTypeSearch = data => createAPI(`/pms/qc/InspectionTypeSearch`,'post',data)
export const objectSearch = data => createAPI(`/pms/qc/objectSearch`,'post',data)
export const ItemDetailsSearch = data => createAPI(`/pms/qc/ItemDetailsSearch`,'post',data)
export const templateDetailsSearch = data => createAPI(`/pms/qc/templateDetailsSearch`,'post',data)
export const addItemDetails = data => createAPI(`/pms/qc/addItemDetails`,'post',data)
export const getItemList = data => createAPI(`/pms/qc/getItemList`,'post',data)
export const delItemDetails = data => createAPI(`/pms/qc/delItemDetails`,'post',data)
@ -139,8 +110,16 @@ export const getResourceList = data => createAPI(`/pms/qc/getResourceList`,'post
export const getPartList = data => createAPI(`/pms/qc/getPartList`,'post',data)
export const saveOsInspection = data => createAPI(`/pms/qc/saveOsInspection`,'post',data)
// ===================================== IQC检验 =====================================
export const qcIQCInspectionSearch = data => createAPI(`/pms/qc/qcIQCInspectionSearch`,'post',data)
export const iqcDetailSearch = data => createAPI(`/pms/qc/iqcDetailSearch`,'post',data)
export const selectIQCSubDetailedRecord = data => createAPI(`/pms/qc/selectIQCSubDetailedRecord`,'post',data)
export const checkIQCSubDetailValue = data => createAPI(`/pms/qc/checkIQCSubDetailValue`,'post',data)
export const saveIQCDetailedRecord = data => createAPI(`/pms/qc/saveIQCDetailedRecord`,'post',data)
export const checkIQCIsSubmit = data => createAPI(`/pms/qc/checkIQCIsSubmit`,'post',data)
export const saveIQCSubDetailed = data => createAPI(`/pms/qc/saveIQCSubDetailed`,'post',data)
export const saveIQCSubmitResult = data => createAPI(`/pms/qc/saveIQCSubmitResult`,'post',data)
export const iqcRecordDelete = data => createAPI(`/pms/qc/iqcRecordDelete`,'post',data)

2
src/views/modules/qc/FAIResultEntry.vue

@ -329,7 +329,6 @@
</el-table>
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<!-- 上传文件的modal -->
<qcFAIUploadFile ref="qcFAIUploadFile" @refreshPageTables="getDataList()" v-drag></qcFAIUploadFile>
</div>
@ -1192,6 +1191,7 @@
obj.subDetailValue = "";
obj.samplingLocation = "";
this.tableData.push(obj);
console.log(this.tableData)
} else {
this.$alert("记录已提交!", '错误', {
confirmButtonText: '确定'

3
src/views/modules/qc/IPQCResultEntry.vue

@ -1407,6 +1407,7 @@
obj.subDetailValue = "";
obj.samplingLocation = "";
this.tableData.push(obj);
console.log(this.tableData)
} else {
this.$alert("记录已提交!", '错误', {
confirmButtonText: '确定'
@ -1441,7 +1442,6 @@
message: "删除成功,记得保存修改喔!",
type: "success",
});
//this.$refs.tb.clearSelection();
return;
} else {
this.$message({
@ -1459,7 +1459,6 @@
})
}
})
},
//
saveSubDetailResult(){

1224
src/views/modules/qc/IQCResultEntry.vue
File diff suppressed because it is too large
View File

101
src/views/modules/qc/qcFamilyAttribute.vue

@ -20,8 +20,7 @@
<el-button type="primary" @click="addModal()">新增</el-button>
</el-form-item>
<el-form-item :label="' '">
<input ref="file" type="file" accept=".xlsx,.xls" style="display: none;" @change="uploadFile">
<el-button type="primary" icon="el-icon-upload" @click="clickFile">导入</el-button>
<el-button type="primary" icon="el-icon-upload" @click="qcUpload()">导入</el-button>
<download-excel
:fields="fields()"
:data="exportData"
@ -316,6 +315,8 @@
</el-footer>
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<!-- 导入 -->
<qcUpload ref="qcUpload" @refreshPageTables="getDataList()" v-drag></qcUpload>
</div>
</template>
@ -329,15 +330,15 @@
deletePartAttributeDetails, //
searchPartAttributeDetails, //
saveAttributeDetailed, //
uploadFamilyAttributeExcel, //
searchModalDetails,
getItemLists //
} from "@/api/qc/qc.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import qcUpload from "./qc_upload";
export default {
components: {
Chooselist
Chooselist,
qcUpload
},
watch: {
@ -390,11 +391,23 @@
createBy: this.$store.state.user.name
},
columnList: [
{
columnProp: 'familyID',
headerAlign: "center",
align: "left",
columnLabel: '物料类别编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'familyName',
headerAlign: "center",
align: "left",
columnLabel: '物料分类名称',
columnLabel: '物料类名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -811,47 +824,6 @@
this.detailList = data.rows
})
},
// //
// saveModalDetails(){
// if(this.detailData.itemNo == "" || this.detailData.itemNo == null){
// this.$alert('', '', {
// confirmButtonText: ''
// })
// return false
// }
// saveModalDetails(this.detailData).then(({data}) => {
// if (data && data.code == 0) {
// searchModalDetails(this.detailData).then(({data}) => {
// this.detailList = data.rows
// })
// this.addDetailModalFlag=false;
// this.$message({
// message: '',
// type: 'success',
// duration: 1500,
// onClose: () => {
// }
// })
// } else {
// this.$alert(data.msg, '', {
// confirmButtonText: ''
// })
// }
// })
// },
// itemNoBlur(){
// let inData={
// itemType:'D',
// itemNo:this.detailData.itemNo
// }
// qcCheckOutItemSearch(inData).then(({data}) => {
// if(data.rows.length>0){
// this.detailData.itemDesc = data.rows[0].itemDesc
// }else {
// this.detailData.itemDesc=''
// }
// })
// },
//
deletePartAttributeDetails(row){
this.$confirm(`是否删除这个检验模板?`, '提示', {
@ -960,33 +932,14 @@
// end
//
clickFile() {
this.$refs.file.dispatchEvent(new MouseEvent('click'))
},
async uploadFile() {
const file = this.$refs.file.files
let extName = file[0].name.substring(file[0].name.lastIndexOf('.')).toLowerCase()
if (extName === '.xlsx' || extName === '.xls') {
let formData = new FormData()
formData.append('file', file[0])
uploadFamilyAttributeExcel(formData).then(({data}) => {
if(data.code === 0) {
this.getDataList()
this.$message({
type: 'success',
message: '数据导入成功!'
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}
else {
this.$message.error('数据导入失败,请选择正确的xlsx模板文件')
}
this.load();
qcUpload(){
let currentData = {
flag: 'familyAttribute',
};
//
this.$nextTick(() => {
this.$refs.qcUpload.init(currentData);
})
},
}

155
src/views/modules/qc/qcItemMaintenance.vue → src/views/modules/qc/qcItem.vue

@ -8,19 +8,15 @@
</div>
<!-- 条件查询 -->
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
<el-form-item :label="'项目编码'">
<el-input v-model="searchData.itemNo" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'项目名称'">
<el-input v-model="searchData.itemDesc" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-form-item :label="' '">
<el-button type="primary" @click="getDataList()">查询</el-button>
<el-button type="primary" @click="addModal()">新增</el-button>
</el-form-item>
<el-form-item :label="' '">
<input ref="file" type="file" accept=".xlsx,.xls" style="display: none;" @change="uploadFile">
<el-button type="primary" icon="el-icon-upload" @click="clickFile">导入</el-button>
<el-button type="primary" icon="el-icon-upload" @click="qcUpload()">导入</el-button>
<download-excel
:fields="fields()"
:data="exportData"
@ -68,7 +64,7 @@
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="updateModal(scope.row)">编辑</a>
<a type="text" size="small" @click="deleteEamPropertiesItem(scope.row)">删除</a>
<a type="text" size="small" @click="deleteModal(scope.row)">删除</a>
</template>
</el-table-column>
</el-table>
@ -86,6 +82,15 @@
</el-select>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item >
<span slot="label" style="" @click="getBaseList(1036)"><a herf="#">检验方法编码</a></span>
<el-input v-model="modalData.methodNo" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="检验方法名称:">
<el-input v-model="modalData.methodName" disabled style="width: 120px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="参照值:">
<el-input v-if="modalData.valueTypeDb == 'T'" v-model="modalData.defaultValue" style="width: 120px"></el-input>
@ -100,31 +105,32 @@
<el-input v-if="modalData.valueTypeDb == 'N'" v-model="modalData.minValue" type="number" style="width: 120px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="检验方法说明:">
<el-input v-model="modalData.itemRemark" style="width: 390px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="saveData()">保存</el-button>
<el-button type="primary" @click="modalFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<!-- 导入 -->
<qcUpload ref="qcUpload" @refreshPageTables="getDataList()" v-drag></qcUpload>
</div>
</template>
<script>
import {
qcCheckOutItemSearch, //
qcCheckOutItemSave, //
qcCheckOutItemUpdate, //
qcCheckOutItemDelete, //
uploadExcel //
qcItemSearch, //
qcItemSave, //
qcItemUpdate, //
qcItemDelete, //
} from "@/api/qc/qc.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import qcUpload from "./qc_upload";
export default {
components: {
Chooselist,
qcUpload
},
watch: {
searchData: {
@ -142,10 +148,8 @@
},
data () {
return {
//
favorite: false,
// start
exportData: [],
exportName: "检验项目" + this.dayjs().format('YYYYMMDDHHmmss'),
@ -153,7 +157,6 @@
exportFooter: [],
exportList:[],
// end
searchData: {
itemNo: '',
itemDesc: '',
@ -175,6 +178,8 @@
minValue: '',
itemRemark: '',
itemType: 'D',
methodNo: '',
methodName: ''
},
//
columnList: [
@ -182,7 +187,7 @@
columnProp: 'itemNo',
headerAlign: 'center',
align: 'left',
columnLabel: '检验明细编码',
columnLabel: '检验项目编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -194,7 +199,7 @@
columnProp: 'itemDesc',
headerAlign: 'center',
align: 'left',
columnLabel: '检验明细名称',
columnLabel: '检验项目名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -203,7 +208,19 @@
fixed: '',
},
{
columnProp: 'itemRemark',
columnProp: 'methodName',
headerAlign: 'center',
align: 'left',
columnLabel: '检验方法',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'methodRemark',
headerAlign: 'center',
align: 'left',
columnLabel: '检验方法说明',
@ -275,30 +292,48 @@
this.favoriteIsOk()
},
methods: {
// S
getBaseList (val,type) {
this.tagNo = val
this.$nextTick(() => {
let strVal = ''
if (val === 1036) {
strVal = this.modalData.methodNo
this.$refs.baseList.init(val, strVal)
}
})
},
/* 列表方法的回调 */
getBaseData (val) {
if (this.tagNo === 1036) {
this.modalData.methodNo = val.method_no
this.modalData.methodName = val.method_name
}
},
//
getDataList () {
qcCheckOutItemSearch(this.searchData).then(({data}) => {
qcItemSearch(this.searchData).then(({data}) => {
this.dataList = data.rows
})
},
addModal () {
this.modalData = {
flag: '1',
createdBy: this.$store.state.user.name,
itemNo: '',
itemDesc: '',
valueTypeDb: 'T',
defaultValue: '',
createdBy: this.$store.state.user.name,
maxValue: '',
minValue: '',
itemRemark: '',
itemType: 'D'
itemType: 'D',
methodNo: '',
methodName: ''
}
this.modalDisableFlag = false
this.modalFlag = true
},
updateModal (row) {
this.modalData = {
flag: '2',
@ -311,19 +346,21 @@
minValue: row.minValue,
itemRemark: row.itemRemark,
itemType: 'D',
methodNo: row.methodNo,
methodName: row.methodName
}
this.modalDisableFlag = true
this.modalFlag = true
},
//
deleteEamPropertiesItem (row) {
deleteModal (row) {
this.$confirm(`是否删除这个检验项目?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
qcCheckOutItemDelete(row).then(({data}) => {
if (data && data.code === '0') {
qcItemDelete(row).then(({data}) => {
if (data && data.code == 0) {
this.getDataList()
this.$message({
message: '操作成功',
@ -354,9 +391,15 @@
})
return false
}
if (this.modalData.methodNo == '' || this.modalData.methodNo == null) {
this.$alert('请选择检验方法!', '错误', {
confirmButtonText: '确定'
})
return false
}
if (this.modalData.flag == '1') {
qcCheckOutItemSave(this.modalData).then(({data}) => {
if (data && data.code === '0') {
qcItemSave(this.modalData).then(({data}) => {
if (data && data.code == 0) {
this.getDataList()
this.modalFlag = false
this.$message({
@ -373,8 +416,8 @@
}
})
} else {
qcCheckOutItemUpdate(this.modalData).then(({data}) => {
if (data && data.code === '0') {
qcItemUpdate(this.modalData).then(({data}) => {
if (data && data.code == 0) {
this.getDataList()
this.modalFlag = false
this.$message({
@ -442,15 +485,13 @@
async createExportData() {
this.searchData.limit = -1
this.searchData.page = 1
await qcCheckOutItemSearch(this.searchData).then(({data}) => {
await qcItemSearch(this.searchData).then(({data}) => {
this.exportList= data.rows;
})
return this.exportList;
},
startDownload() {
// this.exportData = this.dataList
},
finishDownload() {
@ -466,39 +507,19 @@
})
json += "}"
let s = eval("(" + json + ")")
return s
},
// end
//
clickFile() {
this.$refs.file.dispatchEvent(new MouseEvent('click'))
},
async uploadFile() {
const file = this.$refs.file.files
let extName = file[0].name.substring(file[0].name.lastIndexOf('.')).toLowerCase()
if (extName === '.xlsx' || extName === '.xls') {
let formData = new FormData()
formData.append('file', file[0])
uploadExcel(formData).then(({data}) => {
if(data.code === 0) {
this.getDataList()
this.$message({
type: 'success',
message: '数据导入成功!'
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}
else {
this.$message.error('数据导入失败,请选择正确的xlsx模板文件')
}
this.load();
qcUpload(){
let currentData = {
flag: 'item',
};
//
this.$nextTick(() => {
this.$refs.qcUpload.init(currentData);
})
},
}

130
src/views/modules/qc/qcCheckOutMethod.vue → src/views/modules/qc/qcMethod.vue

@ -8,13 +8,10 @@
</div>
<!-- 条件查询 -->
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
<el-form-item :label="'检验方法编码'">
<el-input v-model="searchData.methodNo" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'检验方法名称'">
<el-form-item :label="'检验方法'">
<el-input v-model="searchData.methodName" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-form-item :label="' '">
<el-button type="primary" @click="getDataList()">查询</el-button>
<el-button type="primary" @click="addModal()">新增</el-button>
<download-excel
@ -64,7 +61,7 @@
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="updateModal(scope.row)">修改</a>
<a type="text" size="small" @click="deleteEamPropertiesItem(scope.row)">删除</a>
<a type="text" size="small" @click="deleteModal(scope.row)">删除</a>
</template>
</el-table-column>
</el-table>
@ -72,9 +69,6 @@
<!-- 新增和修改 -->
<el-dialog title="检验方法" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="430px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="检验方法编码:">
<el-input v-model="modalData.methodNo" :disabled="modalDisableFlag" style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="检验方法名称:">
<el-input v-model="modalData.methodName" style="width: 120px"></el-input>
</el-form-item>
@ -94,39 +88,20 @@
<script>
import {
qcCheckOutMethodSearch,
qcCheckOutMethodSave,
qcCheckOutMethodUpdate,
qcCheckOutMethodDelete,
qcMethodSearch, //
qcMethodSave, //
qcMethodUpdate, //
qcMethodDelete, //
} from "@/api/qc/qc.js"
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
export default {
watch: {
searchData: {
deep: true,
handler: function (newV, oldV) {
this.searchData.methodNo = this.searchData.methodNo.toUpperCase()
}
},
methodData: {
deep: true,
handler: function (newV, oldV) {
this.methodData.methodNo = this.methodData.methodNo.toUpperCase()
}
},
modalData: {
deep: true,
handler: function (newV, oldV) {
this.modalData.methodNo = this.modalData.methodNo.toUpperCase()
}
}
},
data () {
return {
//
favorite: false,
// start
exportData: [],
exportName: "检验方法" + this.dayjs().format('YYYYMMDDHHmmss'),
@ -134,11 +109,9 @@
exportFooter: [],
exportList:[],
// end
searchData: {
methodNo: '',
methodName: '',
methodType: 'D'
},
height: 200,
dataList: [],
@ -149,7 +122,6 @@
methodNo: '',
valueNo: '',
availableValue: '',
methodType: 'D',
createBy: this.$store.state.user.name
},
modalData: {
@ -158,63 +130,68 @@
methodName: '',
createBy: this.$store.state.user.name,
methodRemark: '',
methodType: 'D'
},
//
columnList: [
{
userId: this.$store.state.user.name,
functionId: 101008,
serialNumber: '101008TableEamPropertiesItemID',
tableId: '101008Table',
tableName: 'common',
columnProp: 'methodNo',
headerAlign: 'center',
align: 'left',
columnLabel: '检验方法编码',
columnLabel: '方法编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 101008,
serialNumber: '101008TableEamPropertiesItemDesc',
tableId: '101008Table',
tableName: 'common',
columnProp: 'methodName',
headerAlign: 'center',
align: 'left',
columnLabel: '检验方法名称',
columnLabel: '方法名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140
},
{
userId: this.$store.state.user.name,
functionId: 101008,
serialNumber: '101008TableEamPropertiesItemRemark',
tableId: '101008Table',
tableName: 'common',
columnProp: 'methodRemark',
headerAlign: 'center',
align: 'left',
columnLabel: '检验方法说明',
columnLabel: '方法说明',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'createDate',
headerAlign: 'center',
align: 'left',
columnLabel: '创建时间',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
{
columnProp: 'createBy',
headerAlign: 'center',
align: 'left',
columnLabel: '创建人',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 140
},
]
}
@ -229,10 +206,9 @@
this.favoriteIsOk()
},
methods: {
//
getDataList () {
qcCheckOutMethodSearch(this.searchData).then(({data}) => {
qcMethodSearch(this.searchData).then(({data}) => {
this.dataList = data.rows
})
},
@ -240,11 +216,10 @@
addModal () {
this.modalData = {
flag: '1',
createBy: this.$store.state.user.name,
methodNo: '',
methodName: '',
createBy: this.$store.state.user.name,
methodRemark: '',
methodType: 'D'
}
this.modalDisableFlag = false
this.modalFlag = true
@ -253,24 +228,23 @@
updateModal (row) {
this.modalData = {
flag: '2',
createBy: this.$store.state.user.name,
methodNo: row.methodNo,
methodName: row.methodName,
createBy: this.$store.state.user.name,
methodRemark: row.methodRemark,
methodType: 'D'
}
this.modalDisableFlag = true
this.modalFlag = true
},
//
deleteEamPropertiesItem (row) {
this.$confirm(`是否删除这个检方法?`, '提示', {
deleteModal (row) {
this.$confirm(`是否删除这个检方法?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
qcCheckOutMethodDelete(row).then(({data}) => {
if (data && data.code === '0') {
qcMethodDelete(row).then(({data}) => {
if (data && data.code == 0) {
this.getDataList()
this.$message({
message: '操作成功',
@ -290,13 +264,6 @@
},
// /
saveData () {
console.log(this.modalData)
if (this.modalData.methodNo == '' || this.modalData.methodNo == null) {
this.$alert('请输入检验方法编码!', '错误', {
confirmButtonText: '确定'
})
return false
}
if (this.modalData.methodName == '' || this.modalData.methodName == null) {
this.$alert('请输入检验方法名称!', '错误', {
confirmButtonText: '确定'
@ -304,8 +271,8 @@
return false
}
if (this.modalData.flag == '1') { //
qcCheckOutMethodSave(this.modalData).then(({data}) => {
if (data && data.code === '0') {
qcMethodSave(this.modalData).then(({data}) => {
if (data && data.code == 0) {
this.getDataList()
this.modalFlag = false
this.$message({
@ -322,8 +289,8 @@
}
})
} else { //
qcCheckOutMethodUpdate(this.modalData).then(({data}) => {
if (data && data.code === '0') {
qcMethodUpdate(this.modalData).then(({data}) => {
if (data && data.code == 0) {
this.getDataList()
this.modalFlag = false
this.$message({
@ -342,7 +309,6 @@
}
},
//
favoriteIsOk() {
let userFavorite = {
@ -358,7 +324,6 @@
// flag=true;
}
}
})
},
// OR
@ -392,15 +357,13 @@
async createExportData() {
this.searchData.limit = -1
this.searchData.page = 1
await qcCheckOutMethodSearch(this.searchData).then(({data}) => {
await qcMethodSearch(this.searchData).then(({data}) => {
this.exportList= data.rows;
})
return this.exportList;
},
startDownload() {
// this.exportData = this.dataList
},
finishDownload() {
@ -416,7 +379,6 @@
})
json += "}"
let s = eval("(" + json + ")")
return s
},
// end

53
src/views/modules/qc/qcPartAttribute.vue

@ -23,8 +23,7 @@
<el-button type="primary" @click="addModal()">新增</el-button>
</el-form-item>
<el-form-item :label="' '">
<input ref="file" type="file" accept=".xlsx,.xls" style="display: none;" @change="uploadFile">
<el-button type="primary" icon="el-icon-upload" @click="clickFile">导入</el-button>
<el-button type="primary" icon="el-icon-upload" @click="qcUpload()">导入</el-button>
<download-excel
:fields="fields()"
:data="exportData"
@ -330,6 +329,8 @@
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<!-- 导入 -->
<qcUpload ref="qcUpload" @refreshPageTables="getDataList()" v-drag></qcUpload>
</div>
</template>
@ -344,13 +345,14 @@
saveAttributeDetailed, //
getItemLists, //
InspectionTypeSearch, //
uploadPartAttributeExcel //
} from "@/api/qc/qc.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import qcUpload from "./qc_upload";
export default {
components: {
Chooselist
Chooselist,
qcUpload
},
watch: {
@ -359,7 +361,6 @@
return {
//
favorite: false,
// start
exportData: [],
exportName: "根据物料设置检验模板" + this.dayjs().format('YYYYMMDDHHmmss'),
@ -367,7 +368,6 @@
exportFooter: [],
exportList:[],
// end
tagNo: '',
searchData: {
partNo: '',
@ -382,9 +382,8 @@
pageIndex: 1,
pageSize: 100,
totalPage: 0,
// addDetailModalFlag:false,
modalFlag:false,
modalDisableFlag:false,
modalFlag: false,
modalDisableFlag: false,
modalData:{
flag: '',
partNo: '',
@ -985,35 +984,15 @@
},
// end
//
clickFile() {
this.$refs.file.dispatchEvent(new MouseEvent('click'))
},
async uploadFile() {
const file = this.$refs.file.files
let extName = file[0].name.substring(file[0].name.lastIndexOf('.')).toLowerCase()
if (extName === '.xlsx' || extName === '.xls') {
let formData = new FormData()
formData.append('file', file[0])
uploadPartAttributeExcel(formData).then(({data}) => {
if(data.code === 0) {
this.getDataList()
this.$message({
type: 'success',
message: '数据导入成功!'
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}
else {
this.$message.error('数据导入失败,请选择正确的xlsx模板文件')
}
this.load();
qcUpload(){
let currentData = {
flag: 'partAttribute',
};
//
this.$nextTick(() => {
this.$refs.qcUpload.init(currentData);
})
},
}

54
src/views/modules/qc/qcTemplate.vue

@ -31,8 +31,7 @@
<el-button type="primary" @click="addModal()">新增</el-button>
</el-form-item>
<el-form-item :label="' '">
<input ref="file" type="file" accept=".xlsx,.xls" style="display: none;" @change="uploadFile">
<el-button type="primary" icon="el-icon-upload" @click="clickFile">导入</el-button>
<el-button type="primary" icon="el-icon-upload" @click="qcUpload()">导入</el-button>
<download-excel
:fields="fields()"
:data="exportData"
@ -355,6 +354,8 @@
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<!-- 导入 -->
<qcUpload ref="qcUpload" @refreshPageTables="getDataList()" v-drag></qcUpload>
</div>
</template>
@ -366,18 +367,19 @@
templateDelete, //
InspectionTypeSearch, //
objectSearch, //
ItemDetailsSearch, //
templateDetailsSearch, //
addItemDetails, //
getItemList, //
delItemDetails, //
saveItemDetailed, //
uploadTemplateExcel, //
} from "@/api/qc/qc.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import qcUpload from "./qc_upload";
export default {
components: {
Chooselist
Chooselist,
qcUpload
},
watch: {
@ -929,7 +931,7 @@
detailModal(row){
this.detailData.templateId = row.templateId
this.detailData.templateName = row.templateName
ItemDetailsSearch(this.detailData).then(({data}) => {
templateDetailsSearch(this.detailData).then(({data}) => {
this.detailList = data.rows
this.objectSearch()
})
@ -1035,7 +1037,7 @@
},
//
refreshDetailList(){
ItemDetailsSearch(this.detailData).then(({data}) => {
templateDetailsSearch(this.detailData).then(({data}) => {
this.detailList = data.rows
})
},
@ -1049,7 +1051,7 @@
}).then(() => {
delItemDetails(row).then(({data}) => {
if (data && data.code === 0) {
ItemDetailsSearch(this.detailData).then(({data}) => {
templateDetailsSearch(this.detailData).then(({data}) => {
this.detailList = data.rows
})
this.$message({
@ -1124,7 +1126,6 @@
},
startDownload() {
// this.exportData = this.dataList
},
finishDownload() {
@ -1145,33 +1146,14 @@
// end
//
clickFile() {
this.$refs.file.dispatchEvent(new MouseEvent('click'))
},
async uploadFile() {
const file = this.$refs.file.files
let extName = file[0].name.substring(file[0].name.lastIndexOf('.')).toLowerCase()
if (extName === '.xlsx' || extName === '.xls') {
let formData = new FormData()
formData.append('file', file[0])
uploadTemplateExcel(formData).then(({data}) => {
if(data.code === 0) {
this.getDataList()
this.$message({
type: 'success',
message: '数据导入成功!'
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}
else {
this.$message.error('数据导入失败,请选择正确的xlsx模板文件')
}
this.load();
qcUpload(){
let currentData = {
flag: 'template',
};
//
this.$nextTick(() => {
this.$refs.qcUpload.init(currentData);
})
},
}

135
src/views/modules/qc/qc_upload.vue

@ -0,0 +1,135 @@
<template>
<div class="customer-css">
<el-dialog :title="titleCon" :close-on-click-modal="false" :visible.sync="visible" width="390px" style="height: 520px;" class="customer-dialog">
<el-form :inline="true" label-position="top" label-width="80px">
<el-row>
<el-col :span="24">
<el-upload class="customer-upload" drag action="javascript:void(0);" ref="uploadFile" :limit="1" accept=".xlsx,.xls"
:before-upload="beforeUploadHandle" :on-change="onChange" :auto-upload="false" style="text-align: left;">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
</el-upload>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveUploadFile()">保存</el-button>
<el-button type="primary" @click="closeDialog">关闭</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {
uploadExcel, //
uploadTemplateExcel, //
uploadPartAttributeExcel, //
uploadFamilyAttributeExcel, //
} from "@/api/qc/qc.js"
export default {
data() {
return {
titleCon: '文件导入',
visible: false,
fileList: [],
pageData: {
flag: '',
},
}
},
methods: {
//
init(currentRow) {
//
this.pageData = JSON.parse(JSON.stringify(currentRow))
//
this.visible = true;
},
//
beforeUploadHandle(file) {
let extName = file[0].name.substring(file[0].name.lastIndexOf('.')).toLowerCase()
if (!(extName === '.xlsx' || extName === '.xls')) {
this.$message.error('数据导入失败,请选择正确的xlsx模板文件')
return false
}
},
/*选择上传文件时*/
onChange(file){
this.fileList.push(file);
},
/*关闭modal*/
closeDialog(){
//
this.$emit('refreshPageTables');
//
this.visible = false;
},
/*保修当前的数据*/
saveUploadFile(){
/*判断文件是否上传*/
if(null == this.fileList || 0 == this.fileList.length){
this.$message.error("请先上传文件!");
return false;
}
const formData = new FormData();
formData.append("file", this.fileList[0].raw);
if (this.pageData.flag == 'item'){
uploadExcel(formData).then(({data}) => {
if (data.code === 0) {
this.$message.success(data.msg);
//
this.$refs.uploadFile.clearFiles();
//
this.closeDialog();
}else {
this.$message.warning(data.msg);
}
})
} else if (this.pageData.flag == 'template'){
uploadTemplateExcel(formData).then(({data}) => {
if (data.code === 0) {
this.$message.success(data.msg);
//
this.$refs.uploadFile.clearFiles();
//
this.closeDialog();
}else {
this.$message.warning(data.msg);
}
})
}else if (this.pageData.flag == 'partAttribute'){
uploadPartAttributeExcel(formData).then(({data}) => {
if (data.code === 0) {
this.$message.success(data.msg);
//
this.$refs.uploadFile.clearFiles();
//
this.closeDialog();
}else {
this.$message.warning(data.msg);
}
})
}else if (this.pageData.flag == 'familyAttribute'){
uploadFamilyAttributeExcel(formData).then(({data}) => {
if (data.code === 0) {
this.$message.success(data.msg);
//
this.$refs.uploadFile.clearFiles();
//
this.closeDialog();
}else {
this.$message.warning(data.msg);
}
})
}
}
},
created() {
}
}
</script>
<style scoped lang="scss">
</style>
Loading…
Cancel
Save