From 4e2b8719ff4296831a9ef05faa6e91ce6a7b0bc7 Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期五, 19 一月 2024 16:44:05 +0800 Subject: [PATCH] 模具管理模块 --- src/views/quality/rawMaterial/rawMaterial-form.vue | 70 +++++------ src/api/equipment/moulde.js | 32 +++++ src/views/equipment/mould/index.vue | 219 ++++++++++++++++++++++++++---------- src/views/quality/Packaging_ledger/index.vue | 2 src/views/common/ztt-table.vue | 2 5 files changed, 225 insertions(+), 100 deletions(-) diff --git a/src/api/equipment/moulde.js b/src/api/equipment/moulde.js new file mode 100644 index 0000000..e4d0614 --- /dev/null +++ b/src/api/equipment/moulde.js @@ -0,0 +1,32 @@ +import request from '@/router/axios' + +export function fetchList(query) { + return request({ + url: '/mes/mould/page', + method: 'get', + params: query + }) +} + +export function addMould(data) { + return request({ + url: '/mes/mould/addMould', + method: 'post', + data: data + }) +} + +export function updateMould(data) { + return request({ + url: '/mes/mould/updateMould', + method: 'post', + data: data + }) +} + +export function delById(id) { + return request({ + url: '/mes/mould/'+id, + method: 'delete', + }) +} diff --git a/src/views/common/ztt-table.vue b/src/views/common/ztt-table.vue index e963067..717635e 100644 --- a/src/views/common/ztt-table.vue +++ b/src/views/common/ztt-table.vue @@ -509,7 +509,7 @@ 鍙兘涓婁紶xlsx/xls鏂囦欢锛屼笖涓嶈秴杩�10M<el-button type="text" style="font-size:14px;text-decoration: underline;" - @click="downDataTemplate(uploadInfo.fileName)" + @click="downDataTemplate(uploadInfo.fileName)" v-if="uploadInfo.download" >涓嬭浇妯℃澘</el-button > diff --git a/src/views/equipment/mould/index.vue b/src/views/equipment/mould/index.vue index de379cd..8439374 100644 --- a/src/views/equipment/mould/index.vue +++ b/src/views/equipment/mould/index.vue @@ -1,44 +1,56 @@ <template> <div class="mod-config"> <basic-container> - <ttable - :table="table" - :isShowHide="true" - :ajaxFun="ajaxFun" - :prelang="prelang" - :options="options" - ref="processconfiguration" - > - <template #toolbar> - <el-button type="primary" - @click="">鏂板</el-button> - <!-- <el-dropdown style="margin-left: 20px;" @command="handleCommand"> - <el-button > - 鐘舵�佸彉鏇�<i class="el-icon-arrow-down el-icon--right"></i> - </el-button> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item :key="index" - :command="item.label" - v-for="(item,index) in taskTypeArr" - >{{ item.label }}</el-dropdown-item - > - </el-dropdown-menu> - </el-dropdown> --> - </template> - </ttable> + <ttable + :table="table" + :ajaxFun="ajaxFun" + :prelang="prelang" + :options="options" + ref="mouldTable" + class="mouldTable" + > + <template #toolbar></template> + </ttable> </basic-container> + <el-dialog + :title="editRow==null ? '鏂板':'淇敼'" + :visible.sync="dialogVisible" + width="40%"> + <el-form :model="editRow" label-position="right" label-width="100px" ref="editForm" :rules="editRules"> + <el-form-item prop="code" label="妯″叿缂栫爜"> + <el-input v-model="editRow.code" placeholder="璇疯緭鍏ユā鍏风紪鐮佺О"></el-input> + </el-form-item> + <el-form-item prop="name" label="妯″叿鍚嶇О"> + <el-input v-model="editRow.name" placeholder="璇疯緭鍏ユā鍏峰悕绉�"></el-input> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmSaveOrUpdateMould">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> <script> import ttable from '@/views/common/ztt-table.vue' -import { fetchList, } from '@/api/quality/finishedDelivery' - +import * as fecha from 'element-ui/lib/utils/date' +import { fetchList,addMould,updateMould,delById } from '@/api/equipment/moulde' +import { mapGetters } from 'vuex' export default { data(){ return { + editRules: { + code: [{required:true,message:'璇疯緭鍏ユā鍏风紪鍙�',trigger:'blur'}], + name: [{required:true,message:'璇疯緭鍏ユā鍏峰悕绉�',trigger:'blur'}] + }, + editRow: { + code: null, + name: null, + }, + dialogVisible: false, ajaxFun: fetchList, - prelang: 'operation', + prelang: 'moudle', dataListLoading: false, options: { height: 300, // 榛樿楂樺害-涓轰簡琛ㄥご鍥哄畾 @@ -62,79 +74,162 @@ // 鏍囬 column: [ { - minWidth: '140', - prop: 'packageNo', - label: '璁惧', - isTrue: true, - isSearch: true, - searchInfoType: 'text', - },{ - minWidth: '140', - prop: 'outBatchNo', + minWidth: '140px', + prop: 'code', label: '妯″叿缂栧彿', isTrue: true, isSearch: true, searchInfoType: 'text', + render: { fun: this.addOrUpdateHandle } }, { - minWidth: '140', - prop: 'partNo', + minWidth: '140px', + prop: 'name', label: '妯″叿鍚嶇О', isTrue: true, isSearch: true, searchInfoType: 'text', }, { - minWidth: '140', - prop: 'partName', - label: '宸ュ簭', + minWidth: '140px', + prop: 'createUser', + label: '璐d换浜�', isTrue: true, isSearch: true, searchInfoType: 'text', }, { - minWidth: '140', - prop: 'specs', - label: '宸ユ', + minWidth: '140px', + prop: 'status', + label: '妯″叿鐘舵��', isTrue: true, isSearch: true, searchInfoType: 'text', }, { - minWidth: '140', - prop: 'unit', - label: '瀵垮懡杞崲绯绘暟', + minWidth: '140px', + prop: 'createTime', + label: '鍒涘缓鏃堕棿', isTrue: true, isSearch: true, - searchInfoType: 'text', + searchInfoType: 'date', + formatter: this.formatDateTime }, ], toolbar: [], - operator: [{ - text: '鍒犻櫎', - type: 'text', - size: 'small', - fun: this.deleteHandle - }], + operator: null, operatorConfig: { fixed: 'right', label: '鎿嶄綔', width: 100, minWidth: 100 - }, + }, }, } }, - // computed: { - // ...mapGetters(['permissions']) - // }, + computed: { + ...mapGetters(['permissions']) + }, components: { ttable }, - medthods: { + watch: { + dialogVisible(newVal){ + if(!newVal){ + this.editRow = { + code: null, + name: null, + } + } + } + }, + created(){ + if(this.permissions.equipment_mould_add){ + this.table.toolbar.push({ + text: '鏂板', + type: 'primary', + fun: this.addOrUpdateHandle + }) + } + if(this.permissions.equipment_mould_lableprint){ + this.table.toolbar.push({ + text: '鏍囩鎵撳嵃', + type: 'primary', + fun: this.lableprint + }) + } + if(this.permissions.equipment_mould_del){ + this.table.operator = [{ + text: '鍒犻櫎', + type: 'text', + fun: this.deleteHandle + }] + } + }, + mounted(){ + + }, + methods: { + deleteHandle(row){ + this.$confirm('鏄惁纭鍒犻櫎妯″叿鍚嶇О涓�' + row.name, '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + closeOnClickModal: false, + type: 'warning' + }) + .then(function() { + return delById(row.id) + }).then((data) => { + this.$message.success('鍒犻櫎鎴愬姛') + this.getData() + }) + }, + lableprint(){ + + }, + confirmSaveOrUpdateMould(){ + this.$refs.editForm.validate(valid=>{ + if(valid){ + if(this.editRow.id){ + updateMould(this.editRow).then(res=>{ + if(res.status===200){ + this.$message.success("淇敼鎴愬姛") + this.getData() + } + }).catch(error=>{ + console.error(error) + }) + }else{ + addMould(this.editRow).then(res=>{ + if(res.status===200){ + this.$message.success("鏂板鎴愬姛") + this.getData() + } + }).catch(error=>{ + console.error(error) + }) + } + this.dialogVisible = false + } + }) + }, + addOrUpdateHandle(row){ + if(row){ + this.editRow = row + } + this.dialogVisible = true + }, formatDateTime(row, column, cellValue) { - return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : '' + return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd HH:mm:ss') : '' + }, + getData() { + this.$refs.mouldTable.getDataList() }, }, } -</script> \ No newline at end of file +</script> +<style scoped> +.mouldTable >>>.el-table__fixed-right .el-table__fixed-body-wrapper { + top: 74px !important; +} +</style> diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue index 1e66617..3445e0f 100644 --- a/src/views/quality/Packaging_ledger/index.vue +++ b/src/views/quality/Packaging_ledger/index.vue @@ -345,7 +345,7 @@ }, methods: { //鍖呰璇︽儏 - + //鎵撳嵃鎸夐挳 printFun() { this.diaPrintTab = false; diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 53a8f6a..0afc28b 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -173,9 +173,9 @@ <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-autocomplete clearable + <el-autocomplete clearable :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" - @blur="changeState(scope.row,scope.$index)" + @input="changeState(scope.row,scope.$index)" v-model="scope.row.testValueList[index]" :fetch-suggestions="querySearch" placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" > @@ -183,9 +183,9 @@ <template slot-scope="{ item }"> <div>{{ item.value }}</div> </template> - </el-autocomplete> --> + </el-autocomplete> - <el-select style="width:100%" filterable + <!-- <el-select style="width:100%" filterable :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.testValueList[index]" placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" @@ -196,7 +196,7 @@ > <el-option label="鏄�" value="鏄�"/> <el-option label="鍚�" value="鍚�"/> - </el-select> + </el-select> --> </el-tooltip> </div> </template> @@ -887,43 +887,41 @@ 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] - let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/ - if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){ - row.testValueList[i] = null - this.$message.error("璇疯緭鍏ユ暟瀛楁垨閫夋嫨鏄惁") - isTrue = false - } - } - if(!isTrue){ - return - } - } - if (row.rpId != null && row.rpId != '') { - let val = row.testValueList.join(",") - if (val === undefined || val === '' || val === null) { - return + if(row){ + let isTrue = true + for(var i=0;i<row.testValueList.length;i++){ + let val = row.testValueList[i] + let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/ + if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){ + row.testValueList[i] = null + this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁") + isTrue = false + } } - let obj = { + if(!isTrue){ + return + } + } + if (row.rpId != null && row.rpId != '') { + let val = row.testValueList.join(",") + if (val === undefined || val === '' || val === null) { + return + } + let obj = { deviceId: row.deviceId, rpId: row.rpId, testValue: val, note: row.note - } - updateRawInsProduct(obj).then(res => { - if (res.data.code == 0) { - this.$message.success("鏇存柊鎴愬姛") - } else { - this.$message.error("鏇存柊澶辫触") - } - this.init(this.dataForm.id) - }) } - }) + updateRawInsProduct(obj).then(res => { + if (res.data.code == 0) { + this.$message.success("鏇存柊鎴愬姛") + } else { + this.$message.error("鏇存柊澶辫触") + } + this.init(this.dataForm.id) + }) + } }, // 鍒犻櫎瀛愰」鐩� delChildren(row,index,isParent) { -- Gitblit v1.9.3