From b15de00ffba31695514c1a404dbbbf65dc1e87c1 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期四, 09 十一月 2023 13:21:06 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before --- src/views/equipment/equipment/index.vue | 48 +++++++++ src/views/equipment/metering/metering-form.vue | 58 ++++++++++- src/views/quality/finishedProductInspection/index.vue | 19 +++ src/api/quality/finishedProduct.js | 8 + package.json | 1 src/views/equipment/metering/index.vue | 58 ++++++++++- src/views/quality/finishedProductInspection/finishedProduct-form.vue | 39 ++++--- src/views/quality/finishedProductInspection/finishedProduct-print.vue | 51 +++++++++ src/views/quality/rawMaterial/index.vue | 1 src/views/quality/rawMaterial/rawMaterial-print.vue | 2 src/views/common/ztt-table.vue | 4 11 files changed, 249 insertions(+), 40 deletions(-) diff --git a/package.json b/package.json index 7ac2004..fb282aa 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "vue-echarts": "^4.0.1", "vue-json-editor": "^1.2.3", "vue-json-tree-view": "^2.1.4", + "vue-qr": "^4.0.9", "vue-quill-editor": "3.0.6", "vue-router": "^3.0.2", "vuedraggable": "^2.24.3", diff --git a/src/api/quality/finishedProduct.js b/src/api/quality/finishedProduct.js index cb8ce52..70893a4 100644 --- a/src/api/quality/finishedProduct.js +++ b/src/api/quality/finishedProduct.js @@ -16,6 +16,14 @@ }) } +export function selectDeviceAPI(query) { + return request({ + url: '/mes/qualityFinishedInsProduct/selectDevice', + method: 'get', + params: query + }) +} + export function addFinish(obj) { return request({ url: '/mes/qualityFinishedInspect/addFinish', diff --git a/src/views/common/ztt-table.vue b/src/views/common/ztt-table.vue index 6367bee..2f5a551 100644 --- a/src/views/common/ztt-table.vue +++ b/src/views/common/ztt-table.vue @@ -507,11 +507,11 @@ > <i class="el-icon-upload"></i> <div class="el-upload__text"><em>鐐瑰嚮瀵煎叆鏁版嵁</em></div> - <div class="el-upload__tip" slot="tip"> + <div class="el-upload__tip" slot="tip" > 鍙兘涓婁紶xlsx/xls鏂囦欢锛屼笖涓嶈秴杩�10M<el-button type="text" style="font-size:12px;" - @click="downDataTemplate" + @click="downDataTemplate" v-if="uploadInfo.Download" >涓嬭浇妯℃澘</el-button > </div> diff --git a/src/views/equipment/equipment/index.vue b/src/views/equipment/equipment/index.vue index f65ac9d..5a2a8dc 100644 --- a/src/views/equipment/equipment/index.vue +++ b/src/views/equipment/equipment/index.vue @@ -18,6 +18,34 @@ ref="addOrUpdate" @refreshDataList="getData" ></table-form> + <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px"> + <div class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;"> + <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 15px;"> + <el-row> + <el-col :span="10" :offset="3">搴忓彿锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">缂栧彿锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ tem.code }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">璁惧鍚嶇О锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">璁惧浜岀淮鐮侊細</el-col> + <el-col :span="10"> + <vueQr :text="tem.number" :size="80" :margin="2"></vueQr> + </el-col> + </el-row> + </el-card> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="diaPrintTab = false">鍙� 娑�</el-button> + <el-button type="primary" @click="diaPrintTab = false">鎵� 鍗�</el-button> + </span> + </el-dialog> </basic-container> </div> </template> @@ -29,6 +57,7 @@ import { mapGetters } from 'vuex' import * as fecha from 'element-ui/lib/utils/date' import { remote } from '../../../api/admin/dict' +import vueQr from 'vue-qr' export default { data() { return { @@ -39,6 +68,7 @@ isShow: true, url: '/mes/equipment/upload' }, + diaPrintTab: false, prelang: 'workstation', options: { height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾 @@ -198,6 +228,11 @@ type: 'primary', fun: this.addOrUpdateHandle }, + { + text: '鏍囩鎵撳嵃', + type: 'primary', + fun: this.labelPrint + }, // { // text: '鍚屾', // type: 'primary', @@ -234,7 +269,8 @@ }, components: { ttable, - TableForm + TableForm, + vueQr }, computed: { ...mapGetters(['permissions']) @@ -277,6 +313,7 @@ }, handleSelectionChange(val) { this.multipleSelection = val + console.log(this.multipleSelection); }, // 鏂板 / 淇敼 addOrUpdateHandle(row) { @@ -300,7 +337,14 @@ this.$message.success('鍒犻櫎鎴愬姛') this.getData() }) - } + }, + labelPrint(){ + if(this.multipleSelection.length==0){ + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + return + } + this.diaPrintTab = true + } } } </script> diff --git a/src/views/equipment/metering/index.vue b/src/views/equipment/metering/index.vue index bbd003d..ea43bd6 100644 --- a/src/views/equipment/metering/index.vue +++ b/src/views/equipment/metering/index.vue @@ -19,6 +19,34 @@ @refreshDataList="getData" ></table-form> </basic-container> + <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px"> + <div class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;"> + <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 15px;"> + <el-row> + <el-col :span="10" :offset="3">搴忓彿锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">缂栧彿锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ tem.code }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">璁惧鍚嶇О锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">璁惧浜岀淮鐮侊細</el-col> + <el-col :span="10"> + <vueQr :text="tem.code" :size="80" :margin="2"></vueQr> + </el-col> + </el-row> + </el-card> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="diaPrintTab = false">鍙� 娑�</el-button> + <el-button type="primary" @click="diaPrintTab = false">鎵� 鍗�</el-button> + </span> + </el-dialog> </div> </template> @@ -29,6 +57,7 @@ import { mapGetters } from 'vuex' import * as fecha from 'element-ui/lib/utils/date' import { remote } from '../../../api/admin/dict' + import vueQr from 'vue-qr' export default { data() { return { @@ -36,7 +65,8 @@ multipleSelection: [], uploadInfo: { // 鏄惁灞曠ず涓婁紶EXCEL浠ュ強瀵瑰簲鐨剈rl - isShow: true, + Download:false, + isShow: true, url: '/mes/equipmentDevice/upload' }, prelang: 'workstation', @@ -114,7 +144,7 @@ minWidth: '150', width: '250', prop: 'createTime', - label: '鍒涘缓鏃堕棿', + label: '鏍″噯鏃堕棿', sort: true, isTrue: true, formatter: this.formatReceiveTime, @@ -126,7 +156,7 @@ minWidth: '150', width: '250', prop: 'updateTime', - label: '淇敼鏃堕棿', + label: '鏍″噯鍒版湡鏃堕棿', sort: true, isTrue: true, formatter: this.formatReceiveTime, @@ -174,7 +204,7 @@ }, { minWidth: '30', - prop: 'InspectionUnit', + prop: 'inspectionUnit', label: '妫�楠屽崟浣�', sort: true, isTrue: true, @@ -210,7 +240,7 @@ }, { minWidth: '30', - prop: 'FixedPointPosition', + prop: 'fixedPointPosition', label: '瀹氱偣浣嶇疆', sort: true, isTrue: true, @@ -232,6 +262,11 @@ text: '鏂板', type: 'primary', fun: this.addOrUpdateHandle + }, + { + text: '鏍囩鎵撳嵃', + type: 'primary', + fun: this.labelPrint }, // { // text: '鍚屾', @@ -264,12 +299,14 @@ } }, addOrUpdateVisible: false, - workshopList: [] + workshopList: [], + diaPrintTab: false } }, components: { ttable, - TableForm + TableForm, + vueQr }, computed: { ...mapGetters(['permissions']) @@ -336,6 +373,13 @@ this.$message.success('鍒犻櫎鎴愬姛') this.getData() }) + }, + labelPrint(){ + if(this.multipleSelection.length==0){ + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + return + } + this.diaPrintTab = true } } } diff --git a/src/views/equipment/metering/metering-form.vue b/src/views/equipment/metering/metering-form.vue index 1d290dd..2e1ca3e 100644 --- a/src/views/equipment/metering/metering-form.vue +++ b/src/views/equipment/metering/metering-form.vue @@ -22,7 +22,7 @@ <el-input v-model="dataForm.name" placeholder="鍚嶇О"></el-input> </el-form-item> </el-col> - <el-col :span="12"> + <!-- <el-col :span="12"> <el-form-item label="绫诲瀷" prop="type"> <el-select v-model="dataForm.type" @@ -39,7 +39,16 @@ </el-option> </el-select> </el-form-item> - </el-col> + </el-col> --> + <!-- <el-col :span="12"> + <el-form-item label="璐d换浜�" prop="createUser"> + <el-input + v-model="dataForm.createUser" + placeholder="璐d换浜�" + ></el-input> + </el-form-item> + </el-col> --> + <el-col :span="12"> <el-form-item label="鍘傚" prop="supplier"> <el-input @@ -48,11 +57,38 @@ ></el-input> </el-form-item> </el-col> + <el-col :span="12"> - <el-form-item label="鐘舵��" prop="state"> - <el-select + <el-form-item label="璐d换閮ㄩ棬" prop="responsibleDepartment"> + <el-input + v-model="dataForm.responsibleDepartment" + placeholder="璐d换閮ㄩ棬" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鐘舵��" prop="status"> + <el-input v-model="dataForm.status" placeholder="鐘舵��" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="瑙勬牸" prop="specifications"> + <el-input + v-model="dataForm.specifications" + placeholder="瑙勬牸" + ></el-input> + </el-form-item> + </el-col> + + + <!-- <el-col :span="12"> + <el-form-item label="璁惧鐘舵��" prop="status"> + <el-select + v-model="dataForm.status" + placeholder="璁惧鐘舵��" filterable style="width: 100%" > @@ -64,7 +100,7 @@ /> </el-select> </el-form-item> - </el-col> + </el-col> --> </el-row> </el-form> <span slot="footer" class="dialog-footer"> @@ -100,12 +136,18 @@ typeSpecification: '', manufactureDate: '', installDate: '', - state: '', + // state: '', + specifications:'', + responsibleDepartment:'', + // createUser:'', + status:'', + + description: '', value1: '', code: null, - type: null, - status: null, + // type: null, + // status: null, supplier: null }, dataRule: { diff --git a/src/views/quality/finishedProductInspection/finishedProduct-form.vue b/src/views/quality/finishedProductInspection/finishedProduct-form.vue index 17c5246..da0e42b 100644 --- a/src/views/quality/finishedProductInspection/finishedProduct-form.vue +++ b/src/views/quality/finishedProductInspection/finishedProduct-form.vue @@ -13,7 +13,7 @@ </div> <div class="page-main"> <div class="finishedProduct-basic"> - <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes" + <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes" label-position="right" label-width="120px" style="width: 100%" size="small"> <div class="formwrapper"> <el-row> @@ -86,7 +86,7 @@ <el-row style="width:100%;"> <el-col :span="24"> <el-table border :data="inspectionItems" height="400" - :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" + :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" :cell-style="{textAlign:'center'}" row-key="iid" default-expand-all style="width: 100%" ref="table" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> <el-table-column type="index" label="搴忓彿" width="60"></el-table-column> @@ -96,10 +96,10 @@ <el-table-column prop="required" label="鏍囧噯鍊�" width="240" ></el-table-column> <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��" width="240" style="text-align: center;"> - + <template slot-scope="scope"> <el-col v-if="scope.row.itype === '1'"> - <el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null" + <el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> <el-input :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" @@ -125,12 +125,12 @@ <template slot-scope="scope"> <span v-if="resultVal!=null && processInspectVo.id!=null" v-text="scope.row.ename"></span> <div v-else> - <el-input v-model="scope.row.eId" v-if="scope.row.iname != null" placeholder="璇疯緭鍏ヨ澶囧彿"></el-input> - <!-- <el-select style="width:100%" v-model="scope.row.eId" + <!-- <el-input v-model="scope.row.eId" v-if="scope.row.iname != null" placeholder="璇疯緭鍏ヨ澶囧彿"></el-input> --> + <el-select style="width:100%" v-model="scope.row.eId" v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row,scope.$index)"> - <el-option v-for="(item,index) in deviceList" + <el-option v-for="(item,index) in deviceList" :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option> - </el-select> --> + </el-select> </div> </template> </el-table-column> @@ -140,9 +140,11 @@ <el-col v-if="scope.row.itype === '1'"> <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> + <el-input :disabled="scope.row.eId == null" v-model="scope.row.inote" @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> + <span v-if="resultVal != null && processInspectVo.id != null" v-text="scope.row.inote"></span> </el-tooltip> @@ -150,14 +152,14 @@ <el-col v-else> <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <!-- <el-input :disabled="scope.row.eId == null" - v-model="scope.row.empiricalValueAddss[index]" - @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> --> - <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.inote" placeholder="璇烽�夋嫨"> + <el-input :disabled="scope.row.eId == null" + v-model="scope.row.inote" + @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> + <!-- <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.inote" placeholder="璇烽�夋嫨"> <el-option v-for="item in dataVal" :key="item.value" :label="item.label" :value="item.value"> </el-option> - </el-select> + </el-select> --> <span v-if="resultVal != null && processInspectVo.id != null" v-text="scope.row.inote"></span> </el-tooltip> @@ -184,7 +186,7 @@ <el-row style="width:100%;"> <el-col :span="24"> <el-table border height="90" :data="inspectionResultForm" - :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" + :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" :cell-style="{textAlign:'center'}"> <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"></el-table-column> <el-table-column prop="material" label="鐗╂枡鍚嶇О"></el-table-column> @@ -209,13 +211,14 @@ </template> <script> -import { +import { chooseMater, addFinish, queryById, updateDeviceById, updateFinishedInsProduct, updateFinishedInspectById, + selectDeviceAPI, } from '@/api/quality/finishedProduct' import { selectDevice } from '@/api/quality/rawMaterial' export default { @@ -379,9 +382,11 @@ } }, getDeviceList(){ - selectDevice(null).then(res=>{ + selectDeviceAPI(null).then(res=>{ // this.deviceList = res.data.data console.log(res); + this.deviceList = res.data.data + }) }, updateDevice(row,index){ @@ -582,4 +587,4 @@ border-top: 0 !important; cursor: pointer !important; } -</style> \ No newline at end of file +</style> diff --git a/src/views/quality/finishedProductInspection/finishedProduct-print.vue b/src/views/quality/finishedProductInspection/finishedProduct-print.vue index a3b53fc..48d7c40 100644 --- a/src/views/quality/finishedProductInspection/finishedProduct-print.vue +++ b/src/views/quality/finishedProductInspection/finishedProduct-print.vue @@ -27,10 +27,16 @@ <td colspan=2 height=53 class=xl7624921 style='border-right:.5pt solid black; height:40.05pt'>椤圭洰鍚嶇О</td> <td colspan=2 class=xl6624921 style='border-right:.5pt solid black; - border-left:none'>銆�</td> + border-left:none'>銆� + <p class="MsoNormal" align="center" style="text-align:center"> + <span lang="EN-US" style="font-family:"Arial",sans-serif" v-text="deviceStr"></span></p> + </td> <td class=xl6924921 style='border-top:none;border-left:none'>浜у搧鍚嶇О</td> <td colspan=2 class=xl6624921 style='border-right:.5pt solid black; - border-left:none'>銆�</td> + border-left:none'> + <p class="MsoNormal" align="center" style="text-align:center"> + <span lang="EN-US" style="font-family:"Arial",sans-serif" v-text="product"></span></p> +銆� </td> </tr> <tr class=xl6524921 height=53 style='mso-height-source:userset;height:40.05pt'> <td colspan=2 height=53 class=xl7624921 style='border-right:.5pt solid black; @@ -266,7 +272,46 @@ <script> export default { - + props:{ + formData:{ + type: Object, + default:()=>{ + return {} + } + } + }, + data(){ + return{ + tableData: null, + projectList: [], + deviceStr: null, + product:null, + childrenData: [], + } + }, + created(){ + this.tableData = this.formData + console.log("============",this.tableData) + this.initData() + // this.initProjectList(this.projectList) + }, + methods:{ + initData(){ + this.deviceStr = this.tableData.projectName + this.product = this.tableData.material + }, + }, + watch:{ + formData(newVal){ + if(newVal){ + this.projectList = [] + console.log(newVal) + this.tableData = newVal + this.initData() + // this.initProjectList(this.projectList) + } + } + }, } </script> diff --git a/src/views/quality/finishedProductInspection/index.vue b/src/views/quality/finishedProductInspection/index.vue index 8a5c22b..0dfbc01 100644 --- a/src/views/quality/finishedProductInspection/index.vue +++ b/src/views/quality/finishedProductInspection/index.vue @@ -201,7 +201,25 @@ } }, created() { }, + watch:{ + printFormData(newVal){ + if(newVal){ + this.printFormData = newVal + } + } + }, methods: { + //鏌ョ湅鎶ュ憡鎸夐挳 + // showPrint(row){ + // queryById(row.id).then(res=>{ + // console.log(res); + // this.printFormData = res.data.data + // this.printDialogVisible = true + // }) + // .catch(error=>{ + // console.log(error); + // }) + // }, //鎵撳嵃鎸夐挳 printFun() { this.printDialogVisible = false; @@ -218,6 +236,7 @@ showPrint(row){ queryById(row.id).then(res=>{ console.log(res); + this.printFormData = res.data.data this.printDialogVisible = true }).catch(error=>{ console.log(error); diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue index 8197605..99b0d0b 100644 --- a/src/views/quality/rawMaterial/index.vue +++ b/src/views/quality/rawMaterial/index.vue @@ -261,6 +261,7 @@ //鏌ョ湅鎶ュ憡鎸夐挳 previewFun(row){ getObj(row.id).then(res=>{ + console.log(res); this.printFormData = res.data.data this.printDialogVisible = true }).catch(error=>{ diff --git a/src/views/quality/rawMaterial/rawMaterial-print.vue b/src/views/quality/rawMaterial/rawMaterial-print.vue index 72a69d2..87d52aa 100644 --- a/src/views/quality/rawMaterial/rawMaterial-print.vue +++ b/src/views/quality/rawMaterial/rawMaterial-print.vue @@ -409,7 +409,7 @@ this.tableData = this.formData this.initData() this.initProjectList(this.projectList) - // console.log("aa--",this.tableData) + console.log("aa--",this.tableData) }, watch:{ formData(newVal){ -- Gitblit v1.9.3