new file: node_modules.7z
modified: src/api/quality/rawMaterial.js
modified: src/api/quality/unqualifiedprocess.js
modified: src/views/common/rawMaterial-part.vue
modified: src/views/common/ztt-table.vue
modified: src/views/quality/processconfiguration/index.vue
deleted: src/views/quality/rawMaterial/ExportMaterial.vue
modified: src/views/quality/rawMaterial/index.vue
modified: src/views/quality/rawMaterial/rawMaterial-form.vue
| | |
| | | }) |
| | | } |
| | | |
| | | export function exportRawMaterial(data) { |
| | | return request({ |
| | | url: '/mes/rawInspect/export', |
| | | method: 'get', |
| | | responseType: 'blob', |
| | | params: data |
| | | }) |
| | | } |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | export function exportData(query) { |
| | | return request({ |
| | | url: '/mes/qualityInspectUnaccepted/export', |
| | | method: 'get', |
| | | responseType: 'blob', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function pullInsUnapi(query) { |
| | | return request({ |
| | | url: '/mes/qualityInspectUnaccepted/pullInsUn', |
| | |
| | | this.$parent.costPlannedAmountChange(this.currentRow) |
| | | }, |
| | | handleCurrentChange(row) { |
| | | console.log(row); |
| | | this.currentRow = row |
| | | console.log(this.currentRow); |
| | | }, |
| | | handleSelectionChange(val) { |
| | | // å¤è¡éä¸ |
| | |
| | | this.isCleanInfo = true |
| | | } |
| | | } |
| | | this.$emit("queryParam",this.queryParam) |
| | | }, |
| | | deep: true |
| | | }, |
| | |
| | | :prelang="prelang" |
| | | :options="options" |
| | | :ajaxFun="ajaxFun" |
| | | @queryParam="getQueryParam($event)" |
| | | ref="processconfiguration" |
| | | > |
| | | <template #toolbar></template> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { UnqualifiedList,pullInsUnapi,AuditSuggestion |
| | | import { |
| | | UnqualifiedList, |
| | | pullInsUnapi, |
| | | AuditSuggestion, |
| | | exportData |
| | | } from '@/api/quality/unqualifiedprocess' |
| | | import TableForm from './table-form' |
| | | import { mapGetters } from 'vuex' |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | queryParam: {}, |
| | | checkList: "", |
| | | // WayIdea:'', |
| | | UserId:{}, |
| | |
| | | { |
| | | text: '导åº', |
| | | type: 'primary', |
| | | // fun: this.addOrUpdateHandle |
| | | fun: this.handleExport |
| | | }, |
| | | ], |
| | | operator: [ |
| | |
| | | // this.getType() |
| | | }, |
| | | methods: { |
| | | getQueryParam(data){ |
| | | this.queryParam = data |
| | | }, |
| | | handleExport(){ |
| | | exportData(this.queryParam).then(res=>{ |
| | | console.log(res) |
| | | this.downloadFun(res) |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }) |
| | | }, |
| | | downloadFun(result){ |
| | | if(result == null || result == undefined){ |
| | | return; |
| | | } |
| | | var nameList = result.headers['content-disposition']; |
| | | nameList = decodeURI(nameList); |
| | | var fileName = nameList.split('=')[1]; |
| | | const blob = new Blob([result.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) |
| | | const downloadElement = document.createElement('a') // æ°å»ºä¸ä¸ªDOMèç¹ |
| | | const href = window.URL.createObjectURL(blob) // å建ä¸è½½ç龿¥ |
| | | downloadElement.href = href |
| | | downloadElement.download = fileName // ä¸è½½åæä»¶å |
| | | document.body.appendChild(downloadElement) // å°æ°å¢çèç¹æè½½å°é¡µé¢ä¸ |
| | | downloadElement.click() // ç¹å»ä¸è½½ |
| | | document.body.removeChild(downloadElement) // ä¸è½½å®æç§»é¤å
ç´ |
| | | window.URL.revokeObjectURL(href) |
| | | }, |
| | | //å®¡æ ¸ç»æ |
| | | AuditResult(row){ |
| | | this.UserId = row.id |
| | | this.type = row.type |
| | | this.dialogVisible = true; |
| | | |
| | | }, |
| | | WaySure(){ |
| | | AuditSuggestion({id:this.UserId,way:this.checkList}).then( |
| | |
| | | <ttable |
| | | :table="table" |
| | | :resultData="resultData" |
| | | @change ="costPlannedAmountChange" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | :prelang="prelang" |
| | | :options="options" |
| | | :ajaxFun="ajaxFun" |
| | | @queryParam="getQueryParam($event)" |
| | | ref="rawMaterialTable"> |
| | | <template #toolbar></template> |
| | | <template #toolbar> |
| | | <el-button @click="exportRawMaterial" type="primary" >导åº</el-button> |
| | | </template> |
| | | </ttable> |
| | | </basic-container> |
| | | <!-- å¼¹çª, æ°å¢ / ä¿®æ¹ --> |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import ExportMaterial from './ExportMaterial.vue' |
| | | import ttable from '@/views/common/ztt-table.vue' |
| | | import { getRawInspectList,delObj } from '@/api/quality/rawMaterial' |
| | | import { getRawInspectList,delObj,exportRawMaterial } from '@/api/quality/rawMaterial' |
| | | import RawMaterialForm from './rawMaterial-form' |
| | | import * as fecha from 'element-ui/lib/utils/date' |
| | | import { mapGetters } from 'vuex' |
| | | export default { |
| | | data() { |
| | | return { |
| | | queryParam: {}, |
| | | resultData:[], |
| | | addOrUpdateVisible: false, |
| | | type: [1], |
| | |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé®H |
| | | isSearch: true, // é«çº§æ¥è¯¢æé® |
| | | defaultOrderBy: { column: 'formTime', direction: 'desc' }, |
| | | defaultOrderBy: { column: 'createTime', direction: 'desc' }, |
| | | }, |
| | | table: { |
| | | total: 0, |
| | | currentPage: 1, |
| | | pageSize: 20, |
| | | data: [], |
| | | isExport:true, |
| | | // æ é¢ |
| | | column: [ |
| | | { |
| | |
| | | prop: 'createTime', |
| | | label: 'æ¥æ£æ¥æ', |
| | | isTrue: true, |
| | | sort: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | formatter: this.formatDateTime, |
| | |
| | | text: 'æ°å¢', |
| | | type: 'primary', |
| | | fun: this.addOrUpdateHandle |
| | | }, |
| | | { |
| | | text: '导åº', |
| | | type: 'primary', |
| | | fun: this.handleExcel |
| | | } |
| | | ], |
| | | }], |
| | | operator: [{ |
| | | text: 'ä½åº', |
| | | type: 'text', |
| | |
| | | StateList: [{label:'å
¨é¨',value:''},{label:'å·²åæ ¼',value:'1'},{label:'ä¸åæ ¼',value:'0'}], |
| | | } |
| | | }, |
| | | // props:{ |
| | | // queryParam:{ |
| | | // type: Object, |
| | | // default: ()=>{ |
| | | // return {} |
| | | // } |
| | | // } |
| | | // }, |
| | | components: { |
| | | ttable, |
| | | RawMaterialForm, |
| | | ExportMaterial, |
| | | }, |
| | | created() { |
| | | |
| | |
| | | ...mapGetters(['permissions']) |
| | | }, |
| | | methods:{ |
| | | async costPlannedAmountChange(value){ |
| | | this.resultData= value |
| | | getQueryParam(data){ |
| | | this.queryParam = data |
| | | }, |
| | | |
| | | handleExcel() { |
| | | console.log(this.resultData); |
| | | console.log(this.table.column); |
| | | // let arr = this.table.column.map(el = el.isTrue == true) |
| | | // console.log(arr); |
| | | let arr = this.table.column.filter(item => item.isTrue == true).map(item => { |
| | | return{ |
| | | prop:item.prop, |
| | | label:item.label |
| | | } |
| | | exportRawMaterial(){ |
| | | exportRawMaterial(this.queryParam).then(res=>{ |
| | | console.log(res) |
| | | this.downloadFun(res) |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | }) |
| | | let opt = { |
| | | title: 'ææ¡£æ é¢', |
| | | column: [{ |
| | | label:'', |
| | | prop:'header', |
| | | children:arr |
| | | }], |
| | | data: this.resultData |
| | | } |
| | | this.$Export.excel({ |
| | | title: opt.title, |
| | | columns: opt.column, |
| | | data: opt.data |
| | | }); |
| | | // console.log(this.table); |
| | | |
| | | }, |
| | | }, |
| | | downloadFun(result){ |
| | | if(result == null || result == undefined){ |
| | | return; |
| | | } |
| | | var nameList = result.headers['content-disposition']; |
| | | nameList = decodeURI(nameList); |
| | | var fileName = nameList.split('=')[1]; |
| | | const blob = new Blob([result.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }) |
| | | const downloadElement = document.createElement('a') // æ°å»ºä¸ä¸ªDOMèç¹ |
| | | const href = window.URL.createObjectURL(blob) // å建ä¸è½½ç龿¥ |
| | | downloadElement.href = href |
| | | downloadElement.download = fileName // ä¸è½½åæä»¶å |
| | | document.body.appendChild(downloadElement) // å°æ°å¢çèç¹æè½½å°é¡µé¢ä¸ |
| | | downloadElement.click() // ç¹å»ä¸è½½ |
| | | document.body.removeChild(downloadElement) // ä¸è½½å®æç§»é¤å
ç´ |
| | | window.URL.revokeObjectURL(href) |
| | | }, |
| | | // å é¤ |
| | | deleteHandle(row) { |
| | | this.$confirm('æ¯å¦ç¡®è®¤å é¤è¯¥æ°æ®ï¼' + row.code , 'æç¤º', { |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item prop="projectName" label="项ç®åç§°"> |
| | | <el-tooltip :disabled="dataForm.projectName==null" :content="dataForm.projectName"> |
| | | <el-input v-model="dataForm.projectName" disabled ></el-input> |
| | | </el-tooltip> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="æ¥æ£æ¥æ" prop="createTime" v-if="dataForm.id!=null"> |
| | | <el-input v-model="dataForm.createTime" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="æ¥æ£äºº" prop="createUser" v-if="dataForm.id!=null"> |
| | | <el-input v-model="dataForm.createUser" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item prop="projectName" label="项ç®åç§°"> |
| | | <el-input v-model="dataForm.projectName" disabled > |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | |
| | | filterable allow-create placeholder="请è¾å
¥æéæ©é¡¹ç®åç§°" style="width:100%" @change="changeName(scope.$index,scope.row)"> |
| | | <el-option v-for="(item,index) in projectList" :key="index" :label="item.name" :value="item.name"/> |
| | | </el-select> |
| | | <el-input v-else :disabled="dataForm.id != null" class="inline-input" v-model="list.name" |
| | | <el-input v-else :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name" |
| | | placeholder="请è¾å
¥é¡¹ç®åç§°"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-table-column prop="testValue" label="æ£æµå¼" min-width="260" v-for="(item, index) in empiricalValueAdd" |
| | | :key="index"> |
| | | <template slot-scope="scope"> |
| | | <el-tooltip :disabled="scope.row.equipmentId != null" class="item" effect="dark" content="请å
éæ©è®¾å¤ï¼" |
| | | <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请å
éæ©è®¾å¤ï¼" |
| | | placement="top-start"> |
| | | |
| | | <!-- <el-input :disabled="scope.row.equipmentId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.testValueList[index]" |
| | | @blur="updateTestValue(scope.row,index)" placeholder="请è¾å
¥æ£æµå¼"></el-input> --> |
| | | |
| | | <el-autocomplete |
| | | :disabled="scope.row.equipmentId == null || (dataForm.id!=null&&resultVal!=null)" |
| | | style="width:100%" |
| | | :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" |
| | | class="inline-input" |
| | | v-model="scope.row.testValueList[index]" |
| | | :fetch-suggestions="querySearch" |
| | | placeholder="请è¾å
¥å
容" |
| | | placeholder="请è¾å
¥æ£æµå¼" |
| | | @select="handleSelect" |
| | | ></el-autocomplete> |
| | | |
| | |
| | | <el-table-column prop="deviceName" label="è¯éªè®¾å¤" min-width="260"> |
| | | <template slot-scope="scope"> |
| | | <el-select :disabled="resultVal!=null && dataForm.id!=null" style="width:100%" |
| | | v-model="scope.row.equipmentId" filterable @change="updateDevice(scope.row,scope.$index)"> |
| | | v-model="scope.row.deviceId" filterable @change="updateDevice(scope.row,scope.$index)"> |
| | | <el-option v-for="(item,index) in deviceList" |
| | | :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option> |
| | | :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <span>ä¸åæ ¼æ°é:</span> |
| | | <el-input type="number" v-model="unqualifiedNum" placeholder="请è¾å
¥ä¸åæ ¼æ°é"/> |
| | | </el-col> |
| | | <el-col> |
| | | <span>宿£æ°é:</span> |
| | | <el-input type="number" placeholder="请è¾å
¥å®æ£æ°é" v-model="fiedNum"/> |
| | | </el-col> |
| | | </el-row> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="submitSave()">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- <rawMaterialPartDialog :currentRow ="currentRow" @costPlannedAmountChange="costPlannedAmountChange"/> --> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | updateRawInspectsById, |
| | | updateDeviceById, } from '@/api/quality/rawMaterial' |
| | | import rawMaterialPartDialog from '@/views/common/rawMaterial-part' |
| | | import { log } from 'util' |
| | | export default { |
| | | // props:['currentRow'], |
| | | computed:{}, |
| | |
| | | }, |
| | | data(){ |
| | | return{ |
| | | currentRow:[], |
| | | userlist:[], |
| | | fiedNum: null, |
| | | currentRow:[], |
| | | userlist:[], |
| | | unqualifiedNum: null, |
| | | dialogVisible:false, |
| | | resultVal: null, |
| | |
| | | number: '', |
| | | supplier: '', |
| | | rawInsProducts: [{ |
| | | equipmentId: 0, |
| | | deviceId: 0, |
| | | name: '', |
| | | required: '', |
| | | testValue: '', |
| | |
| | | this.init() |
| | | this.getDeviceList() |
| | | this.restaurants = this.loadAll(); |
| | | // this.costPlannedAmountChange() |
| | | }, |
| | | watch:{ |
| | | dialogVisible(newVal){ |
| | | if(newVal){ |
| | | this.unqualifiedNum = null |
| | | this.fiedNum = null |
| | | } |
| | | }, |
| | | |
| | | }, |
| | | methods:{ |
| | | //é¡¹ç® |
| | | // xxxx(){ |
| | | // console.log(currentRow); |
| | | // }, |
| | | // äºä»¶å¤ç彿° |
| | | // costPlannedAmountChange(value) { |
| | | // console.log("==>"); |
| | | // console.log(value.rawInsProducts); |
| | | // this.userlist = value.rawInsProducts |
| | | // this.list = this.userlist |
| | | // console.log(this.list); |
| | | // }, |
| | | querySearch(queryString, cb) { |
| | | var restaurants = this.restaurants; |
| | | var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; |
| | |
| | | }, |
| | | // 确认åè° |
| | | selectPart(param, nodePart, index) { |
| | | console.log("æå--",param); |
| | | if (typeof param !== 'undefined') { |
| | | this.dataForm.code = param.code |
| | | this.dataForm.name = param.name |
| | |
| | | this.dataForm.message = param.message |
| | | this.dataForm.projectName = param.projectName |
| | | this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts |
| | | // param.rawInsProducts.forEach(item=>{ |
| | | // this.list.push(item) |
| | | // }) |
| | | param.rawInsProducts.forEach(o=>{ |
| | | this.clickAddLine(o) |
| | | }) |
| | | } |
| | | }, |
| | | queryCode(){ |
| | | this.paramObj = { |
| | | code: this.dataForm.code |
| | | } |
| | | console.log(this.paramObj); |
| | | this.showPart = true |
| | | }, |
| | | updateDevice(row,index){ |
| | | if(this.dataForm.id != null){ |
| | | updateDeviceById({equiomentId:row.equipmentId,rpId:row.rpId}).then(res=>{ |
| | | updateDeviceById({deviceId:row.deviceId,rpId:row.rpId}).then(res=>{ |
| | | this.list[index].testValue = '' |
| | | this.list[index].testState = null |
| | | this.list[index].testValueList = [] |
| | |
| | | let data = { |
| | | id: this.dataForm.id, |
| | | number: this.unqualifiedNum, |
| | | toLocationNo: this.fiedNum |
| | | // toLocationNo: this.fiedNum |
| | | } |
| | | updateRawInspectsById(data).then(res => { |
| | | if(res.data.code == 0){ |
| | | sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,res.data.data) |
| | | this.$message.success("䏿¥æå"); |
| | | this.dialogVisible = false |
| | | this.checkTestState() |
| | | } |
| | | }); |
| | | this.checkTestState() |
| | | }, |
| | | addTeatValueColumn(){ |
| | | this.empiricalValueAdd = this.empiricalValueAdd + 1; |
| | | }, |
| | | // æ·»å è¡ |
| | | clickAddLine() { |
| | | clickAddLine(row) { |
| | | let obj = { |
| | | equipmentId: null, |
| | | deviceId: null, |
| | | name: "", |
| | | required: "", |
| | | testValue: "", |
| | |
| | | testState: null, |
| | | testValueList: [], |
| | | }; |
| | | if(row!=undefined){ |
| | | obj.name = row.name |
| | | obj.unit = row.unit |
| | | obj.required = row.required |
| | | } |
| | | this.list.push(obj); |
| | | }, |
| | | // å é¤è¡ |
| | |
| | | return |
| | | } |
| | | let obj = { |
| | | equiomentId: row.equipmentId, |
| | | deviceId: row.deviceId, |
| | | rpId: row.rpId, |
| | | testValue: row.testValueList.join(",") |
| | | } |
| | |
| | | this.dataForm.unit = data.runit |
| | | this.dataForm.supplier = data.supplier |
| | | this.dataForm.number = data.number |
| | | this.dataForm.projectName = data.projectName |
| | | this.dataForm.createTime = data.creatTime |
| | | this.dataForm.createUser = data.createUser |
| | | // this.dataForm.judgeState = data.judgeState |
| | | let userNameList = [] |
| | | this.list = [] |
| | | data.children.forEach(item=>{ |
| | |
| | | } |
| | | } |
| | | this.list.push({ |
| | | equipmentId: item.equiomentId, |
| | | deviceId: item.deviceId, |
| | | deviceName: item.deviceName, |
| | | name: item.rpName, |
| | | required: item.required, |