From 4fa0cbae96cde47e4878e16c87da294903a457ae Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 11 九月 2023 17:41:21 +0800
Subject: [PATCH] 同步素材库商品
---
minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue | 622 +++++++++++++++++++++++--------------------------------
1 files changed, 260 insertions(+), 362 deletions(-)
diff --git a/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
index 50dc001..5b49724 100644
--- a/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
+++ b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
@@ -1,34 +1,25 @@
<template>
<view>
<workOrderInfo :orederMessage="info" />
- <view class="bg_cate">
+ <!-- <view class="bg_cate">
<view @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'"
v-for="(item, index) in cate" :key="index">{{ item.name }}</view>
- </view>
- <div class="bg_list" v-if="typeView === 0">
+ </view> -->
+ <div class="bg_list">
<div class="bg_list_item">
<div class="bg_list_item_top">
<div class="bg_list_item_top_left">
<div class="bg_list_item_top_left_x bg_m"></div>
<span>鎶曟枡鏄庣粏</span>
</div>
- <div class="bg_list_item_top_right" @click="jumpTL">
- <!-- v-if="proxy.$auth('h5:workorderinput:create') && (info.bomType !== 1 || info.bomType == 0 || !info.bomType)" -->
- <!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" /> -->
- <!-- <img src="@/static/gongdan_ic_shoudong@2x.ong" alt="" /> -->
- <image src="../../static/gongdan_ic_shoudong@2x.png" class="img28" mode=""></image>
- <span class="cm">鏂板鎶曟枡</span>
- </div>
</div>
<template v-if="feedingData && feedingData.length > 0">
- <u-swipe-action>
- <u-swipe-action-item v-for="(item, index) in feedingData" :key="index" :options="options"
- @click="deleItem(item.id, 'T')">
+ <view>
+ <view v-for="(item, index) in feedingData" :key="index">
<div class="bg_list_item_h">
<div class="bg_list_item_num">
<div class="bg_list_item_num_item">
- <!-- <span>{{item.code}}</span> -->
<div class="bg_list_item_num_item_wl">
<span> {{ item.materialName || '澧欎綋鐮�' }}{{ item.procedureName ? ` | ${item.procedureName}` : ''
}}</span>
@@ -41,25 +32,17 @@
</div>
</div>
<div class="bg_list_item_num_item_sr">
- <!-- :disabled="!proxy.$auth('h5:workorderinput:update')" -->
- <!-- <view class="cY">
- <span>{{item.num}}{{ item.unitName }}</span>
- <image src="../../../static/ic_edit@2x.png" class="img48" mode=""></image>
- <span class="red">鍒犻櫎</span>
- </view> -->
- <view class="cY">
- <input v-model="item.num"
- @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)"
- type="number" />
- <span class="cm">淇濆瓨</span>
+ <view class="cY">
+ <view class="mr10">{{ item.num }}</view>
+ <span v-if="info.umodel">{{ info.umodel.name }}</span>
</view>
-
+
</div>
</div>
</div>
</div>
- </u-swipe-action-item>
- </u-swipe-action>
+ </view>
+ </view>
</template>
<template v-else>
@@ -73,6 +56,10 @@
<div class="bg_list_item_top_left">
<div class="bg_list_item_top_left_x bg_m"></div>
<span>浜у嚭鏄庣粏</span>
+ </div>
+ <div class="bg_list_item_top_right" @click="proRecord">
+ <span style="color: #4275FC;">鏌ョ湅妫�楠岃褰�</span>
+ <u-icon name="arrow-right" color="#4275FC" />
</div>
</div>
<div class="bg_list_item_h">
@@ -80,11 +67,7 @@
<div class="bg_list_item_num_item">
<span>鑹搧鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
<div class="bg_list_item_num_item_sr">
- <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
- <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
- <input type="number" v-model="produceFrom.qualified"
- @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)"
- placeholder="璇疯緭鍏�" />
+ <view class="mr10">{{ produceFrom.qualified }}</view>
<span v-if="info.umodel">{{ info.umodel.name }}</span>
</div>
</div>
@@ -92,193 +75,90 @@
</div>
<div class="bg_list_item_h">
<div class="bg_list_item_num">
- <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
<div class="bg_list_item_num_item">
<span>涓嶈壇鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
<div class="bg_list_item_num_item_sr">
- <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
- <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
- <input type="number" v-model="produceFrom.undesirable"
- @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)"
- placeholder="璇疯緭鍏�" />
+ <view class="mr10">{{ produceFrom.undesirable }}</view>
<span v-if="info.umodel">{{ info.umodel.name }}</span>
</div>
</div>
</div>
</div>
- <div class="bg_list_item_h" v-if="produceFrom.undesirable > 0">
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item" @click="badShow = true">
- <span>涓嶈壇椤�</span>
- <div class="bg_list_item_num_item_sr">
- <span class="wulll" :style="{ color: form.defectiveName ? '#305ED5' : '' }">{{ form.defectiveName ?
- form.defectiveName : '璁剧疆' }}</span>
- <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="bg_plan" @click="TimeShow = true">
- <div class="bg_plan_label">
- <span>鎶ュ伐鏃堕暱</span>
- </div>
- <div class="bg_plan_label_val">
- <span
- :style="{ color: form.durationName ? '#333' : '' }">{{ form.durationName ? form.durationName : '璇烽�夋嫨' }}</span>
- <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
- </div>
- </div>
- <div class="bg_list_item" v-if="arrType && arrType.length > 0">
- <div class="bg_list_item_top">
- <div class="bg_list_item_top_left">
- <div class="bg_list_item_top_left_x bg_m"></div>
- <span>宸ヨ祫缁╂晥</span>
- </div>
- </div>
- <div class="bg_list_item_h">
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>璁′欢鏂瑰紡</span>
- <div class="bg_list_item_num_item_list">
- <div :class="form.index == index ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'"
- v-for="(item, index) in arrType" :key="index"
- @click="clickPerformanceType(item, index)">
- {{ item.name }}
- </div>
- </div>
- </div>
- </div>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>宸ヨ祫鍗曚环</span>
- <div class="bg_list_item_num_item_sr">
- <span class="color1">{{ (arrType[form.index].salary / 10 / 10).toFixed(2) }}鍏�/{{ arrType[form.index].type ==
- 0 ? '浠�' : '鏃�' }}</span>
- </div>
- </div>
- </div>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>棰勮宸ヨ祫</span>
- <div class="bg_list_item_num_item_sr">
- <span class="color1">{{ expectedSalary }}鍏�</span>
- </div>
- </div>
- </div>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>杈炬爣鐜�</span>
- <div class="bg_list_item_num_item_sr">
- <span class="color1">{{ complianceRate }}%</span>
- </div>
- </div>
- </div>
- </div>
- </div>
-
+ </div>
+ <div class="bg_list_item">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x bg_m"></div>
+ <span>鐢熶骇鐐规</span>
+ </div>
+ </div>
+ <template v-if="djData && djData.length > 0">
+ <div class="details_dj">
+
+ <div class="details_dj_list">
+ <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists">
+ <view v-for="(item, index) in djData" :key="index">
+ <div class="details_dj_list_item">
+ <span>{{ item.attrName }}锛歿{ item.val }}</span>
+ <span>{{ item.userName }} {{ item.createTime }}</span>
+ </div>
+ </view>
+ </scroll-view>
+ </div>
+ </div>
+ </template>
+ <template v-else>
+ <div class="kong">
+ <span>鏆傛棤鏁版嵁</span>
+ </div>
+ </template>
+ </div>
</div>
- <div class="details_dj" v-if="typeView === 1">
-
- <div class="details_dj_list">
- <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists">
- <u-swipe-action v-for="(item, index) in djData" :key="index">
- <u-swipe-action-item :options="options" @click="dele(item.id)">
- <div class="details_dj_list_item">
- <span>{{ item.attrName }}锛歿{ item.val }}</span>
- <span>{{ item.userName }} {{ item.createTime }}</span>
- </div>
- </u-swipe-action-item>
- </u-swipe-action>
- </scroll-view>
- <!-- <u-swipe-action>
- <u-swipe-action-item v-for="(item, index) in djData" :key="index" :options="options"
- @click="dele(item.id)">
- <div class="details_dj_list_item">
- <span>{{ item.attrName }}锛歿{ item.val }}</span>
- <span>{{ item.userName }} {{ item.createTime }}</span>
- </div>
- </u-swipe-action-item>
- </u-swipe-action> -->
- </div>
- </div>
- <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
- <template>
- <div class="bh_zw"></div>
- <div class="bg_footer bg_f7">
- <div class="bg_footer_submit bg_m" v-if="typeView == 0" @click="submit">纭鎶ュ伐</div>
- <!-- proxy.$auth('h5:workorder:processRecord') && -->
- <div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1">
- <image src="../../../static/gongdan_ic_shoudong@2x.png" class="fornt-img" mode=""></image>
- <span>鏂板鐐规</span>
- </div>
- </div>
- </template>
- <u-datetime-picker :show="TimeShow" @cancel="TimeShow=false" @confirm="timeConfirm" v-model="form.time"
- mode="time"></u-datetime-picker>
- <u-popup :show="badShow" @close="badShow=false" :round="8" closeable zIndex="20000">
- <view class="rp p40 contanir">
- <view class="c2 b tc">涓嶈壇椤�</view>
- <view class="content bl_list">
- <div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
- <div class="bl_list_item_left">
- <u-checkbox-group>
- <u-checkbox :checked="item.active" :label="item.name"
- :name="item.name">
- </u-checkbox>
- </u-checkbox-group>
- </div>
- <div class="bl_list_item_right">
- <input type="number" @click.stop v-model="item.num" placeholder="0" />
- </div>
- </div>
- </view>
- <view class="flex ap tc bottom-view">
- <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view>
- </view>
- </view>
- </u-popup>
+
</view>
</template>
<script>
- import workOrderInfo from '@/components/workOrderInfo.vue'
- import {
- getBarcodeContent,
- queryById,
- getOrocessRecord,
- deleteCT,
- updateById,
- comfirmDone,
- comfirmDoneStandard,
- getListByCondition,
- allForStandard,
- pageDJ,
- deletedj,
- dealWorkorderRecordStandard,
- getWorkorderRecordListStandard,
- createMaterial,
- createMaterialStandard
- } from '@/util/api/WorkOrderAPI'
- import {
- categoryExtList,
- queryOne,
- queryList
- } from '@/util/api/PlanningAPI'
- import { REGULAR } from '@/util/utils'
+ import workOrderInfo from '@/components/workOrderInfo.vue'
+ import {
+ getBarcodeContent,
+ queryById,
+ getOrocessRecord,
+ deleteCT,
+ updateById,
+ comfirmDone,
+ comfirmDoneStandard,
+ getListByCondition,
+ allForStandard,
+ pageDJ,
+ deletedj,
+ dealWorkorderRecordStandard,
+ getWorkorderRecordListStandard,
+ createMaterial,
+ createMaterialStandard
+ } from '@/util/api/WorkOrderAPI'
+ import {
+ categoryExtList,
+ queryOne,
+ queryList
+ } from '@/util/api/PlanningAPI'
+ import {
+ REGULAR
+ } from '@/util/utils'
export default {
components: {
workOrderInfo
},
data() {
- return {
+ return {
workorderId: '',
cate: [{
name: '鐢熶骇'
},
{
name: '鐐规'
- }],
+ }
+ ],
form: {
time: '',
efective: [],
@@ -287,7 +167,7 @@
duration: 0,
type: 0,
index: 0
- },
+ },
info: {},
TimeShow: false,
badShow: false,
@@ -308,21 +188,22 @@
undesirable: 5 // 涓嶈壇
},
djData: [],
- cateList: [],
+ cateList: [],
finished: true,
};
- },
- onLoad(obj) {
- this.workorderId = obj.id
- this.queryByIds()
- this.getOrocessRecords()
- this.getData()
- uni.$on('spotAdd', () => {
- if (this.typeView == 1) {
- this.pages.page = 1
- this.pageDJs()
- }
- })
+ },
+ onLoad(obj) {
+ this.workorderId = obj.id
+ this.queryByIds()
+ this.getOrocessRecords()
+ this.getData()
+ this.getOrocessRecordCC()
+ uni.$on('spotAdd', () => {
+ if (this.typeView == 1) {
+ this.pages.page = 1
+ this.pageDJs()
+ }
+ })
},
computed: {
expectedSalary() {
@@ -364,36 +245,36 @@
// return Number(from.qualified) * infoBox.value.salary;
}
}
- },
+ },
methods: {
- getData() {
- categoryExtList({
- cateType: "3"
- }).then(res => {
- if (res.code === 200) {
- res.data.forEach(item => {
- item.active = false
- item.num = ''
- })
- this.cateList = res.data
- }
- })
+ getData() {
+ categoryExtList({
+ cateType: "3"
+ }).then(res => {
+ if (res.code === 200) {
+ res.data.forEach(item => {
+ item.active = false
+ item.num = ''
+ })
+ this.cateList = res.data
+ }
+ })
},
clickIten(index) {
- this.typeView = index
- if (this.typeView == 1) {
- this.pages.page = 1
- this.finished = true
- this.pageDJs()
+ this.typeView = index
+ if (this.typeView == 1) {
+ this.pages.page = 1
+ this.finished = true
+ this.pageDJs()
}
- },
- getLists() {
- if (!this.finished) {
- return
- }
- this.finished = false
- this.pages.page += 1
- this.pageDJs()
+ },
+ getLists() {
+ if (!this.finished) {
+ return
+ }
+ this.finished = false
+ this.pages.page += 1
+ this.pageDJs()
},
timeConfirm({
value
@@ -418,166 +299,183 @@
if (type === 'T') {
if (unitAttribute == 0 && num != '') {
if (!REGULAR.positiveInteger.test(num)) {
- obj.num = obj.ynum
+ obj.num = obj.ynum
uni.$u.toast('鍙兘杈撳叆姝f暣鏁�')
return
}
}
if (unitAttribute == 1 && num != '') {
- if (!REGULAR.number.test(num)) {
+ if (!REGULAR.number.test(num)) {
uni.$u.toast('鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級')
-
+
obj.num = obj.ynum
return
}
}
if (num > maxNum) {
- obj.num = obj.ynum
+ obj.num = obj.ynum
uni.$u.toast('瓒呭嚭宸ヨ鎬绘暟')
-
+
return
}
} else if (type === 'C' && num > info.value.planNum) {
- obj.num = obj.ynum
+ obj.num = obj.ynum
uni.$u.toast('浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺')
-
+
return
}
-
+
},
clickPerformanceType(item, index) {
this.form.index = index
this.form.type = item.type
},
- submit() {
-
+ submit() {
+
},
- jumpdj() {
+ jumpdj() {
+ uni.navigateTo({
+ url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}`
+ })
+ },
+ proRecord() {
uni.navigateTo({
- url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}`
+ url: `/pages_inspect/pages/InspectionRecords/InspectionRecords?id=${this.workorderId}`
})
},
- pageDJs() {
- pageDJ({
- capacity: this.pages.capacity,
- page: this.pages.page,
- model: {
- workorderId: this.workorderId
- }
- }).then(res => {
- let {data} = res
- if (data.page == 1) {
- this.djData = []
- }
- this.djData.push(...data.records)
- // loading.value = false
- }).catch(err => {
- // loading.value = false
- // finished.value = true
- })
- .finally(() => {
- this.finished = true
- })
+ pageDJs() {
+ pageDJ({
+ capacity: this.pages.capacity,
+ page: this.pages.page,
+ model: {
+ workorderId: this.workorderId
+ }
+ }).then(res => {
+ let {
+ data
+ } = res
+ if (data.page == 1) {
+ this.djData = []
+ }
+ this.djData.push(...data.records)
+ // loading.value = false
+ }).catch(err => {
+ // loading.value = false
+ // finished.value = true
+ })
+ .finally(() => {
+ this.finished = true
+ })
},
dele(id) {
deletedj(id)
- .then(res => {
- if (res.code === 200) {
- this.finished = false
- this.pages.page = 1
- this.pageDJs()
- }
- })
+ .then(res => {
+ if (res.code === 200) {
+ this.finished = false
+ this.pages.page = 1
+ this.pageDJs()
+ }
+ })
},
- confirm() {
- let isOpen = false
- this.cateList.forEach((item, index) => {
- if (item.active) {
- isOpen = true
- }
- })
- if (!isOpen) {
- uni.showToast({
- title: '璇烽�夋嫨涓嶈壇椤�',
- duration: 2000,
- icon: 'none'
- })
- return
- }
- let arr = []
- let total = 0
- let name = ''
- this.cateList.forEach((item, index) => {
- if (item.active) {
- if (item.num <= 0) {
- uni.showToast({
- title: '涓嶈壇鏁伴噺蹇呴』澶т簬0',
- duration: 2000,
- icon: 'none'
- })
- return
- }
- total = total += item.num
- arr.push(item)
- name += item.name + item.num + '锛�'
- }
- })
- if (total != Number(this.produceFrom.undesirable)) {
- uni.showToast({
- title: '涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟',
- duration: 2000,
- icon: 'none'
- })
- return
- }
- this.form.defective = arr
+ confirm() {
+ let isOpen = false
+ this.cateList.forEach((item, index) => {
+ if (item.active) {
+ isOpen = true
+ }
+ })
+ if (!isOpen) {
+ uni.showToast({
+ title: '璇烽�夋嫨涓嶈壇椤�',
+ duration: 2000,
+ icon: 'none'
+ })
+ return
+ }
+ let arr = []
+ let total = 0
+ let name = ''
+ this.cateList.forEach((item, index) => {
+ if (item.active) {
+ if (item.num <= 0) {
+ uni.showToast({
+ title: '涓嶈壇鏁伴噺蹇呴』澶т簬0',
+ duration: 2000,
+ icon: 'none'
+ })
+ return
+ }
+ total = total += item.num
+ arr.push(item)
+ name += item.name + item.num + '锛�'
+ }
+ })
+ if (total != Number(this.produceFrom.undesirable)) {
+ uni.showToast({
+ title: '涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟',
+ duration: 2000,
+ icon: 'none'
+ })
+ return
+ }
+ this.form.defective = arr
this.form.defectiveName = name
this.badShow = false
},
changeChecked(i) {
this.cateList[i].active = !this.cateList[i].active
- },
- queryByIds() {
- queryById(this.workorderId)
- .then(res => {
- this.info = res.data
- queryList({
- deleted: 0,
- departId: res.data.factoryId,
- materialId: res.data.materialId,
- procedureId: res.data.procedureId
- }).then(result => {
- if (result.code === 200) {
- if (result.data && result.data.length > 0) {
- result.data.forEach((item, index) => {
- item.name = item.type == 0 ? '璁′欢' : '璁℃椂'
- item.id = item.type
- item.active = index == 0
- })
- this.arrType = result.data
- } else {
- this.arrType = []
- }
- }
- })
- })
- },
- getOrocessRecords() {
- this.feedingData = []
- allForStandard({
- workorderId: this.workorderId,
- type: 0
- }).then(res => {
- if (res.code === 200) {
- this.feedingData = res.data
- }
- })
- },
- jumpTL() {
- uni.navigateTo({
- // url: ''
- url: `/pages_adjust/pages/manualFeed/manualFeed?id=${this.workorderId}`
- })
+ },
+ queryByIds() {
+ queryById(this.workorderId)
+ .then(res => {
+ this.info = res.data
+ queryList({
+ deleted: 0,
+ departId: res.data.factoryId,
+ materialId: res.data.materialId,
+ procedureId: res.data.procedureId
+ }).then(result => {
+ if (result.code === 200) {
+ if (result.data && result.data.length > 0) {
+ result.data.forEach((item, index) => {
+ item.name = item.type == 0 ? '璁′欢' : '璁℃椂'
+ item.id = item.type
+ item.active = index == 0
+ })
+ this.arrType = result.data
+ } else {
+ this.arrType = []
+ }
+ }
+ })
+ })
+ },
+ getOrocessRecords() {
+ this.feedingData = []
+ allForStandard({
+ workorderId: this.workorderId,
+ type: 0
+ }).then(res => {
+ if (res.code === 200) {
+ this.feedingData = res.data
+ }
+ })
+ },
+ getOrocessRecordCC() {
+ getWorkorderRecordListStandard({
+ workorderId: this.workorderId
+ }).then(res => {
+ if (res.data.length > 0) {
+ this.produceFrom.qualified = res.data[0].qualifiedNum
+ this.produceFrom.undesirable = res.data[0].unqualifiedNum
+ }
+ })
+ },
+ jumpTL() {
+ uni.navigateTo({
+ // url: ''
+ url: `/pages_adjust/pages/manualFeed/manualFeed?id=${this.workorderId}`
+ })
}
}
}
@@ -838,9 +736,9 @@
display: flex;
align-items: center;
justify-content: flex-end;
-
+ font-size: 28rpx;
.color1 {
- font-size: 28rpx;
+
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
--
Gitblit v1.9.3