| | |
| | | |
| | | <!-- å·²æåæ®çæä½æé® --> |
| | | <button class="action-btn secondary" v-if="!isUpdate && !isShowTable" @click="toImage">ä¸ä¼ /æ¥çå¾ç</button> |
| | | <button class="action-btn secondary" v-if="!isUpdate && !isShowTable" @click="fetchDrawingNumber(formData.itemNo)"> |
| | | è°åPLMå¾çº¸ |
| | | </button> |
| | | <button class="action-btn secondary" v-if="!isUpdate && !isShowTable" @click="getBom"> |
| | | Bomç¨ææ¸
å |
| | | </button> |
| | | <button class="action-btn secondary" v-if="!isUpdate && !isShowTable" @click="viewAttachmentInfo">æ¥çéä»¶ä¿¡æ¯</button> |
| | | |
| | | <button class="action-btn danger" v-if="!isUpdate && !formData.fcheckResu && !isShowTable && formData.fsubmit !== 1" @click="removeXJ">å é¤åæ®</button> |
| | |
| | | </div> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="barcode"> |
| | | <u-modal :show="itemShow" title="ç©ææç»" @confirm="drawingConfirm" @cancel="itemCancel" |
| | | showCancelButton :z-index="1000"> |
| | | <uni-table border stripe emptyText="ææ æ´å¤æ°æ®" style="margin-left: 5px;margin-right: 5px;height: 400px;max-height: 60vh;overflow-y: auto;"> |
| | | <uni-tr> |
| | | <uni-th align="center">æå·</uni-th> |
| | | <uni-th align="center" width="90">åç§°</uni-th> |
| | | <uni-th align="center" width="90">è§æ ¼åå·</uni-th> |
| | | <uni-th align="center" width="150">è°åPLMå¾çº¸</uni-th> |
| | | </uni-tr> |
| | | <uni-tr v-for="(item,index) in (drawing || [])" style="height: 100px;"> |
| | | <uni-td align="center">{{item.itemNo}}</uni-td> |
| | | <uni-td align="center" > |
| | | <div >{{item.itemName}}</div> |
| | | </uni-td> |
| | | <uni-td align="center" > |
| | | <div>{{item.itemModel}}</div> |
| | | </uni-td> |
| | | <uni-td align="center" class="click-wd"> |
| | | <div @click="fetchDrawingNumber(item.itemNo)">è°åå¾çº¸</div> |
| | | </uni-td> |
| | | </uni-tr> |
| | | </uni-table> |
| | | </u-modal> |
| | | </view> |
| | | |
| | | <view class="barcode"> |
| | | <u-modal :show="drawingShow" title="å¾çº¸æç»" @confirm="drawingConfirm" @cancel="drawingCancel" |
| | | showCancelButton :z-index="1000"> |
| | | <uni-table border stripe emptyText="ææ æ´å¤æ°æ®" style="margin-left: 5px;margin-right: 5px;height: 400px;max-height: 60vh;overflow-y: auto;"> |
| | | <uni-tr> |
| | | <uni-th align="center">ç¸å
³ææ¡£</uni-th> |
| | | <uni-th align="center" width="90">ææ å
³èPDFæä»¶</uni-th> |
| | | <uni-th align="center" width="90">è½å¦æå¼æä»¶</uni-th> |
| | | <uni-th align="center" width="150">æä½ï¼ç¹å»ï¼</uni-th> |
| | | </uni-tr> |
| | | <uni-tr v-for="(item,index) in (drawing || [])" style="height: 100px;"> |
| | | <uni-td align="center">{{item.fName}}</uni-td> |
| | | <uni-td align="center" style="font-size:25px;"> |
| | | <div v-if="item.fRelevantObject==' '" style="color: #E47470;">Ã</div> |
| | | <div style="color: #90BA87;" v-else>â</div> |
| | | </uni-td> |
| | | <uni-td align="center" style="font-size:25px;"> |
| | | <div v-if="item.isSupported || item.fRelevantObject!=' '" style="color: #90BA87;">â</div> |
| | | <div style="color: #E47470;" v-else>Ã</div> |
| | | </uni-td> |
| | | <uni-td align="center" class="click-wd"> |
| | | <div @click="openDrawings(item)">æå¼ææ¡£</div> |
| | | </uni-td> |
| | | </uni-tr> |
| | | </uni-table> |
| | | </u-modal> |
| | | </view> |
| | | |
| | | <!-- æä»¶é¢è§å¼¹çª --> |
| | | <view v-if="showFilePreviewPopup" class="overlay"> |
| | |
| | | lineNo: "", |
| | | |
| | | tableData: [], |
| | | drawing: [], |
| | | |
| | | isSubmit: true, |
| | | isSubmit: true, |
| | | |
| | | isUpdate: true, |
| | | isUpdate: true, |
| | | |
| | | isShowTable: false, |
| | | |
| | | drawingShow: false, |
| | | itemShow: false, |
| | | |
| | | remarks: "", |
| | | remarksPopup: false, |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | drawingConfirm() { |
| | | this.drawingShow = false |
| | | this.imageShow = false |
| | | this.productionShow = false |
| | | this.itemShow=false |
| | | }, |
| | | drawingCancel() { |
| | | this.drawingShow = false |
| | | this.imageShow = false |
| | | this.productionShow = false |
| | | // const item = '83040700101' |
| | | const item = this.formData.billNo; |
| | | console.log(this.formData.billNo ); |
| | | console.log('daa001:', item); |
| | | console.log('ItemNo:', this.formData.itemNo); |
| | | |
| | | const url = this.$store.state.serverInfo.serverAPI + "/LLJ/getWomdab"; |
| | | // æè
å¦æè·¯å¾ä¸åï¼è¯·ä½¿ç¨æ£ç¡®çç«¯ç¹ |
| | | // const url = "http://192.168.0.100:10054/api/getWomdab" |
| | | |
| | | let _this = this; |
| | | |
| | | uni.request({ |
| | | url: url, |
| | | method: 'POST', |
| | | header: { |
| | | 'Content-Type': 'application/json' |
| | | }, |
| | | data: { |
| | | daa001: item, // æ ¹æ®DTO屿§åä¼ é |
| | | ItemNo: this.formData.itemNo // 注æå¤§å°åå¹é
|
| | | }, |
| | | success: (response) => { |
| | | console.log(response); |
| | | console.log("-------------------------------------"); |
| | | // æ ¹æ®å端è¿åçæ°æ®ç»æè¿è¡è°æ´ |
| | | if (response.data.status === 1) { |
| | | // ç¶æä¸º1è¡¨ç¤ºæ²¡ææ°æ® |
| | | _this.drawing = []; |
| | | |
| | | } else if (response.data.status === 0) { |
| | | // ç¶æä¸º0表示æå |
| | | if (response.data.data && response.data.data.tbBillList) { |
| | | _this.drawing = response.data.data.tbBillList; |
| | | |
| | | // éåæ°æ®ï¼å¤ææä»¶åç¼å¹¶æ·»å åæ®µ |
| | | _this.drawing.forEach((file) => { |
| | | // è·åæä»¶åçåç¼ |
| | | const fileExtension = file.fName ? file.fName.split('.').pop().toLowerCase() : ''; |
| | | |
| | | // å®ä¹æ¯æçæä»¶ç±»å |
| | | const supportedExtensions = ['jpg', 'pdf', 'xlsx', 'doc', 'docx', 'xls']; |
| | | |
| | | // 夿æ¯å¦æ¯æè¯¥æä»¶ç±»å |
| | | file.isSupported = supportedExtensions.includes(fileExtension); |
| | | }); |
| | | } else { |
| | | _this.drawing = []; |
| | | } |
| | | } else { |
| | | // å
¶ä»ç¶æç å¤ç |
| | | _this.drawing = []; |
| | | uni.showToast({ |
| | | title: response.data.message || '请æ±å¤±è´¥', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }, |
| | | fail: (error) => { |
| | | uni.showToast({ |
| | | title: '请æ±å¾çº¸é¾æ¥å¤±è´¥', |
| | | icon: 'none' |
| | | }); |
| | | console.error('请æ±å¤±è´¥:', error); |
| | | } |
| | | }); |
| | | }, |
| | | itemCancel() { |
| | | this.itemShow=false |
| | | }, |
| | | |
| | | fetchDrawingNumber(itemNo) { |
| | | // const item = '83040700101' |
| | | const item = itemNo; |
| | | console.log(itemNo) |
| | | // console.log(item) |
| | | const url = this.$store.state.serverInfo.serverAPI +"/PLM/RetrieveDrawings?ItemNo=" + item |
| | | |
| | | // const item = '5.06.04.4002'; |
| | | // const url = "http://192.168.0.100:10054/api/PLM/RetrieveDrawings?ItemNo=" + item |
| | | |
| | | let _this = this; |
| | | |
| | | uni.request({ |
| | | url: url, |
| | | method: 'POST', |
| | | success: (response) => { |
| | | console.log(response) |
| | | if (response.data.data == 'è¿åç»æä¸ºç©º') { |
| | | _this.drawing = [] |
| | | } else { |
| | | _this.drawing = response.data.data |
| | | // éåæ°æ®ï¼å¤ææä»¶åç¼å¹¶æ·»å åæ®µ |
| | | _this.drawing.forEach((file) => { |
| | | // è·åæä»¶åçåç¼ |
| | | const fileExtension = file.fName.split('.').pop() |
| | | .toLowerCase(); |
| | | |
| | | // å®ä¹æ¯æçæä»¶ç±»å |
| | | const supportedExtensions = ['jpg', 'pdf', 'xlsx', 'doc', |
| | | 'docx', |
| | | 'xls' |
| | | ]; |
| | | |
| | | // 夿æ¯å¦æ¯æè¯¥æä»¶ç±»å |
| | | file.isSupported = supportedExtensions.includes(fileExtension); |
| | | }); |
| | | } |
| | | }, |
| | | fail: (error) => { |
| | | uni.showToast({ |
| | | title: '请æ±å¾çº¸é¾æ¥å¤±è´¥', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }); |
| | | this.drawingShow = true |
| | | }, |
| | | |
| | | getBom(){ |
| | | // const item = '83040700101' |
| | | const item = this.formData.billNo; |
| | | console.log(this.formData.billNo ); |
| | | console.log('daa001:', item); |
| | | console.log('ItemNo:', this.formData.itemNo); |
| | | |
| | | const url = this.$store.state.serverInfo.serverAPI + "/LLJ/getWomdab"; |
| | | // æè
å¦æè·¯å¾ä¸åï¼è¯·ä½¿ç¨æ£ç¡®çç«¯ç¹ |
| | | // const url = "http://192.168.0.100:10054/api/getWomdab" |
| | | |
| | | let _this = this; |
| | | |
| | | uni.request({ |
| | | url: url, |
| | | method: 'POST', |
| | | header: { |
| | | 'Content-Type': 'application/json' |
| | | }, |
| | | data: { |
| | | daa001: item, // æ ¹æ®DTO屿§åä¼ é |
| | | ItemNo: this.formData.itemNo // 注æå¤§å°åå¹é
|
| | | }, |
| | | success: (response) => { |
| | | console.log(response); |
| | | console.log("-------------------------------------"); |
| | | // æ ¹æ®å端è¿åçæ°æ®ç»æè¿è¡è°æ´ |
| | | if (response.data.status === 1) { |
| | | // ç¶æä¸º1è¡¨ç¤ºæ²¡ææ°æ® |
| | | _this.drawing = []; |
| | | uni.showToast({ |
| | | title: response.data.message || '该æ£éªåæªä¸ä¼ éä»¶ä¿¡æ¯', |
| | | icon: 'none' |
| | | }); |
| | | } else if (response.data.status === 0) { |
| | | // ç¶æä¸º0表示æå |
| | | if (response.data.data && response.data.data.tbBillList) { |
| | | _this.drawing = response.data.data.tbBillList; |
| | | |
| | | // éåæ°æ®ï¼å¤ææä»¶åç¼å¹¶æ·»å åæ®µ |
| | | _this.drawing.forEach((file) => { |
| | | // è·åæä»¶åçåç¼ |
| | | const fileExtension = file.fName ? file.fName.split('.').pop().toLowerCase() : ''; |
| | | |
| | | // å®ä¹æ¯æçæä»¶ç±»å |
| | | const supportedExtensions = ['jpg', 'pdf', 'xlsx', 'doc', 'docx', 'xls']; |
| | | |
| | | // 夿æ¯å¦æ¯æè¯¥æä»¶ç±»å |
| | | file.isSupported = supportedExtensions.includes(fileExtension); |
| | | }); |
| | | } else { |
| | | _this.drawing = []; |
| | | } |
| | | } else { |
| | | // å
¶ä»ç¶æç å¤ç |
| | | _this.drawing = []; |
| | | uni.showToast({ |
| | | title: response.data.message || '请æ±å¤±è´¥', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }, |
| | | fail: (error) => { |
| | | uni.showToast({ |
| | | title: '请æ±å¾çº¸é¾æ¥å¤±è´¥', |
| | | icon: 'none' |
| | | }); |
| | | console.error('请æ±å¤±è´¥:', error); |
| | | } |
| | | }); |
| | | this.itemShow = true |
| | | }, |
| | | |
| | | //å¾çº¸ç¸å
³ææ¡£ |
| | | openDrawings(item) { |
| | | console.log("jkjoi", item) |
| | | if (item.fRelevantObject.length > 2) { |
| | | // çæè¯·æ±URLï¼ç®åç¼ç é»è¾ï¼ |
| | | const encodedName = encodeURIComponent(item.fName); |
| | | const url = this.$store.state.serverInfo.serverAPI+`/PLM/OpenDrawingsGet?fileId=${item.fRelevantObject}&fName=${encodedName}`; |
| | | console.log('请æ±URL:', url); |
| | | |
| | | const now = new Date(); |
| | | const timestamp = [ |
| | | now.getFullYear(), |
| | | String(now.getMonth() + 1).padStart(2, '0'), |
| | | String(now.getDate()).padStart(2, '0'), |
| | | String(now.getHours()).padStart(2, '0'), |
| | | String(now.getMinutes()).padStart(2, '0'), |
| | | String(now.getSeconds()).padStart(2, '0') |
| | | ].join(''); |
| | | |
| | | // çææ°æä»¶åï¼åºç¡å_æ¶é´æ³.åç¼ï¼ |
| | | this.fileName = `${item.fName}_${timestamp}.pdf`; |
| | | console.log('æ°æä»¶å:', this.fileName); |
| | | |
| | | uni.downloadFile({ |
| | | url: url, |
| | | success: (res) => { |
| | | console.log(res); |
| | | let fileName = this.fileName; |
| | | let fileExt = fileName.split('.').pop(); |
| | | // let newFilePath = "_doc/uniapp_temp_1742877118745/download" + "/" + fileName; |
| | | // console.log('newFilePath', newFilePath) |
| | | if (fileExt === 'xls' || fileExt === 'xlsx' || fileExt === 'pdf'|| fileExt === 'jpg'|| fileExt === 'png') { |
| | | plus.io.resolveLocalFileSystemURL(res.tempFilePath, (entry) => { |
| | | // è·åæä»¶æå¨çç®å½ |
| | | entry.getParent((parentEntry) => { |
| | | let newFileName = this.fileName; // æ°çæä»¶å |
| | | |
| | | // ç§»å¨å¹¶éå½åæä»¶ |
| | | entry.moveTo( |
| | | parentEntry, |
| | | newFileName, |
| | | (newEntry) => { |
| | | console.log('éå½åæå:', newEntry.fullPath); |
| | | |
| | | // æå¼ Excel æä»¶ |
| | | plus.runtime.openFile(newEntry.fullPath, {}, (e) => { |
| | | console.error('æ æ³æå¼ Excel æä»¶:', e); |
| | | }); |
| | | |
| | | // let pages = getCurrentPages(); |
| | | // let beforePage = pages[pages.length - 2]; |
| | | // uni.navigateBack({ |
| | | // delta: 1, //è¿åç页颿°ï¼å¦æä¸º1表示è¿åä¸ä¸é¡µ |
| | | // success: (event) => { |
| | | // beforePage.$vm.reload() |
| | | // } |
| | | // }); |
| | | |
| | | }, |
| | | (err) => { |
| | | console.error('éå½å失败:', err); |
| | | } |
| | | ); |
| | | }, (err) => { |
| | | console.error('è·åç¶ç®å½å¤±è´¥:', err); |
| | | }); |
| | | }, (err) => { |
| | | console.error('è·åæä»¶å¤±è´¥:', err); |
| | | }); |
| | | } else { |
| | | console.error('æä»¶æ ¼å¼ä¸å¹é
:', fileExt); |
| | | uni.showToast({ |
| | | title: 'æä»¶æ ¼å¼ä¸æ¯æ', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | } |
| | | }) |
| | | uni.request({ |
| | | url: url, |
| | | method: 'POST', |
| | | responseType: 'arraybuffer', |
| | | success: (response) => { |
| | | console.log(response.data) |
| | | if (!response) { |
| | | uni.showToast({ |
| | | title: "åè®®é¢è§å¤±è´¥", |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | |
| | | }, |
| | | fail: (error) => { |
| | | console.log(error) |
| | | uni.showToast({ |
| | | title: '请æ±é¢è§é¾æ¥å¤±è´¥', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | uni.showToast({ |
| | | title: '请æ±é¢è§é¾æ¥å¤±è´¥', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | previewOfficeFile(url, fileName) { |
| | | this.previewTitle = fileName; |