src/assets/api/controller.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/equipmentmaintain.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/laboratoryManagement.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/mbom.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/record-content.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard-table/product.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard-table/target.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard-table/technology.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/standard.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/technical.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/view/technology.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/assets/api/controller.js
@@ -14,6 +14,10 @@ leftAddOneTwo: "/material/add",//左侧新增1,2级 leftAddThree: "/standard/add",//左侧三级新增 leftAddFour: "/specifications/add",//左侧四级新增 chooseTechByStandard:"/product/chooseTech",//右上角新增-->技术指标-->选择工序,工艺 chooseFatherByStandard:"/product/chooseFather",//右上角新增-->技术指标-->选择项目父类 addProductByStandard:"/product/add",//右上角新增-->技术指标 // 技术管理-技术文件 selectAllOrder: "/orders/selectAllOrder", //查询所有订单列表 selectOrderById: "/orders/selectOrderById", //根据订单id查询订单详情 @@ -82,6 +86,7 @@ deleteIdorFather: "/device/deleteIdorFather" // 删除树模块数据 } //search_class:codeNameModel // QMS计量管理 const measure = { measureLedgerPageTable: "/measureLedger/metering_table", // 计量预测-->分页表格 @@ -117,6 +122,7 @@ selectAllMbom:"/mbomModel/selectAllMbom",//物料维护--》右边 addMbom:"/mbomModel/addMbom",//物料--->新增 material:"/mbomModel/delMbomById",//物料清单删除 delAllMbom:"/mbom/delAllMbom",//批量删除 selectAllTeque:"/techniqueModel/selectAllTeque",//生产工艺维护---。右边 @@ -138,6 +144,8 @@ addQeMode:"/techniqueModel/addQeMode",//新增----》传参 delQueById:"/techniqueModel/delQueById",//删除 delAllQue:"/techniqueModel/delAllQue",//批量删除 selecQueById:"/techniqueModel/selecQueById",//编辑 } const url = { enter: "user/enter", //登录 src/components/view/equipmentmaintain.vue
@@ -17,12 +17,11 @@ <el-dialog title="技术指标编辑" :visible.sync="modifyevent" width="40%" :before-close="handleClose"> width="40%"> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="类型"> <template> <el-select v-model="form.type" placeholder="请选择" > <el-select v-model="edit.type" disabled placeholder="请选择" style="width: 560px;"> <el-option label="橡胶连接器" :value="0"></el-option> <el-option label="金属连接器" :value="1"></el-option> <el-option label="湿插拔电连接器" :value="2"></el-option> @@ -34,7 +33,7 @@ <el-col :span="11"> <el-form-item label="工序"> <template> <el-select v-model="form.work" <el-select v-model="edit.techFather" disabled placeholder="请选择" > <el-option v-for="item in process" @@ -46,28 +45,63 @@ </template> </el-form-item> </el-col> <el-col :span="11" :offset="2"> <el-form-item label="工艺"> <el-input v-model="edit.techName" :disabled="true" placeholder="请选择"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="11"> <el-form-item label="设备"> <el-input v-model="form.father" placeholder="请选择"></el-input> <el-input v-model="edit.dname" disabled placeholder="请选择"></el-input> </el-form-item> </el-col> <el-col :span="11" :offset="2"> <el-form-item label="项目"> <el-input v-model="form.name" placeholder="请输入项目"></el-input> <!-- <el-input v-model="edit.father" :disabled="true" placeholder="请输入项目"></el-input> --> <template> <el-select v-model="edit.father" @change="projectApi" placeholder="请选择" > <el-option v-for="item in project" :key="item.name" :label="item.name" :value="item.name"> </el-option> </el-select> </template> </el-form-item> </el-col> </el-row> <el-form-item label="单位"> <el-input v-model="form.unit" placeholder="请输入单位" style="width: 220px;"></el-input> </el-form-item> <el-row> <el-col :span="11"> <el-form-item label="指标"> <template> <el-select v-model="edit.name" @change="scale" placeholder="请选择" > <el-option v-for="item in quota" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </template> </el-form-item> </el-col> <el-col :span="11" :offset="2"> <el-form-item label="单位"> <el-input v-model="unitrow" :value="unitrow" :disabled="true" placeholder="请输入项目"></el-input> </el-form-item> </el-col> </el-row> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="modifyevent = false">取 消</el-button> <el-button type="primary" @click="modifyevent = false">确 定</el-button> <el-button type="primary" @click="editApi">确 定</el-button> </span> </el-dialog> </div> @@ -76,12 +110,11 @@ <el-dialog title="技术指标新增" :visible.sync="dialogVisible" width="40%" :before-close="handleClose"> width="40%"> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="类型"> <template> <el-select v-model="form.type" placeholder="请选择" style="width: 480px;"> <el-select v-model="form.type" placeholder="请选择" @change="edittype" style="width: 480px;"> <el-option label="橡胶连接器" :value="0"></el-option> <el-option label="金属连接器" :value="1"></el-option> <el-option label="湿插拔电连接器" :value="2"></el-option> @@ -93,13 +126,27 @@ <el-col :span="11"> <el-form-item label="工序"> <template> <el-select v-model="form.father" <el-select v-model="form.father" @change="workevent" placeholder="请选择" > <el-option v-for="item in process" :key="item.name" :label="item.name" :value="item.name"> </el-option> </el-select> </template> </el-form-item> </el-col> <el-col :span="11" :offset="2"> <el-form-item label="工艺名称"> <template> <el-select v-model="form.craft" placeholder="请选择" > <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </template> @@ -113,9 +160,9 @@ <el-select v-model="form.work" placeholder="请选择" > <el-option v-for="item in higherlevel" :key="item.name" :key="item.devId" :label="item.name" :value="item.name"> :value="item.devId"> </el-option> </el-select> </template> @@ -123,14 +170,47 @@ </el-col> <el-col :span="11" :offset="2"> <el-form-item label="项目"> <el-input v-model="form.name" placeholder="请输入项目"></el-input> <template> <el-select v-model="form.ee" @change="projectApi" placeholder="请选择" > <el-option v-for="item in project" :key="item.name" :label="item.name" :value="item.name"> </el-option> </el-select> </template> </el-form-item> </el-col> </el-row> <el-form-item label="单位"> <el-row> <el-col :span="11"> <el-form-item label="指标"> <template> <el-select v-model="form.aa" @change="scale" placeholder="请选择" > <el-option v-for="item in quota" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </template> </el-form-item> </el-col> <el-col :span="11" :offset="2"> <el-form-item label="单位"> <template> <el-input v-model="unitrow" :disabled="true" placeholder="请输入单位" style="width: 200px;"></el-input> </template> </el-form-item> </el-col> </el-row> <!-- <el-form-item label="单位"> <el-input v-model="form.unit" placeholder="请输入单位" style="width: 220px;"></el-input> </el-form-item> </el-form-item> --> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">取 消</el-button> @@ -160,11 +240,14 @@ <!-- 主体左 --> <div class="left"> <el-input v-model="search.technology" @input="query" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable ></el-input> <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" highlight-current node-key="id" default-expand-all highlight-current :filter-node-method="filterNode" <el-tree :data="list" ref="tree" style="height: 500px;overflow-y: auto;" :props="{children: 'children',label: 'name'}" highlight-current node-key="name" default-expand-all @node-click="handleNodeClick" > <div class="custom-tree-node" slot-scope="{ node, data }"> @@ -197,30 +280,28 @@ <el-table-column label="设备名称" sortable prop="dname" width="300px"> <template slot-scope="scope"> <el-tag> <!-- <el-tag> <div class="firstDiv" :style="`color: ${scope.row.children ? '#16a7ff' : '#58c173'}`"> {{ scope.row.children ? "01" : "02" }} </div> </el-tag> <span style="children: black">{{ scope.row.name }}</span> <span style="children: black">{{ scope.row.name }}</span> --> <el-tag v-if="scope.row.children" type="primary">01</el-tag> <span style="color: black" v-if="scope.row.children"> {{ scope.row.dname }} </span> </template> </el-table-column> <el-table-column label="项目" sortable width="300px"> <template slot-scope="scope"> <el-tag> <div class="firstDiv" :style="`color: ${scope.row.children ? '#16a7ff' : '#58c173'}`"> {{ scope.row.children ? "01" : "02" }} </div> </el-tag> <span style="color: black">{{ scope.row.name }}</span> <el-tag type="success" v-if="!scope.row.children">02</el-tag> <span style="color: black" v-if="!scope.row.children">{{ scope.row.father }}</span> </template> </el-table-column> <el-table-column @@ -228,7 +309,7 @@ label="单位"> </el-table-column> <el-table-column prop="address" prop="name" label="指标"> </el-table-column> <el-table-column @@ -236,9 +317,11 @@ label="操作" width="200px"> <template slot-scope="scope" style="text-align: center;"> <el-button type="text" size="mini" @click="childrenClick(scope)">编辑</el-button> <el-button type="text" size="mini" @click="deleteRow(scope.$index, tableData)">删除</el-button> </template> <div v-if="!scope.row.children"> <el-button type="text" size="mini" @click="childrenClick(scope.row)">编辑</el-button> <el-button type="text" size="mini" @click="deleteRow(scope.$index, scope.row)">删除</el-button> </div> </template> </el-table-column> </el-table> </div> @@ -258,12 +341,17 @@ options:[], process:[], list: [], TYpe:'', selects:'', process:{}, options:{}, craftapi:{}, project:{}, edit:{}, upData:{ }, checkTreeNode:{ id:2, id:1, }, form:{ type:'', @@ -271,13 +359,16 @@ work:'', name:'', unit:'', }, modifyevent:false, dialogVisible:false, tableData: [], higherlevel:{}, quota:{}, unitrow:'', } }, @@ -303,12 +394,12 @@ this.upIndex++ }, elForm() {}, //新增 choosePro() {//工序 // //新增 choosePro() {//项目 this.$axios.get(this.$api.url.choosePro,{ params:{techTemId:this.checkTreeNode.id} }).then(res => { this.process = res.data; this.project = res.data; console.log(this.process); }, { headers: { @@ -328,6 +419,44 @@ } }) }, //新增 edittype(val) { this.typeselect = val this.chooseTechFath() }, projectApi(val) { console.log(val); let idx = this.project.findIndex(el => el.name === val) this.quota = this.project[idx].children console.log( this.quota); }, scale(val) { console.log(val); let cc = this.quota.findIndex(el => el.id === val) console.log(cc); this.unitrow = this.quota[cc].unit console.log(this.unitrow); }, workevent(val){ console.log(val); let idx = this.process.findIndex(el => el.name === val) this.craftapi = this.process[idx].children console.log( this.craftapi); }, chooseTechFath() { this.$axios.get(this.$api.url.chooseTechFath,{ params:{type:this.typeselect} }).then(res => { this.process = res.data; console.log(this.process); }, { headers: { "Content-Type": "application/json" } }).then(res =>{ }) }, //新增 event(){ this.dialogVisible = true @@ -337,21 +466,54 @@ //确认 add() { this.dialogVisible = false this.addQeMode() }, addQeMode(){ this.$axios.get(this.$api.url.addQeMode,{ devId:this.form.xxx, techTemId:this.form.xxx, technicalModelId:this.form.xxx, this.$axios.post(this.$api.url.addQeMode,{ devId:this.form.work, techTemId:this.form.craft, technicalModelId:this.form.aa, }, {headers: {"Content-Type": "application/json"} }).then(res =>{ this.selectAllTeque() this.form = {} this.unitrow = "" }) }, //编辑 childrenClick() { childrenClick(ob) { this.modifyevent=true this.chooseTechFath() this.upData = ob this.selecQueById() this.choosePro() }, TYpe() { //编辑 selecQueById selecQueById() { this.$axios.get(this.$api.url.selecQueById,{ params:{id:this.upData.id} }).then(res => { console.log(res); this.edit = res.data[0] console.log(this.edit); this.unitrow = this.edit.unit }) }, editApi() { this.modifyevent = false this.writeQueById() }, writeQueById() { this.$axios.post(this.$api.url.writeQueById,{ devId:this.edit.did, techTemId:this.edit.tid, technicalModelId:this.edit.name, }, {headers: {"Content-Type": "application/json"} }).then(res =>{ }) }, //======================== TYpe(val) { this.typeselect = val this.selectAllleft() }, @@ -361,17 +523,24 @@ this.selectAllTeque() }, //查询 query(val) { this.selectAllleft() }, //主体左 selectAllleft() { this.$axios.get(this.$api.url.selectAllleft,{ params:{type:this.typeselect} params:{type:this.typeselect,message:this.search.technology} }).then(res => { this.list = res.data; console.log(this.list); this.selectDataList() this.$nextTick(() => { this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 默认选中节点第一个 }) }) }, //主体右 selectAllTeque() { this.$axios.get(this.$api.url.selectAllTeque,{ @@ -385,12 +554,34 @@ modify(){ this.modifyevent = true }, deleteRow(index, rows) { rows.splice(index, 1); //delQueById delQueById() { this.$axios.post(this.$api.url.delQueById,{ id:this.upData.id }).then(res =>{ this.selectAllTeque() this.$message.success('删除完成') }) }, deleteRow(index, row) { this.tableData.splice(index,1) this.upData.id = row.id console.log(this.upData.id); this.delQueById() }, handleSelectionChange(val) { this.selects = val }, //批量删除 delAllQue() { this.$axios.post(this.$api.url.delAllQue,{ ids:this.delete }).then(res =>{ this.selectAllTeque() this.$message.success('删除完成') }) }, dels() { this.selects.forEach(a => { for (var b = 0; b < this.tableData.length; b++) { @@ -400,18 +591,24 @@ } } }) let cc = this.selects.map(el => { return el.id }) this.delete = cc.join(',') console.log(this.delete); this.delAllQue() this.$message.success('删除完成') }, handleClose(){ this.$confirm('确认关闭?') .then(_ => { done(); }) .catch(_ => {}) }, filterNode(){ // handleClose(){ // // this.$confirm('确认关闭?') // // .then(_ => { // // done(); // // }) // // .catch(_ => {}) // // }, // // filterNode(){ }, // }, } } src/components/view/laboratoryManagement.vue
@@ -555,7 +555,7 @@ twoTreeApi() { this.$axios.get(this.$api.url.towTree,{ params:{ type:this.equip type:this.equip, } }).then(res => { // let list = res.data; src/components/view/mbom.vue
@@ -136,10 +136,15 @@ </div> <div class="thing"> <div class="left"> <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable ></el-input> <el-tree :data="list" ref="tree" highlight-current <el-input v-model="search.technology" @input="query" suffix-icon="el-icon-search" placeholder="请输入搜索内容" size="small" clearable ></el-input> <el-tree :data="list" ref="tree" style="height: 500px;overflow-y: auto;" highlight-current :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all @node-click="handleNodeClick" > node-key="name" default-expand-all @node-click="handleNodeClick" > <div class="custom-tree-node" slot-scope="{ node, data }"> <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> {{data.code}} {{ data.name }}</span> @@ -183,7 +188,7 @@ return { search:{ type: 0, technology: null technology: '' }, list:[], process:{}, @@ -284,14 +289,22 @@ this.typeselect = val this.selectAllleft() }, query() { this.selectAllleft() }, //左边 selectAllleft() { this.$axios.get(this.$api.url.selectAllleft,{ params:{type:this.typeselect} params:{type:this.typeselect, message:this.search.technology } }).then(res => { this.list = res.data; console.log(this.list); this.selectDataList() this.$nextTick(() => { this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 默认选中节点第一个 }) }, { headers: { "Content-Type": "application/json" @@ -347,6 +360,14 @@ this.dialogVisible = false }, //delAllMbom 批量删除 delAllMbom() { this.$axios.post(this.$api.url.delAllMbom,{ ids:this.delete }).then(res =>{ this.selectAllMbom() }) }, dels() { this.selects.forEach(a => { for (var b = 0; b < this.tableData.length; b++) { @@ -356,6 +377,12 @@ } } }) let cc = this.selects.map(el => { return el.id }) this.delete = cc.join(',') console.log(this.delete); this.delAllMbom() this.$message.success('删除完成') }, handleSelectionChange(val) { src/components/view/record-content.vue
@@ -464,12 +464,13 @@ "Content-Type": "application/json" } } ) ).then(res =>{ this.selectjilu() }) }, add() { this.dialogVisible = false this.addRecord() this.selectjilu() this.form = {}; }, query() { src/components/view/standard-table/product.vue
@@ -67,7 +67,12 @@ <span>{{scope.row.device}}</span> </template> </el-table-column> <el-table-column prop="productFather" label="项目"></el-table-column> <el-table-column prop="productFather" label="项目"> <template slot-scope="scope"> <el-tag type="info" v-if="scope.row.productFather != null">03</el-tag> <span>{{scope.row.productFather}}</span> </template> </el-table-column> <el-table-column prop="unit" label="单位"></el-table-column> <el-table-column prop="product" label="指标"></el-table-column> </el-table> @@ -76,7 +81,11 @@ <script> export default ({ data() { return { deviceGroupDialog:false, selects: [], isAllSelect:false, } }, props:['tableData','tableType'], methods:{ src/components/view/standard-table/target.vue
@@ -19,11 +19,16 @@ <span>{{scope.row.tname}}</span> </template> </el-table-column> <el-table-column prop="pfather" label="项目"> <template slot-scope="scope"> <el-tag type="info" color="#faf2ff" v-if="scope.row.pfather != null"> <span style="color: #e1affb">03</span> </el-tag> <span>{{scope.row.pfather}}</span> </template> </el-table-column> <el-table-column prop="pname" label="指标名称"> <template slot-scope="scope"> <el-tag type="info" color="#faf2ff" v-if="scope.row.pname != null"> <span style="color: #e1affb">03</span> </el-tag> <span>{{scope.row.pname}}</span> </template> </el-table-column> @@ -31,14 +36,14 @@ <el-table-column prop="internal" label="内控值"> <template slot-scope="scope"> <el-input v-model="scope.row.internal" v-if="scope.row.internal != null" v-if="scope.row.pname != null" @blur="updateVal(scope.row)"></el-input> </template> </el-table-column> <el-table-column prop="required" label="标准值"> <template slot-scope="scope"> <el-input v-model="scope.row.required" v-if="scope.row.required != null" v-if="scope.row.pname != null" @blur="updateVal(scope.row)"></el-input> </template> </el-table-column> src/components/view/standard-table/technology.vue
@@ -35,7 +35,7 @@ <el-table-column prop="pq" label="生产定额(个/天)"> <template slot-scope="scope"> <el-input v-model="scope.row.pq" v-if="scope.row.pq != null" v-if="scope.row.dg != null" @blur="updatePq(scope.row)" ></el-input> </template> @@ -65,9 +65,7 @@ } }, props:['tableData','tableType'], created() { console.log(this.tableData) }, created() {}, mounted() { }, src/components/view/standard.vue
@@ -7,7 +7,6 @@ <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="bomAddModelVisible = true">新增</el-button> <el-button icon="el-icon-plus">新增版本</el-button> <el-button @click="bomRightUp=true" icon="el-icon-edit-outline">修改</el-button> <el-button @click="bomRightDl=true" icon="el-icon-delete">删除</el-button> </el-col> </el-row> @@ -74,15 +73,191 @@ <div class="bom-add-model"> <el-dialog title="BOM新增" :visible.sync="bomAddModelVisible" width="30%"> <div> <!-- 物料清单新增 --> <bomClickAdd v-if="typeselect===2"/> <el-dialog title="BOM新增" :visible.sync="bomAddModelVisible" width="45%"> <!-- 工艺路线 --> <div v-if="typeselect == 0"> <el-form :model="technologyForm" :inline="true" label-position="right" ref="technologyForm" :rules="technologyRules" label-width="90px"> <el-form-item label="工序:" prop="tefather"> <el-select id="tefather" size="small" filterable allow-create default-first-option v-model="technologyForm.tefather" placeholder="请输入或选择工序"> <el-option :value="item.father" :label="item.father" v-for="(item,index) in fatherList" :key="index"></el-option> </el-select> </el-form-item> <el-form-item label="工艺名称:" prop="tename"> <el-input id="tename" size="small" placeholder="请输入工艺名称" clearable v-model="technologyForm.tename"></el-input> </el-form-item> <el-form-item label="设备组:" prop="deviceGroup"> <el-select id="deviceGroup" placeholder="请选择设备组" size="small" v-model="technologyForm.deviceGroup"> <el-option :value="item.father" v-for="(item,index) in deviceList" :key="index" :label="item.father"></el-option> </el-select> </el-form-item> <el-form-item label="生产定额:" prop="productionQuota"> <el-input id="productionQuota" size="small" clearable v-model.number="technologyForm.productionQuota" placeholder="请输入生产定额" /> </el-form-item> </el-form> <div style="width:100%;text-align: right;"> <span slot="footer" class="dialog-footer" > <el-button type="primary" @click="confirmAdd('technologyForm')">确 定</el-button> <el-button @click="bomAddModelVisible = false">取 消</el-button> </span> </div> </div> <span slot="footer" class="dialog-footer"> <el-button @click="bomAddModelVisible = false">取 消</el-button> <el-button type="primary" @click="bomAddModelVisible = false">确 定</el-button> </span> <!-- 技术指标 --> <div v-if="typeselect == 1"> <el-form :model="targetForm" :inline="true" label-position="right" :rules="targetRules" ref="targetForm" label-width="90px"> <el-form-item label="工序:" prop="pfather"> <el-select v-model="targetForm.pfather" @change="changeFather" style="width:200px;" placeholder="请选择工序"> <el-option :value="item.name" :label="item.name" v-for="(item,index) in targetFormList" :key="index"></el-option> </el-select> </el-form-item> <el-form-item label="工艺名称:" prop="technologyId"> <el-select v-model="targetForm.technologyId" @change="changeTechnologyId" style="width:200px;" placeholder="请选择工艺名称"> <el-option :value="item.id" :label="item.name" v-for="(item,index) in technologyIdList" :key="index"></el-option> </el-select> </el-form-item> <el-form-item label="项目:" prop="father"> <el-select v-model="targetForm.father" filterable allow-create default-first-option style="width:200px;" placeholder="请输入或选择项目"> <el-option :value="item.father" :label="item.father" v-for="(item,index) in projectList" :key="index"></el-option> </el-select> </el-form-item> <el-form-item label="指标名称:" prop="name"> <el-input style="width:200px;" v-model="targetForm.name" placeholder="请输入指标名称"/> </el-form-item> <el-form-item label="单位:" prop="unit"> <el-input style="width:200px;" v-model="targetForm.unit" placeholder="请输入单位"/> </el-form-item> <el-form-item label="内控值:" prop="internal"> <el-input style="width:200px;" v-model="targetForm.internal" placeholder="请输入内控值"/> </el-form-item> <el-form-item label="标准值:" prop="required"> <el-input style="width:200px;" v-model="targetForm.required" placeholder="请输入标准值"/> </el-form-item> </el-form> <div style="width:100%;text-align: right;"> <span slot="footer" class="dialog-footer" > <el-button type="primary" @click="confirmAdd('targetForm')">确 定</el-button> <el-button @click="bomAddModelVisible = false">取 消</el-button> </span> </div> </div> <!-- 物料清单 --> <div v-if="typeselect == 2"> <el-form :model="materialForm" label-position="right" :rules="materialRules" ref="materialForm" label-width="80px"> <el-row> <el-col :span="12"> <el-form-item label="规格型号:" width="250"> <el-input style="width:200px;" v-model="materialForm.pname" placeholder="请输入单位"/> </el-form-item> </el-col> <el-col :span="12" style="text-align: right;"> <el-form-item label="产品大类:" width="250"> <el-select placeholder="请选择产品大类" style="width:240px;" v-model="materialForm.dg"> <el-option value="1">1</el-option> <el-option value="2">2</el-option> <el-option value="3">3</el-option> <el-option value="4">4</el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="材料信息"></el-form-item> </el-col> <el-col :span="12" style="text-align: right;"> <el-button size="mini" style="text-align: right;">添加行</el-button> </el-col> </el-row> <el-row> <el-col :span="24"> <el-table > <el-table-column label="材料名称"></el-table-column> <el-table-column label="规格型号"></el-table-column> <el-table-column label="单位"></el-table-column> <el-table-column label="数量"></el-table-column> </el-table> </el-col> </el-row> </el-form> <div style="width:100%;text-align: right;"> <span slot="footer" class="dialog-footer" > <el-button type="primary" @click="confirmAdd('materialForm')">确 定</el-button> <el-button @click="bomAddModelVisible = false">取 消</el-button> </span> </div> </div> <!-- 生产工艺 --> <div v-if="typeselect == 3"> <el-form :model="productForm" :inline="true" label-position="right" label-width="80px"> <el-form-item label="工序:" width="250"> <el-select v-model="productForm.father" style="width:200px;" placeholder="请输入或选择生产定额"> <el-option value="1">1</el-option> <el-option value="2">2</el-option> <el-option value="3">3</el-option> <el-option value="4">4</el-option> </el-select> </el-form-item> <el-form-item label="工艺名称:" width="250"> <el-select placeholder="请输入或选择工艺名称" style="width:200px;" v-model="productForm.name"> <el-option value="1">1</el-option> <el-option value="2">2</el-option> <el-option value="3">3</el-option> <el-option value="4">4</el-option> </el-select> </el-form-item> <el-form-item label="设备:" width="250"> <el-select placeholder="请选择设备" style="width:200px;" v-model="productForm.dg"> <el-option value="1">1</el-option> <el-option value="2">2</el-option> <el-option value="3">3</el-option> <el-option value="4">4</el-option> </el-select> </el-form-item> <el-form-item label="项目:" width="250"> <el-select placeholder="请选择项目" style="width:200px;" v-model="productForm.dg"> <el-option value="1">1</el-option> <el-option value="2">2</el-option> <el-option value="3">3</el-option> <el-option value="4">4</el-option> </el-select> </el-form-item> <el-form-item label="单位:" width="250"> <el-input style="width:200px;" v-model="productForm.unit" placeholder="请输入单位"/> </el-form-item> <el-form-item label="指标:" width="250"> <el-input style="width:200px;" v-model="productForm.pq" placeholder="请输入指标" /> </el-form-item> </el-form> <div style="width:100%;text-align: right;"> <span slot="footer" class="dialog-footer" > <el-button type="primary" @click="confirmAdd('productForm')">确 定</el-button> <el-button @click="bomAddModelVisible = false">取 消</el-button> </span> </div> </div> </el-dialog> <!-- 左侧点击+按钮 --> <el-dialog title="BOM新增" :visible.sync="bomLeftAdd" width="29%"> @@ -108,16 +283,6 @@ <el-button type="primary" @click="submitForm('leftAdd')">确 定</el-button> </span> </el-dialog> <!-- 右上侧点击修改按钮 --> <el-dialog title="BOM修改" :visible.sync="bomRightUp" width="30%"> <el-form> 修改 </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="bomRightUp = false">取 消</el-button> <el-button type="primary" @click="bomRightUp = false">确 定</el-button> </span> </el-dialog> <!-- 右上侧点击删除按钮 --> <el-dialog title="BOM删除" :visible.sync="bomRightDl" width="30%"> <el-form> @@ -141,7 +306,67 @@ components: { technology,material,bomClickAdd }, data() { var checkPq = (rule,value,callback)=>{ if(value!='' && !Number.isInteger(value)){ return callback(new Error('请输入数字值')); } callback(); }; var checkVal = (rule,value,callback)=>{ let arr = [">","<","="]; if(value!='' && arr.indexOf(value.substring(0,1))==-1){ callback(new Error("开头需包含 > 或 < 或 = ")) } callback(); }; return { //技术指标-新增-工序,工艺下拉框数据 targetFormList:[], technologyIdList:[], //技术指标-新增-项目下拉框数据 projectList:[], //工序列表 fatherList:[], //设备组列表 deviceList:[], technologyForm:{ tefather:'', tename:'', deviceGroup:'', productionQuota:'' }, targetForm:{ pfather:'', father: '', technologyId:'', name:'', unit:'', internal:'', required: '' }, materialForm:{}, productForm:{}, technologyRules:{ tefather:{required:true,message:'工序不能为空',trigger:'change'}, tename:{required:true,message:'工艺名称不能为空',trigger:'blur'}, deviceGroup:{required:true,message:'设备组不能为空',trigger:'change'}, productionQuota:{validator:checkPq,trigger:'change'} }, targetRules:{ pfather:{required:true,message:'工序不能为空',trigger:'change'}, technologyId:{required:true,message:'工艺名称不能为空',trigger:'change'}, father:{required:true,message:'项目不能为空',trigger:'change'}, name:{required:true,message:'指标名称不能为空',trigger:'blur'}, unit:{required:true,message:'单位不能为空',trigger:'change'}, internal:{validator:checkVal,trigger:'change'}, required:{validator:checkVal,trigger:'change'} }, materialRules:{ }, productRules:{ }, // BOM树数据结构 list: [], search: null, @@ -175,14 +400,6 @@ isLeftAdd: true } }, // watch: { // search(val) { // this.$refs.tree.filter(val); // }, // tableType(val){ // this.selectProductTableData() // } // }, mounted() { this.tableType=0 this.selectMaterialTree() @@ -296,6 +513,108 @@ this.$refs[formName].resetFields(); }, leftAddBom(){ }, confirmAdd(formName){ this.$refs[formName].validate(valid=>{ if(valid){ let type = this.typeselect; let obj = {} if(type == 0){ obj = { specificationsId: Number.parseInt(this.returntree.id), deviceGroup: this.technologyForm.deviceGroup, father: this.technologyForm.tefather, name: this.technologyForm.tename, productionQuota: Number.parseInt(this.technologyForm.productionQuota), } this.submitBomAdd(this.$api.url.addTechnology,obj); }else if(type == 1){ this.submitBomAdd(this.$api.url.addProductByStandard,this.targetForm); } } }) }, submitBomAdd(url,data){ this.$axios.post( url,data, {headers: { "Content-Type": "application/json" }} ).then(res=>{ this.selectAll(); this.$message.success(res.message); }).catch(error=>{ this.$message.error(error.message); }) this.bomAddModelVisible = false; }, clearBomAddModel(){ if(this.typeselect == 0){ this.$refs["technologyForm"].resetFields(); }else if(this.typeselect == 1){ this.$refs["targetForm"].resetFields(); }else if(this.typeselect == 2){ this.$refs["materialForm"].resetFields(); }else{ this.$refs["productForm"].resetFields(); } }, changeTechnologyId(val){ this.$axios.get(this.$api.url.chooseFatherByStandard,{ params:{technologyId : val} }).then(res=>{ this.projectList = res.data; }).catch(error=>{ this.$message.error(error.message); }); }, changeFather(val){ let arr = this.targetFormList.filter(item=>{ return item.name == val; }); if(arr != undefined || arr.children != null){ this.technologyIdList = arr[0].children; } }, //获取工序,工艺列表 getTargetFormList(){ this.$axios.get(this.$api.url.chooseTechByStandard,{ params:{specificationsId : this.returntree.id} }).then(res=>{ this.targetFormList = res.data; }).catch(error=>{ this.$message.error(error.message); }) }, //获取项目列表 getProjectFormList(){ }, //获取工序列表 getFatherList(){ this.$axios.get(this.$api.url.chooseFather,{ params:{specificationsId : this.returntree.id} }).then(res=>{ this.fatherList = res.data; }).catch(error=>{ this.$message.error(error.message); }) }, //获取设备组列表 getDeviceList(){ this.$axios.get(this.$api.url.chooseDevice).then(res=>{ this.deviceList = res.data; }).catch(error=>{ this.$message.error(error.message); }) }, showBomAddModel(){ this.getFatherList(); this.getDeviceList(); this.getTargetFormList(); this.bomAddModelVisible = true }, startLeftAdd(){ }, getType(typeName){ @@ -572,6 +891,11 @@ this.restaurants=this.loadFatherType() } } }, bomAddModelVisible(newVal){ if(!newVal){ this.clearBomAddModel(); } } } } @@ -579,11 +903,14 @@ <style scoped> .standard { .standard .bom-add-model{ width: 100%; } .standard .contentTable{ .standard .bom-add-model form{ width: 90%; margin-left: 5%; } .standard .title .el-button { src/components/view/technical.vue
@@ -11,7 +11,7 @@ <div class="search-header"> <el-form v-model="searchData" :inline="true"> <el-form-item label="订单号:"> <el-input v-model="searchData.id"></el-input> <el-input v-model="searchData.id" ></el-input> </el-form-item> <el-form-item label="下单日期:"> <el-date-picker @@ -21,7 +21,16 @@ placeholder="选择日期"> </el-date-picker> </el-form-item> <el-form-item> <el-form-item label="产品名称:"> <el-input v-model="searchData.name" @input="query"></el-input> </el-form-item> <el-form-item label="编制状态:" > <el-select v-model="searchData.type" placeholder="全部" style="width: 310px;"> <el-option label="待编制" :value="0"></el-option> <el-option label="已编制" :value="1"></el-option> </el-select> </el-form-item> <el-form-item > <el-button plain @click="resetBtn">重 置</el-button> <el-button @click="searchTechnical">查 询</el-button> </el-form-item> @@ -222,7 +231,9 @@ return { searchData:{ id:'', date:'' date:'', name:'', condition:'', }, compiledata:{}, technicalTable: [], @@ -242,8 +253,6 @@ authorizedstrength(row) { this.compiledata = row this.compile() // let ccc = row // console.log(row); }, //编制 compile() { @@ -255,23 +264,35 @@ }) this.getTechnicalTableData() }, async showDetails(row){ this.showDetail = true const res = await this.$axios.get(this.$api.url.selectOrderById,{params:{id:row.id}}) this.selectedRow = res.data console.log(this.selectedRow) }, async getTechnicalTableData() { const res = await this.$axios.get(this.$api.url.selectAllOrder,{ params:{ pageSize:(this.pageParams.pageNo-1), countSize:this.pageParams.pageSize,...this.searchData}}) countSize:this.pageParams.pageSize,...this.searchData, orderCode:this.searchData.id, time:this.searchData.date, name:this.searchData.name, type:this.searchData.type, } }) this.technicalTable = res.data.row this.pageParams.total = res.data.total }, // 头部条件查询-重置 resetBtn() { this.searchData={} this.getTechnicalTableData() }, // 头部条件查询-查询 searchTechnical() { @@ -294,6 +315,9 @@ height: 100%; width: 100%; } .el-form-item__label{ padding: 0 60px 0; } .technical .title .el-button { height: 32px; border: 1px solid rgba(190, 190, 190, 0.44); @@ -311,9 +335,12 @@ background: #fff; padding: 24px 32px; } .search-header .el-form-item__label{ padding: 0 30px 0 0; } .search-header .el-form-item{ margin: 0px; font-size: 14px; font-size: 20px; } .search-header .el-form-item:nth-child(1){ margin-right: 48px; src/components/view/technology.vue
@@ -275,7 +275,7 @@ <el-select v-model="edit.children" style="width: 310px" disabled multiple placeholder="请选择" >