From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 28 五月 2025 16:48:52 +0800
Subject: [PATCH] 初始化项目

---
 pages/product/outputRegister/index.vue |  816 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 816 insertions(+), 0 deletions(-)

diff --git a/pages/product/outputRegister/index.vue b/pages/product/outputRegister/index.vue
new file mode 100644
index 0000000..5abd4a2
--- /dev/null
+++ b/pages/product/outputRegister/index.vue
@@ -0,0 +1,816 @@
+<template>
+	<view class="wrap">
+		<view class="row-list">
+			<u-row justify="space-between" class="outputregister-main-row">
+				<u-col span="4">
+					<span class="span-lable">宸ヤ綔绔�</span>
+				</u-col>
+				<u-col span="8">
+					<view class="outputregister-main-info">
+						<view>
+							<span>{{outputregisterMainInfo.workstationName}}</span>
+						</view>
+						<view>
+							<u-button size="mini" @click="toWorkstation">鐐瑰嚮閫夋嫨</u-button>
+						</view>
+					</view>
+				</u-col>
+			</u-row>
+			<u-row justify="space-between" class="outputregister-main-row last-main-row">
+				<u-col span="4">
+					<span class="span-lable">宸ュ崟鍙�</span>
+				</u-col>
+				<u-col span="8">
+					<view class="outputregister-main-info">
+						<view>
+							<span>{{outputregisterMainInfo.optaskNo}}</span>
+						</view>
+						<view>
+							<u-button size="mini" @click="toOptask">鐐瑰嚮閫夋嫨</u-button>
+						</view>
+					</view>
+				</u-col>
+			</u-row>
+			<u-row justify="space-between" class="outputregister-main-row outputregister-main-operate-view">
+				<u-col span="6">
+					<u-radio-group v-model="reportStyle">
+						<u-radio v-for="(item, index) in reportStyleList" :key="index" :name="item.value">
+							{{item.name}}
+						</u-radio>
+					</u-radio-group>
+				</u-col>
+				<u-col span="6">
+					<view class="outputregister-main-out-view">
+						<view>
+							<u-button type="warning" size="mini" @click="openShiftProductOut">浜ょ彮浜у嚭</u-button>
+						</view>
+						<view style="margin-left: 20rpx;">
+							<u-button type="success" size="mini" @click="openProductOut">鏂板浜у嚭</u-button>
+						</view>
+					</view>
+				</u-col>
+			</u-row>
+		</view>
+		<scroll-view class="scroll-list tracking-scan-record" scroll-y="true">
+			<u-cell-group class="list tracking-scan-record-cell" :border="false">
+						<view class="item u-border-bottom tracking-scan-record-view" v-for="(item, index) in trackingList" :key="item.id" @click="trackingCardClick(item)"
+					:style="{backgroundColor: item.selected?backgroundColor.selectedColor:backgroundColor.unSelectedColor}">
+					
+					  
+							<view class="tracking-record-operate-btn-view">
+								<view style="text-align: right;">
+									<u-button type="success" text="鎶曞叆" size="mini"
+										@click.stop="toProductIn(item)">鎶曞叆
+									</u-button>
+								</view>
+								<view style="text-align: right;margin-left: 16rpx;">
+									<u-button v-show="item.state == '01draft' && item.shiftState == '01draft'"
+										type="warning" text="浜ょ彮" size="mini"
+										@click.stop="translate(item,'DRAFTTOCHANGESHIFT','浜ょ彮')">浜ょ彮</u-button>
+									<u-button v-show="item.state == '01draft' && item.shiftState == '03changeshift'"
+										type="warning" text="鍙栨秷浜ょ彮" size="mini"
+										@click.stop="translate(item,'CHANGESHIFTTODRAFT','鍙栨秷浜ょ彮')">鍙栨秷浜ょ彮</u-button>
+								</view>
+								<view style="text-align: right;margin-left: 16rpx;">
+									<u-button type="error" text="鍒犻櫎" size="mini" @click.stop="deleteTracking(item)">
+										鍒犻櫎</u-button>
+								</view>
+							</view>
+							<view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">鎶ュ伐鍗曞彿</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{item.productNo}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">闆朵欢缂栧彿</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{item.partNo}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">闆朵欢鍚嶇О</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{item.partName}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">SN鍙�</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{item.outBatchNo}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">IFS鎵规鍙�</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{item.ifsBatchNo}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">鐢熶骇鏁伴噺</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{item.productQty}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">鎶ュ簾鏁伴噺</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{item.scrapQty}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">杞藉叿缂栧彿</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{item.reelNumber}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">鍒嗘鎻忚堪</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{item.segmentDesc}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">鐘舵��</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{formatState(item.state)}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">浜ょ彮鐘舵��</span>
+										</u-col>
+										<u-col span="8">
+											<view class="tracking-val-col">
+												<span>{{formatShiftState(item.shiftState)}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+							</view>
+						</view>				
+			</u-cell-group>
+			
+		</scroll-view>
+		<!--<view class="view-fixed-one">
+			<u-button type="success" text="鎵爜" size="medium" :customStyle="{width:'160rpx'}"
+				@click="scanMaterialCodeClick()">鎵爜</u-button>
+		</view>-->
+		<view class="view-fixed-two tracking-bottom-btns">
+			<u-button text="缂栬緫" size="medium"
+				:customStyle="{height:'60rpx',paddingLeft:'35rpx',paddingRight:'35rpx',color:'#41A2F9'}"
+				@click="toEditProductOut">
+				缂栬緫</u-button>
+			<u-button text="鎵撳嵃" size="medium"
+				:customStyle="{height:'60rpx',paddingLeft:'35rpx',paddingRight:'35rpx',color:'#41A2F9'}"
+				@click="printTrackingLabel">
+				鎵撳嵃</u-button>
+			<u-button text="鎶ユ" size="medium"
+				:customStyle="{height:'60rpx',paddingLeft:'35rpx',paddingRight:'35rpx',color:'#41A2F9'}"
+				@click="openInspectionApplication">
+				鎶ユ</u-button>
+			<u-button text="鎻愪氦" size="medium"
+				:customStyle="{height:'60rpx',paddingLeft:'35rpx',paddingRight:'35rpx',color:'#41A2F9'}"
+				@click="submitTracking">
+				鎻愪氦</u-button>
+			<u-button text="鎾ら攢" size="medium"
+				:customStyle="{height:'60rpx',paddingLeft:'35rpx',paddingRight:'35rpx',color:'#41A2F9'}"
+				@click="revokeTracking">
+				鎾ら攢</u-button>
+		</view>
+		<u-mask :show="inspectionApplicationShow">
+			<view class="inspection-application-mask">
+				<view class="inspection-application-mask-view">
+					<view>
+						<view style="height: 60rpx;line-height:60rpx;text-align:right;margin-right: 20rpx;">
+							<u-icon name="close" @click="inspectionApplicationShow = false"></u-icon>
+						</view>
+					</view>
+					<view>
+						<view style="height: 60rpx;line-height:60rpx;">
+							<span style="font-weight: bold;margin-left:30rpx;font-size: 32rpx;">鎶ユ</span>
+						</view>
+					</view>
+					<view class="inspection-application-reporttype-view">
+						<view class="inspection-application-reporttype-row">
+							<u-row justify="space-between">
+								<u-col span="3">
+									<view>
+										<span style="margin-left: 16rpx;">鎶ユ绫诲瀷</span>
+									</view>
+								</u-col>
+								<u-col span="9">
+									<view style="border: 1px solid #d6d4d4;border-radius: 10rpx;">
+										<u-select v-model="reportTypeListShow" :list="reportTypeList"
+											@confirm="confirmReportType"></u-select>
+										<view
+											style="height: 60rpx;display: flex;justify-content:space-between;align-items: center;"
+											@click="reportTypeListShow = true">
+											<span
+												style="margin-left: 10rpx;">{{reportTypeValue!=null?reportTypeLabel:'璇烽�夋嫨'}}</span>
+											<u-icon style="margin-right: 6rpx;" name="arrow-down-fill"></u-icon>
+										</view>
+									</view>
+								</u-col>
+							</u-row>
+						</view>
+					</view>
+					<view class="edit-product-out-btn-view">
+						<u-button text="纭畾" type="success" size="medium" :customStyle="{width:'150rpx'}"
+							@click="saveReportType">
+							纭畾</u-button>
+					</view>
+				</view>
+			</view>
+		</u-mask>
+	</view>
+</template>
+<script>
+	export default {
+		data() {
+			return {
+				showCardHead: false,
+				outputregisterMainInfo: {
+					workstationId: null,
+					workstationNo: null,
+					workstationName: null,
+					optaskId: null,
+					optaskNo: null,
+					partId: null,
+					partName: null,
+					partNo: null,
+					unit: null
+				},
+				trackingList: [],
+				reportStyle: 'shift',
+				reportStyleList: [{
+					value: 'shift',
+					name: '鎸夌彮缁�'
+				}, {
+					value: 'person',
+					name: '鎸変汉鍛�'
+				}],
+				inspectionApplicationShow: false,
+				reportTypeList: [{
+						value: '1',
+						label: '姹�'
+					},
+					{
+						value: '2',
+						label: '婀�'
+					}
+				],
+				reportTypeListShow: false,
+				reportTypeValue: null,
+				reportTypeLabel: null,
+				bodyStyle: {
+					background: '#bbf59c'
+				},
+				dutyForm: {
+					workstationId: null,
+					dutyNo: null,
+					crewId: null,
+					dutyDate: null,
+					startTime: null,
+					endTime: null,
+					dutyTime: null,
+					shiftId: null,
+					id: null,
+					isSubmit: null
+				},
+				stateTagArr: [
+				        { value: '01draft', label: '鑽夌' },
+				        { value: '02submitted', label: '宸叉彁浜�' },
+				        { value: '03changeshift', label: '浜ょ彮' }
+				],
+				stateShiftTagArr: [{ value: '03changeshift', label: '浜ょ彮' }],
+				backgroundColor:{
+					selectedColor:'#bbf59c',
+					unSelectedColor:'#ffffff'
+				}
+			};
+		},
+		onLoad() {},
+		onShow() {
+
+		},
+		methods: {
+			formatState(state){
+				for (let i = 0, len = this.stateTagArr.length; i < len; i++) {
+				    if (state === this.stateTagArr[i].value) {
+				      return this.stateTagArr[i].label
+				    }
+				  }
+				  return ''
+			},
+			formatShiftState(shiftState){
+				for (let i = 0, len = this.stateShiftTagArr.length; i < len; i++) {
+				    if (shiftState === this.stateShiftTagArr[i].value) {
+				      return this.stateShiftTagArr[i].label
+				    }
+				  }
+				  return ''
+			},
+			printTrackingLabel() {
+				let initList = this.trackingList.filter(item => item.selected == true)
+				if (initList.length == 0) {
+					this.$u.toast('璇烽�夋嫨闇�瑕併�愭墦鍗般�戠殑鏁版嵁')
+					return
+				}
+				uni.navigateTo({
+					url: '/pages/util/bleConnect?data='+ JSON.stringify(initList[0]),
+				})
+			},
+			//鎻愪氦
+			submitTracking() {
+
+				let initList = this.trackingList.filter(item => item.selected == true)
+				if (initList.length == 0) {
+					this.$u.toast('璇烽�夋嫨闇�瑕併�愭彁浜ゃ�戠殑鏁版嵁')
+					return
+				}
+				
+				const l_index = initList.findIndex((el) => el.state == '02submitted')
+				if (l_index > -1) {
+				    this.$u.toast('鎮ㄩ�夋嫨鐨勫璞′腑瀛樺湪宸叉彁浜ょ殑鏁版嵁锛岃閲嶆柊閫夋嫨锛�')
+				    return
+				}
+					  
+				let outIds = initList.map((item) => {
+					return item.id
+				})
+
+				let queryParam = {
+					event: 'SUBMIT',
+					ids: outIds
+				}
+				this.batchChange(queryParam, "鎻愪氦")
+			},
+			//鎾ら攢
+			revokeTracking() {
+
+				let initList = this.trackingList.filter(item => item.selected == true)
+				if (initList.length == 0) {
+					this.$u.toast('璇烽�夋嫨闇�瑕併�愭挙閿�銆戠殑鏁版嵁')
+					return
+				}
+				
+				let l_index = initList.findIndex(
+				        (el) => el.state == null || el.state == '01draft'
+				      )
+				if (l_index > -1) {
+				    this.$u.toast('鎮ㄩ�夋嫨鐨勫璞′腑瀛樺湪鏈彁浜ょ殑鏁版嵁锛岃閲嶆柊閫夋嫨锛�')
+				    return
+				}
+					  
+				let outIds = initList.map((item) => {
+					return item.id
+				})
+
+				let queryParam = {
+					event: 'REVOKE',
+					ids: outIds
+				}
+				this.batchChange(queryParam, "鎾ら攢")
+			},
+			//鎻愪氦銆佹挙閿�鎿嶄綔
+			batchChange(queryParam, title) {
+				let that = this
+				that.$u.api.outputRegister.batchChange(queryParam).then(res => {
+					if (res.code == 0) {
+						uni.showModal({
+							title: '鎻愮ず',
+							content: title + '鎴愬姛',
+							showCancel: false,
+							success: function() {
+								that.loadList()
+							}
+						})
+					} else {
+						uni.showModal({
+							title: '鎻愮ず',
+							content: title + '澶辫触',
+							showCancel: false,
+							success: function() {}
+						})
+					}
+				})
+			},
+			trackingCardClick(item) {
+				item.selected = !item.selected
+			},
+			saveReportType() {
+				this.inspectionApplicationShow = false
+				console.log('reportTypeValue', this.reportTypeValue)
+			},
+			confirmReportType(item) {
+				console.log('item', item)
+				this.reportTypeValue = item[0].value
+				this.reportTypeLabel = item[0].label
+			},
+			openInspectionApplication() {
+				this.inspectionApplicationShow = true
+			},
+			toEditProductOut() {
+				let initList = this.trackingList.filter(item => item.selected == true)
+				if (initList.length == 0) {
+					this.$u.toast('璇烽�夋嫨闇�瑕併�愮紪杈戙�戠殑鏁版嵁')
+					return
+				}
+				//TODO鏍¢獙鎶ュ伐鐘舵��
+				let l_index = initList.findIndex((el) => el.state == '02submitted')
+				if (l_index > -1) {
+				    this.$u.toast('鎮ㄩ�夋嫨鐨勫璞′腑瀛樺湪宸叉彁浜ょ殑鏁版嵁锛岃閲嶆柊閫夋嫨锛�')
+				    return 
+				}
+				
+				uni.navigateTo({
+					url: '/pages/product/outputRegister/editProductOut?item=' + encodeURIComponent(JSON.stringify(initList))
+				})
+			},
+			refreshTrackingRecord() {
+				this.loadList();
+			},
+			setWorkstation(workstation) {
+				this.outputregisterMainInfo.workstationId = workstation.id
+				this.outputregisterMainInfo.workstationNo = workstation.workstationNo
+				this.outputregisterMainInfo.workstationName = workstation.name
+
+				//鑾峰彇褰撶彮璁板綍
+				this.dutyForm.workstationId = this.outputregisterMainInfo.workstationId
+				if (this.dutyForm.workstationId != "" || this.dutyForm.workstationId != undefined) {
+					let queryParam = {
+						id: this.dutyForm.workstationId
+					}
+					//鏍规嵁宸ヤ綔绔欙紝鍔犺浇鐝
+					this.$u.api.outputRegister.getDutyRecordByWorkstationId(queryParam).then(res => {
+						if (res.data != null) {
+							this.dutyForm = res.data
+						}
+					})
+				}
+			},
+			setOptask(task) {
+				this.outputregisterMainInfo.optaskId = task.id
+				this.outputregisterMainInfo.optaskNo = task.optaskNo
+				this.outputregisterMainInfo.partId = task.partId
+				this.outputregisterMainInfo.partName = task.partName
+				this.outputregisterMainInfo.partNo = task.partNo
+				this.outputregisterMainInfo.unit = task.unit
+				this.loadList()
+			},
+			openShiftProductOut() {
+				//鏌ユ壘鍑洪渶浜ゆ帴鐨勪骇鍑鸿褰�
+				if (this.dutyForm.workstationId == null) {
+					this.$u.toast('璇烽�夋嫨宸ヤ綔绔�');
+					return
+				}
+				if (this.outputregisterMainInfo.optaskId == null) {
+					this.$u.toast('璇烽�夋嫨宸ュ崟');
+					return
+				}
+				let queryParam = {
+					workstationId: this.dutyForm.workstationId,
+					opeartionTaskId: this.outputregisterMainInfo.optaskId
+				}
+				this.$u.api.outputRegister.getShiftProductOutByOpIdAndWsId(queryParam).then(res => {
+					let resCode = res.code
+					let resData = res.data
+					if (resCode === 0) {
+						if (resData != null) {
+							if (this.dutyForm.id !== resData.dutyRecordId) {
+								uni.navigateTo({
+									url: '/pages/product/outputRegister/shiftProductOut?' +
+										"type=" + this.reportStyle + "&dutyId=" + this.dutyForm.id +
+										"&workstationId=" + this.dutyForm.workstationId +
+										"&operationTaskId=" + this.outputregisterMainInfo.optaskId +
+										"&partId=" + this.outputregisterMainInfo.partId +
+										"&partName=" + this.outputregisterMainInfo.partName +
+										"&partNo=" + this.outputregisterMainInfo.partNo +
+										"&unit=" + this.outputregisterMainInfo.unit +
+										"&outBatchNo=" + resData.outBatchNo +
+										"&endMeterMark=" + resData.endMeterMark
+								})
+							} else {
+								this.$u.toast('宸ュ崟涓嬪瓨鍦ㄤ氦鐝姤鍛婏紝寰呬笅涓�涓彮缁勮繘琛屻�愪氦鐝骇鍑恒��');
+							}
+						} else {
+							this.$u.toast('宸ュ崟涓嬬殑鎶ュ憡锛屾棤闇�銆愪氦鐝骇鍑恒��');
+						}
+					} else {
+						this.$u.toast('鏌ユ壘宸ュ崟浜ょ彮璁板綍澶辫触');
+					}
+				})
+			},
+			openProductOut() {
+				if (this.outputregisterMainInfo.optaskId != null) {
+					let queryParam = {
+						workstationId: this.dutyForm.workstationId,
+						opeartionTaskId: this.outputregisterMainInfo.optaskId
+					}
+					this.$u.api.outputRegister.getShiftProductOutByOpIdAndWsId(queryParam).then(res => {
+						let resCode = res.code
+						let resData = res.data
+						if (resCode === 0) {
+							if (resData != null) {
+								if (this.dutyForm.id !== resData.dutyRecordId) {
+									this.$u.toast('宸ュ崟涓嬪瓨鍦ㄥ緟浜ょ彮鎶ュ憡锛屼笉鍙繘琛屻�愭柊澧炰骇鍑恒��');
+								} else {
+									uni.navigateTo({
+										url: '/pages/product/outputRegister/addProductOut?' +
+											"type=" + this.reportStyle + "&dutyId=" + this.dutyForm.id +
+											"&workstationId=" + this.dutyForm.workstationId +
+											"&operationTaskId=" + this.outputregisterMainInfo.optaskId +
+											"&partId=" + this.outputregisterMainInfo.partId +
+											"&partName=" + this.outputregisterMainInfo.partName +
+											"&partNo=" + this.outputregisterMainInfo.partNo +
+											"&unit=" + this.outputregisterMainInfo.unit
+									})
+								}
+							} else {
+								uni.navigateTo({
+									url: '/pages/product/outputRegister/addProductOut?' +
+										"type=" + this.reportStyle + "&dutyId=" + this.dutyForm.id +
+										"&workstationId=" + this.dutyForm.workstationId +
+										"&operationTaskId=" + this.outputregisterMainInfo.optaskId +
+										"&partId=" + this.outputregisterMainInfo.partId +
+										"&partName=" + this.outputregisterMainInfo.partName +
+										"&partNo=" + this.outputregisterMainInfo.partNo +
+										"&unit=" + this.outputregisterMainInfo.unit
+								})
+							}
+						} else {
+							this.$u.toast('鏌ユ壘宸ュ崟浜ょ彮璁板綍澶辫触');
+						}
+					})
+					
+				} else {
+					this.$u.toast('璇烽�夋嫨宸ュ崟');
+				}
+			},
+			toOptask() {
+				if (this.outputregisterMainInfo.workstationName != null || this.outputregisterMainInfo.workstationName !=
+					"") {
+					uni.navigateTo({
+						url: '/pages/product/outputRegister/optaskList?workstationId=' + this
+							.outputregisterMainInfo.workstationId
+					})
+				} else {
+					this.$u.toast('璇烽�夋嫨宸ヤ綔绔�');
+				}
+			},
+			toWorkstation() {
+				uni.navigateTo({
+					url: '/pages/product/outputRegister/workstationList'
+				})
+			},
+			toProductIn(item) {
+				if(item.state == '02submitted'){
+					this.$u.toast('宸叉彁浜わ紝涓嶅彲杩涜銆愭姇鍏ャ��');
+					return
+				}
+				let id=item.id
+				let productMainId=item.productMainId
+				let productNo=item.productNo
+				uni.navigateTo({
+					url: '/pages/product/outputRegister/productInList?workstationId=' + this.dutyForm
+						.workstationId + '&id=' + id + '&productMainId=' + productMainId + '&productNo=' +
+						productNo
+				})
+			},
+			translate(item, event, btnName) {
+				let changeStateParam = {
+					id: item.id,
+					event: event
+				}
+				this.$u.api.outputRegister.productOutPutStateByMainId(changeStateParam).then(res => {
+					let _code = res.code
+					let _data = res.data
+					let _msg = res.msg
+					if (_code === 0) {
+						this.$u.toast(btnName + '鎴愬姛');
+						this.search('')
+					} else {
+						this.$u.toast(btnName + '澶辫触');
+					}
+				});
+			},
+			deleteTracking(item) {
+				if(item.state == '02submitted'){
+					this.$u.toast('宸叉彁浜わ紝涓嶅彲杩涜銆愬垹闄ゃ��');
+					return
+				}
+				this.$u.api.outputRegister.batchCancelProductMain([item.id]).then(res => {
+					let _code = res.code
+					let _data = res.data
+					let _msg = res.msg
+					if (_code === 0) {
+						this.$u.toast('鍒犻櫎鎴愬姛');
+						this.search('')
+					} else {
+						this.$u.toast('鍒犻櫎澶辫触');
+					}
+				});
+			},
+			loadList() {
+				let that=this
+				that.trackingList = []
+				let queryParam = {
+					workstationId: that.dutyForm.workstationId,
+					operationTaskId: that.outputregisterMainInfo.optaskId
+				}
+				that.$u.api.outputRegister.getProductMainV1(queryParam).then(res => {
+					let resList = res.data.records
+					resList.map((item) => {
+					});
+					that.trackingList=resList
+				});
+			},
+			search(value) {
+				this.loadList();
+			}
+		}
+	};
+</script>
+<style lang="scss">
+	.outputregister-main-info {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+	}
+
+	.outputregister-main-operate-view {
+		height: 80rpx;
+	}
+
+	.outputregister-main-out-view {
+		display: flex;
+		justify-content: flex-end;
+		align-items: center;
+	}
+
+	.outputregister-main-row {
+		padding-bottom: 2px;
+		padding-top: 2px;
+	}
+
+	.last-main-row {
+		border-bottom: 1px solid #F3F3F6;
+	}
+
+	.tracking-val-col {
+		display: flex;
+		justify-content: flex-end;
+	}
+
+	.tracking-scan-record {
+		background-color: #F8F8F8;
+		height: calc(100vh - var(--window-top) - var(--window-bottom) - 308rpx);
+	}
+
+	.tracking-scan-record-cell {
+		::v-deep .u-cell-item-box {
+			background-color: #F8F8F8;
+		}
+	}
+
+	.tracking-record-operate-btn-view {
+		display: flex;
+		justify-content: flex-end;
+		align-items: center;
+	}
+
+	.edit-product-out-view {
+		background-color: #F8F8F8;
+		height: calc(100vh - 220rpx);
+		overflow-x: hidden;
+		overflow-y: auto;
+	}
+
+	.edit-product-out-view-cell {
+		padding-top: 2rpx;
+	}
+
+	.edit-product-out-view-cell {
+		::v-deep .u-cell-item-box {
+			background-color: #F8F8F8;
+		}
+	}
+
+	.edit-product-out-btn-view {
+		display: flex;
+		justify-content: space-between;
+		margin-top: 20rpx;
+	}
+
+	.tracking-bottom-btns {
+		width: 750rpx;
+		height: 100rpx;
+		background-color: #3281FF;
+		display: flex;
+		justify-content: space-around;
+		align-items: center;
+	}
+
+	.inspection-application-mask {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		height: 100%;
+	}
+
+	.inspection-application-mask-view {
+		width: 600rpx;
+		height: 450rpx;
+		background-color: #fff;
+		border-radius: 10rpx;
+	}
+
+	.inspection-application-reporttype-view {
+		display: flex;
+		align-items: center;
+		height: 220rpx;
+	}
+
+	.inspection-application-reporttype-row {
+		width: 100%;
+	}
+
+	.custom-edit-input {
+		border-bottom: 2rpx solid #F8F8F8;
+	}
+	
+	.tracking-scan-record-view{
+		margin-left: 30rpx;
+		margin-right: 30rpx;
+		margin-top: 30rpx;
+		margin-bottom: 30rpx;
+		border-radius: 20rpx;
+		padding-left: 10rpx;
+		padding-right: 10rpx;
+		padding-bottom: 10rpx;
+		padding-top: 10rpx;
+	}
+</style>

--
Gitblit v1.9.3