Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before into master
| | |
| | | |
| | | export function downloadProduct(data){ |
| | | return request({ |
| | | url: '/mes/plan/customerOrder/downloadProduct', |
| | | url: '/mes/plan/customerOrder/getProduct', |
| | | method: 'post', |
| | | responseType: 'blob', |
| | | data: data |
| | |
| | | data: obj |
| | | }) |
| | | } |
| | | |
| | | export function exportBom(obj) { |
| | | return request({ |
| | | url: '/mes/bom/exportBom', |
| | | method: 'post', |
| | | data: obj, |
| | | responseType: 'blob' |
| | | }) |
| | | } |
| | |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | searchInfoType: 'date', |
| | | formatter: this.formatDutyDate, |
| | | }, |
| | | { |
| | |
| | | permitArr: [], |
| | | }) |
| | | } |
| | | this.table.toolbar.push({ |
| | | text: '下载工艺文件', |
| | | disabled: false, |
| | | type: 'primary', |
| | | fun: this.downloadWord, |
| | | permitArr: ['03plan','04planed'], |
| | | }) |
| | | this.table.toolbar.push({ |
| | | text: '下载排产单', |
| | | disabled: false, |
| | | type: 'primary', |
| | | permitArr: [], |
| | | fun: this.downloadProductionScheduling, |
| | | }) |
| | | if(this.permissions.plan_download_process_file){ |
| | | this.table.toolbar.push({ |
| | | text: '下载工艺文件', |
| | | disabled: false, |
| | | type: 'primary', |
| | | fun: this.downloadWord, |
| | | permitArr: ['03plan','04planed'], |
| | | }) |
| | | } |
| | | if(this.permissions.plan_download_product_file){ |
| | | this.table.toolbar.push({ |
| | | text: '下载排产单', |
| | | disabled: false, |
| | | type: 'primary', |
| | | permitArr: [], |
| | | fun: this.downloadProductionScheduling, |
| | | }) |
| | | } |
| | | this.table.toolbar.push({ |
| | | text: '关联订单', |
| | | disabled: false, |
| | |
| | | this.$message.error("请选择一条数据") |
| | | return |
| | | } |
| | | downloadProduct({ids: ids}).then(res=>{ |
| | | downloadProduct(ids).then(res=>{ |
| | | if(res.status===200){ |
| | | transform(res) |
| | | } |
| | |
| | | <el-table-column prop="testValue" label="检测值" min-width="160" v-for="(item,index) in empiricalValueAdd" :key="index"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!" placement="top-start"> |
| | | <el-dropdown> |
| | | <el-input placeholder="检测值"/> |
| | | <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down el-icon--right"></i> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item>黄金糕</el-dropdown-item> |
| | | <el-dropdown-item>狮子头</el-dropdown-item> |
| | | <el-dropdown-item>螺蛳粉</el-dropdown-item> |
| | | <el-dropdown-item>双皮奶</el-dropdown-item> |
| | | <el-dropdown-item>蚵仔煎</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | <!-- <el-autocomplete clearable |
| | | :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" |
| | | @blur.stop="changeState(scope.row,scope.$index)" |
| | | @select="changeState(scope.row,scope.$index)" |
| | | v-model="scope.row.testValueList[index]" |
| | | :fetch-suggestions="querySearch" |
| | | placeholder="请输入或选择检测值" > |
| | | <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down" slot="suffix"></i> |
| | | <template slot-scope="{ item }"> |
| | | <div>{{ item.value }}</div> |
| | | </template> |
| | | </el-autocomplete> --> |
| | | <!-- :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" --> |
| | | <!-- @input="$nextTick(()=>{checkTestValues(scope.row)})" --> |
| | | <!-- @blur.capture.native="changeState(scope.row)" --> |
| | | <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!" placement="top-start"> |
| | | <el-autocomplete clearable |
| | | cache="false" |
| | | ref="testValueInput" |
| | | @blur="checkTestValues(scope.row,'blur',$event)" |
| | | @select="checkTestValues(scope.row,'select',$event)" |
| | | v-model="scope.row.testValueList[index]" |
| | | :fetch-suggestions="querySearch" |
| | | placeholder="请输入或选择检测值" > |
| | | <template slot-scope="{ item }"> |
| | | <div>{{ item.value }}</div> |
| | | </template> |
| | | </el-autocomplete> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | |
| | | <el-table-column prop="note" label="检验描述" width="160" > |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-input @blur="changeState(scope.row, scope.$index)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="检验描述"></el-input> |
| | | <el-input @blur="checkTestValues(scope.row,'blur',$event)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="检验描述"></el-input> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | import rawMaterialPartDialog from '@/views/common/rawMaterial-part' |
| | | import { getStore } from '@/util/store' |
| | | import qrCodeApp from '@/views/common/qrCodeApp' |
| | | import transformImage from '@/util/fileTransform' |
| | | export default { |
| | | components:{ |
| | | rawMaterialPartDialog, |
| | | qrCodeApp |
| | | qrCodeApp, |
| | | }, |
| | | computed:{}, |
| | | data(){ |
| | |
| | | }], |
| | | dataRule: { |
| | | code:[{ required: true, message: '请扫描选择零件', trigger: 'blur' }], |
| | | createTime: [{ required: true, message: '请选择报检日期', trigger: 'change' }] |
| | | createTime: [{ required: true, message: '请选择报检日期', trigger: 'blur' }] |
| | | }, |
| | | deviceList: [], |
| | | } |
| | |
| | | required: null, |
| | | rpId: null, |
| | | name: null, |
| | | unit: 'mm', |
| | | unit: '', |
| | | userName: null, |
| | | testValue: '', |
| | | testValueList: [], |
| | |
| | | console.log(e,e.target.tabIndex); |
| | | console.log(e.target.value); |
| | | }, |
| | | changeState(row, index) { |
| | | this.$nextTick(()=>{ |
| | | if(row){ |
| | | let isTrue = true |
| | | for(var i=0;i<row.testValueList.length;i++){ |
| | | let val = row.testValueList[i] |
| | | if(!['是','否'].includes(val)){ |
| | | let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/ |
| | | if(!reg.test(val)){ |
| | | row.testValueList = '' |
| | | this.$message.error("请输入6位数字或选择是否") |
| | | isTrue = false |
| | | checkTestValues(row,currentOption,event){ |
| | | if(row){ |
| | | let isTrue = true |
| | | if(currentOption==='blur'){ |
| | | let targetVal = event.target.value |
| | | if( (targetVal && ['是','否'].includes(targetVal)) || !targetVal){ |
| | | isTrue = false |
| | | }else{ |
| | | for(var i=0;i<row.testValueList.length;i++){ |
| | | let val = row.testValueList[i] |
| | | if(val != '' && val != null){ |
| | | if(!['是','否'].includes(val)){ |
| | | let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/ |
| | | if(!reg.test(val)){ |
| | | row.testValueList[i] = '' |
| | | event.target.value = '' |
| | | this.$message.error("请输入6位数字或选择是否") |
| | | isTrue = false |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if(!isTrue){ |
| | | return |
| | | } |
| | | } |
| | | console.log(row.testValueList.join(",")); |
| | | return |
| | | } |
| | | if(!isTrue){ |
| | | return |
| | | } |
| | | this.changeState(row) |
| | | } |
| | | }, |
| | | changeState(row) { |
| | | this.$nextTick(()=>{ |
| | | if (row.rpId != null && row.rpId != '') { |
| | | let val = row.testValueList.join(",") |
| | | if (val === undefined || val === '' || val === null) { |
| | |
| | | border: 1px solid #e4e7ed; |
| | | border-bottom: none; |
| | | } |
| | | .dropdown{ |
| | | position: relative; |
| | | right: 30px; |
| | | top: 5px; |
| | | color: #C0C4CC; |
| | | font-size: 14px; |
| | | } |
| | | @media (max-width: 767px) { |
| | | .pad-addcol-btn{ |
| | | font-size:12px; |
| | |
| | | <!-- 原材料检验-检测值输入框组件 --> |
| | | <template> |
| | | <el-select v-model="selectedValue" @change="handleChange" clearable> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-input |
| | | v-model="inputValue" |
| | | slot="prefix" |
| | | placeholder="自定义输入" |
| | | @input="handleInput" |
| | | ></el-input> |
| | | </el-select> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | |
| | | props:{ |
| | | value: { |
| | | type: [String, Number], |
| | | default: '' |
| | | }, |
| | | options: { |
| | | type: Array, |
| | | default: () => [] |
| | | } |
| | | }, |
| | | data(){ |
| | | return { |
| | | selectedValue: '', |
| | | inputValue: '', |
| | | // options: [{ |
| | | // label:'是', |
| | | // value: '是' |
| | | // },{ |
| | | // label:'否', |
| | | // value: '否' |
| | | // }] |
| | | } |
| | | }, |
| | | created() { |
| | | this.selectedValue = this.value; |
| | | }, |
| | | watch: { |
| | | value(newValue) { |
| | | this.selectedValue = newValue; |
| | | } |
| | | }, |
| | | methods: { |
| | | handleChange(value) { |
| | | this.$emit('input1', value); |
| | | }, |
| | | handleInput(value) { |
| | | this.$emit('input1', value); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | |
| | | <style scope> |
| | | .dropdown{ |
| | | position: relative; |
| | | right: 30px; |
| | | top: 5px; |
| | | color: #C0C4CC; |
| | | font-size: 14px; |
| | | } |
| | | </style> |
| | |
| | | fetchList, |
| | | delObj, |
| | | addByStructure, |
| | | exportBom |
| | | } from '@/api/technology/completeproductstructure' |
| | | import ttable from '@/views/common/ztt-table.vue' |
| | | import { mapGetters } from 'vuex' |
| | | import { changeState } from '../../../api/technology/completeproductstructure' |
| | | import { remote } from '@/api/admin/dict' |
| | | import { transform } from '@/util/fileTransform' |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | permitArr: [], |
| | | fun: ()=>{this.deleteAll()}, |
| | | }) |
| | | } |
| | | } |
| | | this.table.toolbar.push({ |
| | | text: 'BOM导出', |
| | | type:'primary', |
| | | disabled: false, |
| | | permitArr: [], |
| | | fun: ()=>{this.exportBomFun()}, |
| | | }) |
| | | if(this.permissions.technology_completeproductstructure_del){ |
| | | this.table.operator = [ |
| | | { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | exportBomFun(){ |
| | | let ids = this.multipleSelection.map(ele=>ele.id) |
| | | if(ids.length<1){ |
| | | this.$message.error("请选择一条数据") |
| | | return |
| | | } |
| | | exportBom(ids).then(res=>{ |
| | | if(res.status===200){ |
| | | transform(res) |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error) |
| | | }) |
| | | }, |
| | | getBomTypeDbOptions() { |
| | | remote('bom_type_db').then((response) => { |
| | | if (response.data.code === 0) { |