¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/router/axios' |
| | | |
| | | export function pageList(query) { |
| | | return request({ |
| | | url: '/mes/product/personReport', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/router/axios' |
| | | |
| | | export function interrelatedOrder(data) { |
| | | return request({ |
| | | url: '/mes/customerOrderInterrelated/interrelatedOrder', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | export function getInterrelatedOrder(id) { |
| | | return request({ |
| | | url: '/mes/customerOrderInterrelated/getInterrelatedOrder/'+id, |
| | | method: 'get', |
| | | }) |
| | | } |
| | | |
| | | export function checkHanderOrder(orderId) { |
| | | return request({ |
| | | url: '/mes/customerOrderInterrelated/checkHanderOrder/' + orderId, |
| | | method: 'post', |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | export function checkPutIFS(id,data) { |
| | | return request({ |
| | | url: '/mes/rawInspect/check/'+id, |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | export function selectDevice() { |
| | | return request({ |
| | | url: '/mes/rawInsProduct/selectDevice', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="mod-config"> |
| | | <basic-container> |
| | | <ttable |
| | | :table="table" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | :prelang="prelang" |
| | | :options="options" |
| | | :ajaxFun="ajaxFun" |
| | | ref="reportWorkTable"> |
| | | <template #toolbar></template> |
| | | </ttable> |
| | | </basic-container> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapGetters } from 'vuex' |
| | | import ttable from '@/views/common/ztt-table.vue' |
| | | import { pageList } from '@/api/accounting/personReport' |
| | | export default { |
| | | components: { |
| | | ttable |
| | | }, |
| | | computed: { |
| | | ...mapGetters(['permissions']) |
| | | }, |
| | | data(){ |
| | | return { |
| | | multipleSelection: [], |
| | | ajaxFun: pageList, |
| | | options: { |
| | | height: 300, // é»è®¤é«åº¦-为äºè¡¨å¤´åºå® |
| | | stripe: true, // æ¯å¦ä¸ºæé©¬çº¹ table |
| | | highlightCurrentRow: false, // æ¯å¦è¦é«äº®å½åè¡ |
| | | border: true, // æ¯å¦æçºµåè¾¹æ¡ |
| | | lazy: false, // æ¯å¦éè¦æå è½½ |
| | | fit: true, // åç宽度æ¯å¦èªæå¼ |
| | | multiSelect: true, // |
| | | seqNo: true, |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé®H |
| | | isSearch: true, // é«çº§æ¥è¯¢æé® |
| | | defaultOrderBy: { column: 'createTime', direction: 'desc' }, |
| | | cancelRunCreated: true |
| | | }, |
| | | table: { |
| | | total: 0, |
| | | currentPage: 1, |
| | | pageSize: 20, |
| | | data: [], |
| | | // æ é¢ |
| | | column: [ |
| | | { |
| | | minWidth: '100', |
| | | width: '100px', |
| | | prop: 'contractNo', |
| | | label: 'ååç¼å·', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | }, |
| | | ], |
| | | toolbar: [], |
| | | operator: null |
| | | }, |
| | | prelang: "operation", |
| | | } |
| | | }, |
| | | methods:{ |
| | | // tableèªå¸¦äºä»¶ |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | |
| | | </style> |
| | |
| | | :prelang="prelang" |
| | | :options="options" |
| | | :ajaxFun="ajaxFun" |
| | | :toolbarMaxLength="4" |
| | | :paramArr="type" |
| | | ref="customerOrderTable" |
| | | > |
| | |
| | | <el-button type="primary" @click="startSync">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="å·²å
³èéå®è®¢å" |
| | | :visible.sync="showInterrelatedOrderDialog" |
| | | width="60%"> |
| | | <el-table border height="100" :data="interrelatedOrderData"> |
| | | <el-table-column type="index" align="center" label="åºå·"></el-table-column> |
| | | <el-table-column prop="contractNo" show-overflow-tooltip align="center" label="ååç¼å·"></el-table-column> |
| | | <el-table-column prop="entityName" show-overflow-tooltip align="center" label="å·¥ç¨åç§°"></el-table-column> |
| | | <el-table-column prop="sourceId" show-overflow-tooltip align="center" label="æ·»å æ¥æº"> |
| | | <template scope="scope"> |
| | | <el-tag v-if="scope.row.sourceId == 0" type="success">忥</el-tag> |
| | | <el-tag v-if="scope.row.sourceId == 1" type="info">æå¨</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="placeOrderDate" show-overflow-tooltip align="center" label="ä¸åæ¥æ"></el-table-column> |
| | | <el-table-column prop="customerName" show-overflow-tooltip align="center" label="客æ·åç§°"></el-table-column> |
| | | <el-table-column prop="coState" min-width="100" show-overflow-tooltip align="center" label="éå®è®¢åç¶æ"></el-table-column> |
| | | <el-table-column prop="partNo" show-overflow-tooltip align="center" label="产åç¼å·"></el-table-column> |
| | | <el-table-column prop="productName" show-overflow-tooltip align="center" label="产ååç§°"></el-table-column> |
| | | <el-table-column prop="productType" show-overflow-tooltip align="center" label="é¶å±åç"></el-table-column> |
| | | <el-table-column prop="otcUnit" show-overflow-tooltip align="center" label="åä½"></el-table-column> |
| | | <el-table-column prop="buyQtyDue" show-overflow-tooltip align="center" label="æ°é"></el-table-column> |
| | | </el-table> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {interrelatedOrder,getInterrelatedOrder,checkHanderOrder} from '@/api/plan/customerOrderInterrelated' |
| | | import ConfirmPullCustomerorder from './confirm-pull-customerorder' |
| | | import TableForm from './customerorder-form' |
| | | import TableFormDEesc from './customerorder-form-desc' |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | interrelatedOrderId: null, |
| | | interrelatedOrderData: [], |
| | | showInterrelatedOrderDialog: false, |
| | | uniqueStateArr: [], |
| | | dataForm: { |
| | | selectTime: null, |
| | |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé®H |
| | | isSearch: true, // é«çº§æ¥è¯¢æé® |
| | | defaultOrderBy: { column: 'createTime', direction: 'desc' }, |
| | | defaultOrderBy: { column: 'placeOrderDate', direction: 'desc' }, |
| | | cancelRunCreated: true |
| | | }, |
| | | table: { |
| | |
| | | { |
| | | minWidth: '120', |
| | | prop: 'isAudit', |
| | | label: 'å®¡æ ¸ç¶æ', |
| | | label: 'PLMå®¡æ ¸ç¶æ', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | |
| | | return this.isAuditList |
| | | } |
| | | }, |
| | | // { |
| | | // minWidth: '80', |
| | | // prop: 'sourceId', |
| | | // label: 'è®¢åæ¥æº', |
| | | // sort: true, |
| | | // isTrue: true, |
| | | // isSearch: true, |
| | | // searchInfoType: 'text' |
| | | // }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'isPass', |
| | | label: 'å®¡æ ¸éè¿ç¶æ', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'select', |
| | | formatter: this.checkIsPass, |
| | | optList: () => { |
| | | return this.isPassList |
| | | } |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | width: '100px', |
| | |
| | | // fun: this.packageExportHandle |
| | | // }, |
| | | { |
| | | text: 'å®¡æ ¸', |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.checkHandOrder, |
| | | showFun: (row)=>{return row.sourceId==='1'}, |
| | | show: { |
| | | val: [ |
| | | false, |
| | | ], |
| | | key: 'isPass' |
| | | } |
| | | }, |
| | | { |
| | | text: 'å·²å
³è订å', |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.showInterrelatedOrder, |
| | | }, |
| | | { |
| | | text: 'å é¤', |
| | | type: 'text', |
| | | size: 'small', |
| | |
| | | operatorConfig: { |
| | | fixed: 'right', |
| | | label: 'æä½', |
| | | width: 100, |
| | | minWidth: 100 |
| | | width: 200, |
| | | minWidth: 200 |
| | | } |
| | | }, |
| | | addOrUpdateVisible: false, |
| | |
| | | } |
| | | ], |
| | | showSalesPartBatch: false, |
| | | addOrUpdateEescVisible: false |
| | | addOrUpdateEescVisible: false, |
| | | isPassList: [{label:'æªéè¿',value: false},{label: 'éè¿',value: true}] |
| | | } |
| | | }, |
| | | components: { |
| | |
| | | } |
| | | }, |
| | | immediate: true |
| | | }, |
| | | interrelatedOrderId(newVal){ |
| | | if(newVal){ |
| | | getInterrelatedOrder(newVal).then(res=>{ |
| | | if(res.status===200){ |
| | | this.interrelatedOrderData = res.data.data |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error) |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | fun: this.downloadWord, |
| | | permitArr: ['03plan','04planed'], |
| | | }) |
| | | this.table.toolbar.push({ |
| | | text: 'å
³è订å', |
| | | disabled: false, |
| | | type: 'primary', |
| | | fun: this.interrelatedOrderFun, |
| | | permitArr: [], |
| | | }) |
| | | if (this.permissions.customerorder_create_masterplan) { |
| | | this.table.toolbar.push({ |
| | | text: '主ç产计å', |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | checkHandOrder(val){ |
| | | this.$confirm('ç¡®è®¤å®¡æ ¸éè¿è¯¥éå®è®¢åå?', 'æç¤º', { |
| | | confirmButtonText: 'éè¿', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | checkHanderOrder(val.id).then(res=>{ |
| | | if(res.status===200){ |
| | | this.$message.success("å®¡æ ¸éè¿") |
| | | this.getData() |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error) |
| | | }) |
| | | }).catch(() => {}); |
| | | }, |
| | | interrelatedOrderFun(){ |
| | | if(this.multipleSelection.length!=2){ |
| | | this.$message.error("è¯·éæ©ä¸¤æ¡éå®è®¢å") |
| | | return |
| | | } |
| | | let autoId = null |
| | | let handId = null |
| | | this.multipleSelection.forEach(ele=>{ |
| | | if(ele.sourceId==0){ |
| | | autoId = ele.id |
| | | }else if(ele.sourceId==1){ |
| | | handId = ele.id |
| | | } |
| | | }) |
| | | if(autoId==null || handId==null){ |
| | | this.$message.error("æ·»å æ¥æºé¡»ä¸ºæå¨å忥") |
| | | return |
| | | } |
| | | interrelatedOrder({ |
| | | customerOrderAutoId: autoId, |
| | | customerOrderHandId: handId |
| | | }).then(res=>{ |
| | | if(res.status===200){ |
| | | this.$message.success("å
³èæå") |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error) |
| | | }) |
| | | }, |
| | | //å±ç¤ºå·²å
³è订å |
| | | showInterrelatedOrder(currentOrder){ |
| | | this.interrelatedOrderId = currentOrder.id |
| | | this.showInterrelatedOrderDialog = true |
| | | }, |
| | | |
| | | //ä¸è½½word |
| | | downloadWord(){ |
| | | let ids = this.multipleSelection.map(ele=>ele.id) |
| | |
| | | } else { |
| | | this.$message.error('è¯·éæ©éå®è®¢å') |
| | | } |
| | | }, |
| | | checkIsPass(row, column, cellValue){ |
| | | this.isPassList.forEach((obj) => { |
| | | if (obj.value === cellValue) { |
| | | if(obj.value){ |
| | | cellValue = "<span style='color:#34BD66;'>"+obj.label+"</span>" |
| | | }else{ |
| | | cellValue = "<span style='color:#E84738;'>"+obj.label+"</span>" |
| | | } |
| | | } |
| | | }) |
| | | return cellValue |
| | | }, |
| | | formatDutyDate(row, column, cellValue) { |
| | | if (cellValue) { |
| | |
| | | } else { |
| | | if (this.judgeCoState(this.multipleSelection)) { |
| | | if (event == 'RELEVANCE') { |
| | | if(!this.multipleSelection[0].isPass){ |
| | | this.$message.error("请å
å®¡æ ¸éè¿ï¼åå
³èå·¥èºæä»¶") |
| | | return |
| | | } |
| | | const firstPartNo = this.multipleSelection[0].partNo |
| | | this.multipleSelection.forEach((item) => { |
| | | if (item.isDocument) { |
| | |
| | | text: 'å®¡æ ¸ç»æ', |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.AuditResult |
| | | fun: this.AuditResult, |
| | | show: { |
| | | key: 'type', |
| | | val: ['è¿ç¨æ£éª','äº§åæ£éª','å
è£
æ£éª'] |
| | | } |
| | | }) |
| | | } |
| | | this.table.operator = arr.length>0 ? arr : null |
| | |
| | | </template> |
| | | <script> |
| | | import ttable from '@/views/common/ztt-table.vue' |
| | | import { getRawInspectList,delObj,exportRawMaterial,getObj,downloadReport } from '@/api/quality/rawMaterial' |
| | | import { getRawInspectList,delObj,exportRawMaterial,getObj,downloadReport,checkPutIFS } from '@/api/quality/rawMaterial' |
| | | import RawMaterialForm from './rawMaterial-form' |
| | | import * as fecha from 'element-ui/lib/utils/date' |
| | | import { mapGetters } from 'vuex' |
| | |
| | | searchInfoType: 'select', |
| | | optList: () => { |
| | | return this.typeList |
| | | } |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'checkState', |
| | | label: 'å®¡æ ¸ç¶æ', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'select', |
| | | formatter: this.checkStateFormat, |
| | | optList: () => { |
| | | return this.checkStateList |
| | | } |
| | | }, |
| | | { |
| | |
| | | insStateList: [{label:'å
¨é¨',value:''},{label:'å·²æ£æµ',value:'1'},{label:'æªæ£æµ',value:'0'}], |
| | | StateList: [{label:'å
¨é¨',value:''},{label:'å·²åæ ¼',value:'1'},{label:'ä¸åæ ¼',value:'0'}], |
| | | typeList: [{label:'å
¨é¨',value:''},{label:'馿£',value:'馿£'},{label:'è¿æ£',value:'è¿æ£'}], |
| | | checkStateList: [{label:'æªå®¡æ ¸',value:'0'},{label:'å®¡æ ¸éè¿',value:'1'},{label:'å®¡æ ¸ä¸éè¿',value:'2'}], |
| | | } |
| | | }, |
| | | components: { |
| | |
| | | |
| | | }) |
| | | } |
| | | this.table.operator = [{ |
| | | text: 'å®¡æ ¸', |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.examineHandle, |
| | | showFun: (row)=>{return row.type==='馿£'}, |
| | | show: { |
| | | key: 'checkState', |
| | | val: ['0'] |
| | | } |
| | | }] |
| | | if(this.permissions.quality_rawMaterial_del){ |
| | | this.table.operator = [{ |
| | | this.table.operator.push({ |
| | | text: 'ä½åº', |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.deleteHandle |
| | | }] |
| | | fun: this.deleteHandle, |
| | | show: { |
| | | key: 'judgeState', |
| | | val: ['',null] |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | } |
| | | }, |
| | | methods:{ |
| | | examineHandle(val){ |
| | | this.$confirm('æ¯å¦å®¡æ ¸éè¿è¯¥æ£éªé¡¹?', 'æç¤º', { |
| | | distinguishCancelAndClose: true, |
| | | confirmButtonText: 'éè¿', |
| | | cancelButtonText: 'ä¸éè¿', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | checkPutIFS(val.id,{result: 1}).then(res=>{ |
| | | if(res.status===200){ |
| | | console.log(res) |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error) |
| | | }) |
| | | }).catch((action) => { |
| | | if(action === 'cancel'){ |
| | | checkPutIFS(val.id,{result: 2}).then(res=>{ |
| | | if(res.status===200){ |
| | | console.log(res) |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error) |
| | | }) |
| | | } |
| | | }); |
| | | }, |
| | | downloadReport(){ |
| | | let selection = this.multipleSelection |
| | | if(!selection || selection.length < 1){ |
| | |
| | | return "<span style='color:#34BD66;'>åæ ¼</span>" |
| | | } |
| | | }, |
| | | checkStateFormat(row, column, cellValue){ |
| | | this.checkStateList.forEach((obj) => { |
| | | if (obj.value === cellValue) { |
| | | cellValue = obj.label |
| | | } |
| | | }) |
| | | return cellValue |
| | | }, |
| | | formatDateTime(row, column, cellValue) { |
| | | return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : '' |
| | | }, |