From 7965761658b890fce87de832a1ae76cc82a3c33b Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期一, 11 九月 2023 12:53:09 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before --- src/components/view/standard-box/bomClickAdd.vue | 15 ++ src/components/view/standard.vue | 121 +++++++++++++++++--- src/components/view/standard-table/bom.vue | 107 +++++++++++++++++ src/components/view/rawInsDetail.vue | 10 + src/components/view/rawUnqualified/raw.vue | 62 +++++++++- src/components/view/unqualifiedManagement.vue | 6 src/assets/api/controller.js | 3 7 files changed, 292 insertions(+), 32 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index e9c4312..34890eb 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -27,7 +27,8 @@ } //涓嶅悎鏍煎師鏉愭枡 const unqualifiedaa ={ - selectUnRawInspectsList: "/inspectUnaccepted/selectURawMaterials" + selectUnRawInspectsList: "/inspectUnaccepted/selectURawMaterials", // 鏌ヨ鍘熸潗鏂欎笉鍚堟牸鍝佹楠屽崟鍒楄〃 + evaluatePassOrNo: "/inspectUnaccepted/evaluatePassOrNo" // 璇勫 } // 鏌ヨ鎴愬搧涓嶅悎鏍煎搧绠$悊 const unRawInspects ={ diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue index 9f5a5d6..2ab34d0 100644 --- a/src/components/view/rawInsDetail.vue +++ b/src/components/view/rawInsDetail.vue @@ -118,7 +118,7 @@ <el-col :span="7"> <el-form-item label="渚涘簲鍟嗗悕绉�:"> <el-input - :placeholder="detailId !== null ? '' : '璇疯緭鍏ユ楠屾暟閲�'" + :placeholder="detailId !== null ? '' : '璇疯緭鍏ヤ緵搴斿晢鍚嶇О'" :disabled="detailId !== null" v-model="detailInfo.supplier" ></el-input> @@ -274,7 +274,7 @@ <el-table :data="conclusionTable" style="100%"> <el-table-column prop="code" label="鐗╂枡缂栧彿"> </el-table-column> <el-table-column prop="name" label="鐗╂枡鍚嶇О"> </el-table-column> - <el-table-column prop="uName" label="妫�楠屽憳"> + <el-table-column v-if="detailId != null" prop="uName" label="妫�楠屽憳"> <template slot-scope="scope"> <span v-for="item in scope.row.uName" @@ -439,7 +439,11 @@ this.projectTable = res.data.children; this.projectTable.forEach(i => { // 瑙e喅閲嶆柊璧嬪�兼棤娉曠紪杈戞搷浣� - this.$set(i, "testValueList", i.testValue.split(",")); + if (i.testValue == null) { + this.$set(i, "testValueList", []); + } else { + this.$set(i, "testValueList", i.testValue.split(",")); + } // 鍙栨渶闀跨殑鍒楄〃鏁� if (i.testValueList.length > this.empiricalValueAdd) { this.empiricalValueAdd = i.testValueList.length; diff --git a/src/components/view/rawUnqualified/raw.vue b/src/components/view/rawUnqualified/raw.vue index a92a38f..527f21c 100644 --- a/src/components/view/rawUnqualified/raw.vue +++ b/src/components/view/rawUnqualified/raw.vue @@ -108,25 +108,61 @@ </el-table-column> <el-table-column prop="deal_reasult" label="澶勭悊缁撴灉" width="100"> <template slot-scope="scope"> - <span style="color:#34BD66;" v-if="scope.row.deal_reasult == 1" + <span style="color:#E84738;" v-if="scope.row.deal_reasult == 0" >涓嶉�氳繃</span > <span - style="color:#E84738;" - v-else-if="scope.row.deal_reasult == 0" + style="color:#34BD66;" + v-else-if="scope.row.deal_reasult == 1" >閫氳繃</span > </template> </el-table-column> <el-table-column label="鎿嶄綔" width="100"> - <template> + <template slot-scope="scope"> <div style="display: flex;"> - <el-button type="text" siae="small" size="mini">璇勫</el-button> + <el-popover + placement="left" + width="160" + :ref="`popover-${scope.$index}`" + > + <div style="padding: 6px">璇勫鏄惁閫氳繃锛�</div> + <div style="text-align: right; margin: 6px;"> + <el-button + size="mini" + type="text" + style="color: #E84738;" + @click=" + scope._self.$refs[`popover-${scope.$index}`].doClose(); + rawEvaluate(scope.row, 0); + " + >涓嶉�氳繃</el-button + > + <el-button + type="text" + style="color: #34bd66;" + size="mini" + @click=" + scope._self.$refs[`popover-${scope.$index}`].doClose(); + rawEvaluate(scope.row, 1); + " + >閫氳繃</el-button + > + </div> + <el-button + slot="reference" + type="text" + siae="small" + size="mini" + >璇勫</el-button + > + </el-popover> + <el-button type="text" siae="small" size="mini" - style=" color:87, 138, 193 ;" + style=" color:87, 138, 193 ; margin-left: 10px;" >鏌ョ湅</el-button > </div> @@ -165,7 +201,8 @@ supplier: "" // 渚涘簲鍟� }, unqualifiedTable: [], // 椤甸潰琛ㄦ牸鏁版嵁 - total: 0 + total: 0, + visible: false }; }, mounted() { @@ -200,6 +237,17 @@ supplier: "" // 渚涘簲鍟� }; this.getDetailInfo(); + }, + rawEvaluate(row, passOrNo) { + this.$axios + .post(this.$api.url.evaluatePassOrNo, { + rawId: row.id, + passOrNo: passOrNo + }) + .then(res => { + this.unqualifiedTable = []; + this.getDetailInfo(); + }); } } }; diff --git a/src/components/view/standard-box/bomClickAdd.vue b/src/components/view/standard-box/bomClickAdd.vue new file mode 100644 index 0000000..a8f9b6d --- /dev/null +++ b/src/components/view/standard-box/bomClickAdd.vue @@ -0,0 +1,15 @@ +<template> + <div> + 1 + </div> +</template> + +<script> +export default { + +} +</script> + +<style> + +</style> \ No newline at end of file diff --git a/src/components/view/standard-table/bom.vue b/src/components/view/standard-table/bom.vue new file mode 100644 index 0000000..fffd709 --- /dev/null +++ b/src/components/view/standard-table/bom.vue @@ -0,0 +1,107 @@ +<template> + <div class="standard"> + <div> + <el-table :data="tableData" height="800" row-key="id" border + :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'left'}" + @selection-change="handleSelectionChange" default-expand-all + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> + <el-table-column type="selection" width="55"> + </el-table-column> + <el-table-column type="index" width="60" label="搴忓彿"> + </el-table-column> + <el-table-column prop="father" label="宸ュ簭" sortable width="200px"> + <template slot-scope="scope"> + <el-tag v-if="scope.row.children" type="primary">01</el-tag> + <span style="color: black"> + {{ scope.row.father }} + </span> + </template> + </el-table-column> + <el-table-column sortable label="宸ヨ壓鍚嶇О"> + <template slot-scope="scope"> + <el-tag type="success" v-if="!scope.row.children">02</el-tag> + <span style="color: black">{{ scope.row.name }}</span> + </template> + </el-table-column> + <el-table-column prop="mname" label="鏉愭枡鍚嶇О"> + </el-table-column> + <el-table-column prop="specifications" label="瑙勬牸"> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅"> + </el-table-column> + <el-table-column prop="num" label="鏁伴噺"> + </el-table-column> + <!-- <el-table-column label="鎿嶄綔"> + <el-button style="color: rgb(137, 137, 229);">缂栬緫</el-button> + </el-table-column> --> + </el-table> + </div> + </div> + </template> + + <script> + export default { + data() { + return { + selects: [] + } + }, + props:['tableData','tableType'], + created() { + console.log(this.tableData) + }, + mounted() { + + }, + methods: { + handleSelectionChange(val) { + this.selects = val; + } + } + } + </script> + + <style scoped> + .standard { + width: 100%; + height: 100%; + } + </style> + <style> + .standard * { + font-size: 14px; + } + + .standard .has-gutter .el-table__cell { + background-color: #F0F1F5 !important; + color: #333; + } + + .standard .has-gutter .el-table__cell .cell { + font-size: 16px; + font-weight: 500; + } + + .standard .cell { + color: #333; + padding-left: 17px !important; + } + + .standard { + width: 100%; + height: 100%; + overflow: auto; + } + + .standard .el-table__body-wrapper { + height: 100%; + } + + .standard .el-table__body { + height: 100%; + } + .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){ + padding-left: 23px !important; + } + </style> + \ No newline at end of file diff --git a/src/components/view/standard.vue b/src/components/view/standard.vue index d040ac1..4c54a89 100644 --- a/src/components/view/standard.vue +++ b/src/components/view/standard.vue @@ -7,15 +7,21 @@ <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 icon="el-icon-edit-outline">淇敼</el-button> - <el-button icon="el-icon-delete">鍒犻櫎</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> </div> <div class="thing"> <div class="left"> - <el-input v-model="search" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable></el-input> - + <el-row> + <el-col :span="21"> + <el-input v-model="search" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable></el-input> + </el-col> + <el-col :span="2"> + <el-button size="mini" icon="el-icon-plus" @click="bomLeftAdd=true"></el-button> + </el-col> + </el-row> <el-tree :data="list" ref="tree" default-expand-all :props="{ children: 'children', label: 'name' }" node-key="id" :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current> <div class="custom-tree-node" slot-scope="{ node, data }"> @@ -59,21 +65,55 @@ <target :tableType="tableType" :tableData="tableData"></target> </div> <div v-if="this.typeselect == 2"> - <material :tableType="tableType" :tableData="tableData"></material> + <bom :tableType="tableType" :tableData="tableData"></bom> </div> <div v-if="this.typeselect == 3">鐢熶骇宸ヨ壓</div> + </div> </div> <div class="bom-add-model"> <el-dialog title="BOM鏂板" :visible.sync="bomAddModelVisible" width="30%"> - <el-form> - - </el-form> + <div> + <!-- 鐗╂枡娓呭崟鏂板 --> + <bomClickAdd v-if="typeselect===2"/> + </div> <span slot="footer" class="dialog-footer"> <el-button @click="bomAddModelVisible = false">鍙� 娑�</el-button> <el-button type="primary" @click="bomAddModelVisible = false">纭� 瀹�</el-button> + </span> + </el-dialog> + <!-- 宸︿晶鐐瑰嚮+鎸夐挳 --> + <el-dialog title="BOM鏂板" :visible.sync="bomLeftAdd" width="29%"> + <el-form ref="leftAdd" :model="leftAdd"> + <el-form-item label="绫诲瀷"> + <el-cascader v-model="leftAdd.type" size="mini" style="width: 93%;" :options="formTypeOptions" :props="{ checkStrictly: true }" clearable></el-cascader> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="bomLeftAdd = false">鍙� 娑�</el-button> + <el-button type="primary" @click="bomLeftAdd = false">纭� 瀹�</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> + 鍒犻櫎 + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="bomRightDl = false">鍙� 娑�</el-button> + <el-button type="primary" @click="bomRightDl = false">纭� 瀹�</el-button> </span> </el-dialog> </div> @@ -83,9 +123,11 @@ <script> import technology from "./standard-table/technology.vue" import material from "./standard-table/material.vue" -import target from "./standard-table/target.vue" +import bom from "./standard-table/bom.vue" +import bomClickAdd from '@/components/view/standard-box/bomClickAdd' export default { - components: { technology,material,target }, + components: { technology,material,bom,bomClickAdd }, + data() { return { // BOM鏍戞暟鎹粨鏋� @@ -96,14 +138,25 @@ checkTreeNode: {},// 鐐瑰嚮閫変腑鏍戣妭鐐� tableData: [], bomAddModelVisible: false,// 鎺у埗bom鏂板妯℃�佹鏄惁鏄剧ず + bomLeftAdd: false, + bomRightUp: false, + bomRightDl: false, + formTypeOptions: null, typeselect: 0, returntree: { id:28, }, version: {}, + leftAdd:{ + type: null, + father: null, + standard: null, + name: null, + specifications: null + }, VER: {}, verdata: {}, - character: 0, + character: 0 } }, // watch: { @@ -120,6 +173,9 @@ this.selectVersion() }, methods: { + startLeftAdd(){ + + }, selectDataList() { this.list.forEach(a => { a.code = '[1]' @@ -149,13 +205,14 @@ }, TYPE(val) {//绫诲瀷.鏁版嵁 - console.log(val); + // console.log(val); this.typeselect = val + // console.log(this.typeselect); this.selectVersion() }, handleNodeClick(val) {//鏍戠殑鍊� - console.log(val); + // console.log(val); this.returntree = val }, async selectVersion() {//鐗堟湰 @@ -174,7 +231,6 @@ }) this.character=v this.VER="v"+v - console.log(this.character); this.selectAll() }, //鍙充晶鏁版嵁 @@ -187,7 +243,9 @@ } }).then(res => { let arr = res.data; - this.formatData(arr) + for(var i=0;i<arr.length;i++){ + arr[i].id = "0" + i; + } this.tableData = arr; }) }, @@ -201,9 +259,9 @@ } }, verevent(val) { - console.log(val); + // console.log(val); let cc = val.replace('v', '') - console.log(cc); + // console.log(cc); this.character = cc this.selectAll() // const { v, ...newObj } = val; @@ -213,7 +271,7 @@ //浜旂骇鏍� selectMaterialTree() { this.$axios.get(this.$api.url.selectTreeByMaterial).then( res => { - this.list = res.data + this.list=res.data this.list.forEach((el, idx, arr) => { if (idx == 0) { arr[idx].name = '鎴愬搧' @@ -240,6 +298,7 @@ }) }, getDefault(arr, index) { + console.log(arr); for (const item of arr) { if (item.children && item.children.length > 0) { // 鏈夊瓙鑺傜偣 @@ -289,7 +348,33 @@ this.tableData = productList break; } + }, + replaceProp(arr){ + for (let index = 0; index < arr.length; index++) { + let element = arr[index]; + element.label=element.name + element.value=element.name + // if() + } } + }, + watch:{ + leftAdd: { + handler(newVal, oldVal) { + console.log("鏂扮殑",newVal); + console.log("鏃х殑",oldVal); + }, + deep: true // 娣卞害鐩戝惉瀵硅薄鍐呴儴灞炴�х殑鍙樺寲锛屽彲閫夌殑 + }, + bomLeftAdd:{ + handler(newval,oldVal){ + if(newval){ + let treeOptions = JSON.parse(JSON.stringify(this.list)); + console.log(treeOptions); + + } + } + } } } </script> diff --git a/src/components/view/unqualifiedManagement.vue b/src/components/view/unqualifiedManagement.vue index 17e01c2..56a816c 100644 --- a/src/components/view/unqualifiedManagement.vue +++ b/src/components/view/unqualifiedManagement.vue @@ -97,12 +97,12 @@ </el-table-column> <el-table-column prop="deal_reasult" label="澶勭悊缁撴灉" width="100"> <template slot-scope="scope"> - <span style="color:#34BD66;" v-if="scope.row.deal_reasult == 1" + <span style="color:#E84738;" v-if="scope.row.deal_reasult == 0" >涓嶉�氳繃</span > <span - style="color:#E84738;" - v-else-if="scope.row.deal_reasult == 0" + style="color:#34BD66;" + v-else-if="scope.row.deal_reasult == 1" >閫氳繃</span > </template> -- Gitblit v1.9.3