Merge branch 'master' of http://192.168.0.22:9001/r/mom-before
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备组" prop="name"> |
| | | <!-- <el-select |
| | | <el-select |
| | | v-model="ruleForm.equr" |
| | | allow-create |
| | | filterable |
| | | @blur="selectInput" |
| | | @create="" |
| | | placeholder="请选择设备组" |
| | | > |
| | | <el-option |
| | |
| | | :value="list" |
| | | > |
| | | </el-option> |
| | | </el-select> --> |
| | | <el-autocomplete |
| | | </el-select> |
| | | <!-- <el-autocomplete |
| | | class="inline-input" |
| | | v-model="ruleForm.equr" |
| | | :fetch-suggestions="querySearch" |
| | | placeholder="请输入内容" |
| | | ></el-autocomplete> |
| | | ></el-autocomplete> --> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | selectInput(){ |
| | | |
| | | }, |
| | | querySearch(queryString, cb) { |
| | | console.log(this.equaip); |
| | | var restaurants = this.equaip; |
| | | var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; |
| | | // 调用 callback 返回建议列表的数据 |
| | | cb(results); |
| | | }, |
| | | createFilter(queryString) { |
| | | return (restaurant) => { |
| | | return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); |
| | | }; |
| | | }, |
| | | // querySearch(queryString, cb) { |
| | | // console.log(this.equaip); |
| | | // var restaurants = this.equaip; |
| | | // var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; |
| | | // // 调用 callback 返回建议列表的数据 |
| | | // cb(results); |
| | | // }, |
| | | // createFilter(queryString) { |
| | | // return (restaurant) => { |
| | | // return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); |
| | | // }; |
| | | // }, |
| | | staueValueChange() { |
| | | this.selectDevice() |
| | | // this.tableData = []; |
| | |
| | | params:{ |
| | | type:this.equip |
| | | } |
| | | }).then(res =>{ |
| | | res.data.forEach(item=>{ |
| | | let obj={ |
| | | id: item, |
| | | value: item |
| | | } |
| | | this.equaip.push(obj) |
| | | console.log("设备组",this.equip); |
| | | }) |
| | | }) |
| | | .then(res =>{ |
| | | this.equaip = res.data |
| | | // res.data.forEach(item=>{ |
| | | // let obj={ |
| | | // id: item, |
| | | // value: item |
| | | // } |
| | | // this.equaip.push(obj) |
| | | console.log(this.equaip); |
| | | // }) |
| | | }) |
| | | }, |
| | | RadioChange(val){ |
| | |
| | | type:this.ruleForm.type, |
| | | }, {headers: {"Content-Type": "application/json"} |
| | | }).then(res =>{ |
| | | this.selectDevice() |
| | | this.$message.success('新增成功') |
| | | this.ruleForm = {} |
| | | this.selectDevice() |
| | | }) |
| | | }, |
| | | // tableDataApi() { |
| | |
| | | ref="ruleForm" width="35%"> |
| | | <div> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="类型"> |
| | | <el-form-item label="类型" prop="type"> |
| | | <template> |
| | | <el-select v-model="form.type" |
| | | @change="edittype" placeholder="请选择" style="width: 480px;"> |
| | |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-form-item label="工序"> |
| | | <el-form-item label="工序" prop="work"> |
| | | <template> |
| | | <el-select v-model="form.work" |
| | | @change="workevent" |
| | |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-form-item label="工艺名称"> |
| | | <el-form-item label="工艺名称" prop="name"> |
| | | <template> |
| | | <el-select v-model="form.craft" placeholder="请选择" style="width: 480px;"> |
| | | <el-option |
| | |
| | | </el-select> |
| | | </template> |
| | | </el-form-item> |
| | | <el-form-item label="记录"> |
| | | <el-form-item label="记录" prop="record"> |
| | | <el-input v-model="form.record"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="备注"> |
| | | <el-input v-model="form.remarks"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="单位"> |
| | | <el-form-item label="单位" prop="unit"> |
| | | <el-input v-model="form.unit"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | var checktype = (rule, value, callback) => { |
| | | if (!value) { |
| | | return callback(new Error('类型不能为空')); |
| | | }else{ |
| | | return callback |
| | | } |
| | | }; |
| | | return { |
| | | search: { |
| | | type: 0, |
| | | technology: null |
| | |
| | | unit:'', |
| | | }, |
| | | Rules:{ |
| | | type:{required:true,message:'类型不能为空',trigger:'change'}, |
| | | type:{validator:checktype,required:true,message:'类型不能为空',trigger:'change'}, |
| | | work:{required:true,message:'工序不能为空',trigger:'change'}, |
| | | name:{required:true,message:'工艺不能为空',trigger:'change'}, |
| | | record:{required:true,message:'记录不能为空',trigger:'blur'}, |
| | |
| | | this.selectjilu() |
| | | }) |
| | | }, |
| | | add() { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | alert('submit!'); |
| | | } else { |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | add(formName) { |
| | | this.dialogVisible = false |
| | | this.addRecord() |
| | | // this.$refs[formName].validate((valid) => { |
| | | // if (valid) { |
| | | // alert('submit!'); |
| | | // } else { |
| | | // console.log('error submit!!'); |
| | | // return false; |
| | | // } |
| | | // }); |
| | | this.form = {}; |
| | | }, |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | query() { |
| | | this.selectAllleft() |
| | | }, |
| | |
| | | }, |
| | | //选择某行 |
| | | selectTr(selection, row) { |
| | | console.log("sss---",selection,row); |
| | | this.$set(row, "isChecked", !row.isChecked); |
| | | this.$nextTick(() => { |
| | | this.isAllSelect = row.isChecked; |
| | |
| | | }, |
| | | //递归子级 |
| | | toggleSelect(data, flag, type) { |
| | | console.log("递归子级---",data,flag,type); |
| | | if (type === "all") { |
| | | if (data.length > 0) { |
| | | data.forEach((item) => { |
| | |
| | | }, |
| | | //改变选中 |
| | | toggleSelection(row, flag) { |
| | | console.log("改变选中---",row,flag); |
| | | this.$set(row, "isChecked", flag); |
| | | this.$nextTick(() => { |
| | | if (flag) { |
| | |
| | | </div> |
| | | <div class="thing"> |
| | | <div class="left"> |
| | | <el-row :gutter="5" style="position: fixed;top: 148px;z-index: 1;"> |
| | | <el-row :gutter="5" > |
| | | <el-col :span="21"> |
| | | <el-input v-model="search" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable></el-input> |
| | | </el-col> |
| | |
| | | <el-option :value="2" label="物料清单"></el-option> |
| | | <el-option :value="3" label="生产工艺"></el-option> |
| | | </el-select> |
| | | <span>{{ tableType == 1 ? '项目:' : '工艺名称:' }}</span> |
| | | <el-input v-model="searchName" size="small" placeholder="请输入" style="width: 224px;margin-right: 50px;" |
| | | clearable></el-input> |
| | | <span>版本:</span> |
| | | <el-select v-model="version2" @change="verevent" size="small" style="width: 280px;margin-right: 10px;" placeholder="请选择"> |
| | | <el-option v-for="item in version" :key="item" :label="item" :value="item"> |
| | | <el-select v-model="versionVal" @change="verevent" size="small" style="width: 280px;margin-right: 52px;" placeholder="请选择"> |
| | | <el-option v-for="(item,index) in versionData" :key="index" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button size="mini" @click="() => { searchName = ''; selectProductTableData() }"><span>重 置</span></el-button> |
| | | <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectProductTableData"><span>查 |
| | | 询</span></el-button> |
| | | <span>{{ tableType == 1 ? '项目:' : '工艺名称:' }}</span> |
| | | <el-input v-model="searchName" size="small" placeholder="请输入" style="width: 224px;margin-right:10px" |
| | | clearable></el-input> |
| | | <el-button size="mini" @click="() => { searchName = ''; selectAll() }"> |
| | | <span>重 置</span> |
| | | </el-button> |
| | | <el-button size="mini" type="primary" style="background: #004EA2;" @click="selectAll"> |
| | | <span>查 询</span> |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div class="contentTable" v-if="this.typeselect == 0"> |
| | |
| | | formTypeOptions: null, |
| | | typeselect: 0, |
| | | returntree: {id:28}, |
| | | version: {}, |
| | | leftAdd:{ |
| | | type: [], |
| | | father: null, |
| | |
| | | name: null, |
| | | specifications: null |
| | | }, |
| | | version2: {}, |
| | | verdata: {}, |
| | | character: 0, |
| | | versionData: [], |
| | | versionVal: null, |
| | | restaurants: [], |
| | | bomName:[], |
| | | bomStandard:[], |
| | |
| | | }).then(() => { |
| | | this.$axios.post(this.$api.url.addVersion,{ |
| | | specificationsId : this.returntree.id, |
| | | version : this.version2.substring(1,2), |
| | | version : this.versionVal, |
| | | }).then(res=>{ |
| | | this.selectVersion(); |
| | | this.$message.success(res.message); |
| | |
| | | let obj = {} |
| | | if(type == 0){ |
| | | obj = { |
| | | version : this.versionVal, |
| | | specificationsId: Number.parseInt(this.returntree.id), |
| | | deviceGroup: this.technologyForm.deviceGroup, |
| | | father: this.technologyForm.tefather, |
| | |
| | | } |
| | | this.submitBomAdd(this.$api.url.addTechnology,obj); |
| | | }else if(type == 1){ |
| | | this.submitBomAdd(this.$api.url.addProductByStandard,this.targetForm); |
| | | obj = this.targetForm; |
| | | obj.version = this.versionVal; |
| | | this.submitBomAdd(this.$api.url.addProductByStandard,obj); |
| | | }else if(type == 2){ |
| | | obj = { |
| | | mbomDto2List:this.materialForm.tableList, |
| | | technologyId:this.materialForm.mtechnologyId |
| | | technologyId:this.materialForm.mtechnologyId, |
| | | version : this.versionVal |
| | | } |
| | | this.submitBomAdd(this.$api.url.addMBomByStandard,obj); |
| | | }else if(type == 3){ |
| | |
| | | product: form.product, |
| | | productFather: form.productFather, |
| | | technologyId: form.protechnologyId, |
| | | unit: form.unit |
| | | unit: form.unit, |
| | | version : this.versionVal |
| | | } |
| | | this.submitBomAdd(this.$api.url.addTechniqueByStandard,obj); |
| | | }else{ |
| | | return |
| | | } |
| | | this.technologyVisible = false; |
| | | this.targetVisible = false; |
| | | this.materialVisible = false; |
| | | this.productVisible = false; |
| | | } |
| | | }) |
| | | }, |
| | |
| | | }).catch(error=>{ |
| | | this.$message.error(error.message); |
| | | }) |
| | | this.technologyVisible = false; |
| | | this.targetVisible = false; |
| | | this.materialVisible = false; |
| | | this.productVisible = false; |
| | | }, |
| | | //清空新增bom表单 |
| | | clearBomAddModel(){ |
| | |
| | | //物料清单--获取工序,工艺列表 |
| | | getMaterialFormList(){ |
| | | this.$axios.get(this.$api.url.chooseTechByMBom,{ |
| | | params:{specificationsId : this.returntree.id} |
| | | params:{ |
| | | specificationsId : this.returntree.id, |
| | | version : this.versionVal |
| | | } |
| | | }).then(res=>{ |
| | | this.materialFormList = res.data; |
| | | }).catch(error=>{ |
| | |
| | | //技术指标--获取工序,工艺列表 |
| | | getTargetFormList(){ |
| | | this.$axios.get(this.$api.url.chooseTechByStandard,{ |
| | | params:{specificationsId : this.returntree.id} |
| | | params:{ |
| | | specificationsId : this.returntree.id, |
| | | version : this.versionVal |
| | | } |
| | | }).then(res=>{ |
| | | this.targetFormList = res.data; |
| | | }).catch(error=>{ |
| | |
| | | //1.生产工艺-->选择工序,工艺 |
| | | getProductFormList(){ |
| | | this.$axios.get(this.$api.url.chooseTechByProduct,{ |
| | | params:{specificationsId : this.returntree.id} |
| | | params:{ |
| | | specificationsId : this.returntree.id, |
| | | version : this.versionVal |
| | | } |
| | | }).then(res=>{ |
| | | this.productFormList = res.data; |
| | | }).catch(error=>{ |
| | |
| | | //工艺路线--获取工序列表 |
| | | getFatherList(){ |
| | | this.$axios.get(this.$api.url.chooseFather,{ |
| | | params:{specificationsId : this.returntree.id} |
| | | params:{ |
| | | specificationsId : this.returntree.id, |
| | | version: this.versionVal |
| | | } |
| | | }).then(res=>{ |
| | | this.fatherList = res.data; |
| | | }).catch(error=>{ |
| | |
| | | |
| | | }, |
| | | TYPE(val) {//类型.数据 |
| | | // console.log(val); |
| | | this.typeselect = val |
| | | |
| | | // console.log(this.typeselect); |
| | | this.searchName = ''; |
| | | this.selectVersion() |
| | | }, |
| | | handleNodeClick(val) {//树的值 |
| | |
| | | } |
| | | }, |
| | | async selectVersion() {//版本 |
| | | let v=await this.$axios.get(this.$api.url.selectVersion, { |
| | | this.versionData = []; |
| | | await this.$axios.get(this.$api.url.selectVersion, { |
| | | params: { |
| | | specificationsId: this.returntree.id, |
| | | type: this.typeselect, |
| | | } |
| | | }).then(res => { |
| | | this.verdata = res.data |
| | | this.version = this.verdata.map(el => { |
| | | return el = `v${el}` |
| | | }) |
| | | // console.log("版本"); |
| | | return this.verdata[0] |
| | | //初始化版本选择列表 |
| | | if(res.data != null){ |
| | | res.data.forEach(item=>{ |
| | | this.versionData.push({ |
| | | label:"v"+item, |
| | | value:item |
| | | }) |
| | | this.versionVal = res.data[0]; |
| | | }) |
| | | } |
| | | }) |
| | | this.character=v |
| | | if(this.character != undefined){ |
| | | this.version2="v"+v |
| | | } |
| | | this.selectAll() |
| | | }, |
| | | //右侧数据 |
| | |
| | | params: { |
| | | specificationsId: this.returntree.id,//tree的点击反馈 |
| | | type: this.typeselect,//类型 |
| | | version: this.character,//版本 |
| | | version: this.versionVal,//版本 |
| | | message: this.searchName//搜索条件 |
| | | } |
| | | }).then(res => { |
| | | let arr = res.data; |
| | |
| | | let arr = data; |
| | | for(var i=0;i<arr.length;i++){ |
| | | arr[i].rowId = Math.random(); |
| | | arr[i].indents = 1; |
| | | if(arr[i].children != undefined){ |
| | | this.formatData(arr[i].children); |
| | | } |
| | | } |
| | | }, |
| | | verevent(val) { |
| | | // console.log(val); |
| | | let cc = val.replace('v', '') |
| | | // console.log(cc); |
| | | this.character = cc |
| | | this.versionVal = val |
| | | this.selectAll() |
| | | // const { v, ...newObj } = val; |
| | | // delete newObj.v |
| | | // console.log(newObj); |
| | | }, |
| | | //五级树 |
| | | selectMaterialTree() { |
| | |
| | | }) |
| | | } |
| | | } |
| | | console.log(this.list); |
| | | this.selectDataList() |
| | | // 默认第一个五级节点搜索,新增配置项 |
| | | const treeOptions = JSON.parse(JSON.stringify(this.list)); |
| | |
| | | }, |
| | | nodeClose(data, node, el) { |
| | | $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') |
| | | }, |
| | | async selectProductTableData() { |
| | | switch (this.tableType) { |
| | | case 0: |
| | | const { data: technologyList } = await this.$axios.get(this.$api.url.selectTechnologyByMaterial, { params: { specificationId: this.checkTreeNode.id, technologyName: this.searchName } }) |
| | | this.tableData = technologyList |
| | | break; |
| | | case 1: |
| | | const { data: productList } = await this.$axios.get(this.$api.url.selectProductByMaterial, { params: { specifications: this.checkTreeNode.id, project: this.searchName } }) |
| | | productList.forEach((item, index) => { |
| | | item.name = item.father |
| | | item.index = index + 1 |
| | | item.id = item.father |
| | | if (item.children.length === 1) { |
| | | productList[index] = { ...item.children[0], index: index + 1, name: item.father } |
| | | } |
| | | }) |
| | | this.tableData = productList |
| | | break; |
| | | } |
| | | }, |
| | | // 递归更改添加级联所需属性 |
| | | replaceProp(arr){ |
| | |
| | | allow-create |
| | | filterable |
| | | @create="" |
| | | |
| | | placeholder="请选择" |
| | | style="width: 480px" |
| | | > |
| | |
| | | this.$axios |
| | | .post( |
| | | this.$api.url.addTechTemp, |
| | | |
| | | { |
| | | deviceGroup: this.form.deviceGroup, |
| | | // elementId: JSON.stringify(this.form.elementId).replace("[","").replace("]",""), |
| | |
| | | // console.log(this.equipment); |
| | | }); |
| | | }, |
| | | |
| | | // onTypeBlur(e) { |
| | | // if (e.target.value) { |
| | | // this.type = e.target.value;}}, |
| | | //工序 |
| | | chooseTech() { |
| | | this.$axios.get(this.$api.url.chooseTech,{ |