| | |
| | | </div>
|
| | | <div class="details_dj" v-if="typeView === 1">
|
| | |
|
| | | <div class="details_dj_list">
|
| | | <u-swipe-action>
|
| | | <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.userName }} {{ item.createTime }}</span>
|
| | | </div>
|
| | | </u-swipe-action-item>
|
| | | </u-swipe-action>
|
| | | </u-swipe-action> -->
|
| | | </div>
|
| | | </div>
|
| | | <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
|
| | |
| | | <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'
|
| | | } 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: [],
|
| | |
| | | TimeShow: false,
|
| | | badShow: false,
|
| | | typeView: 0,
|
| | | feedingData: [{
|
| | | id: 0,
|
| | | materialName: '墙体砖',
|
| | | procedureName: '压制',
|
| | | qualityType: 1,
|
| | | locationName: 'CP-01',
|
| | | batch: '20230713',
|
| | | num: 2,
|
| | | maxNum: 10,
|
| | | unitAttribute: 1,
|
| | | unitName: '块'
|
| | | }],
|
| | | feedingData: [],
|
| | | options: [{
|
| | | text: '删除',
|
| | | style: {
|
| | | backgroundColor: 'red',
|
| | | }
|
| | | }],
|
| | | arrType: [{
|
| | | name: '计时',
|
| | | type: 1,
|
| | | salary: 1000,
|
| | | },
|
| | | {
|
| | | name: '计件',
|
| | | type: 0,
|
| | | salary: 100
|
| | | },
|
| | | ],
|
| | | arrType: [],
|
| | | // 产出合格/不良
|
| | | produceFrom: {
|
| | | qualifiedId: '',
|
| | |
| | | undesirableId: '',
|
| | | undesirable: 5 // 不良
|
| | | },
|
| | | djData: [{
|
| | | attrName: '出水时间',
|
| | | val: '2022-05-28 16:3',
|
| | | userName: '张三 ',
|
| | | createTime: '2022-05-28 16:32:'
|
| | | }],
|
| | | cateList: [{
|
| | | active: false,
|
| | | name: '毛刺',
|
| | | num: 0
|
| | | }]
|
| | | djData: [],
|
| | | 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() |
| | | } |
| | | }) |
| | | },
|
| | | computed: {
|
| | | expectedSalary() {
|
| | |
| | | }
|
| | | }
|
| | | }, |
| | | onLoad(obj) { |
| | | this.workorderId = obj.id |
| | | queryById(this.workorderId) |
| | | .then(res => { |
| | | methods: {
|
| | | getData() { |
| | | categoryExtList({ |
| | | cateType: "3" |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.info = res.data |
| | | this.deviceId = res.data.pgmodel.id |
| | | res.data.forEach(item => { |
| | | item.active = false |
| | | item.num = '' |
| | | }) |
| | | this.cateList = res.data |
| | | } |
| | | }) |
| | | },
|
| | | methods: {
|
| | | click() {
|
| | |
|
| | | },
|
| | | clickIten(index) {
|
| | | this.typeView = index
|
| | | 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() |
| | | },
|
| | | timeConfirm({
|
| | | value
|
| | |
| | | if (type === 'T') {
|
| | | if (unitAttribute == 0 && num != '') {
|
| | | if (!REGULAR.positiveInteger.test(num)) {
|
| | | obj.num = obj.ynum
|
| | | Toast({
|
| | | message: '只能输入正整数'
|
| | | })
|
| | | obj.num = obj.ynum |
| | | uni.$u.toast('只能输入正整数')
|
| | | return
|
| | | }
|
| | | }
|
| | | if (unitAttribute == 1 && num != '') {
|
| | | if (!REGULAR.number.test(num)) {
|
| | | Toast({
|
| | | message: '只能输入正整数或小数(最多四位)'
|
| | | })
|
| | | if (!REGULAR.number.test(num)) { |
| | | uni.$u.toast('只能输入正整数或小数(最多四位)')
|
| | | |
| | | obj.num = obj.ynum
|
| | | return
|
| | | }
|
| | | }
|
| | | if (num > maxNum) {
|
| | | obj.num = obj.ynum
|
| | | Toast.fail({
|
| | | message: '超出工装总数'
|
| | | })
|
| | | obj.num = obj.ynum |
| | | uni.$u.toast('超出工装总数')
|
| | | |
| | | return
|
| | | }
|
| | | } else if (type === 'C' && num > info.value.planNum) {
|
| | | obj.num = obj.ynum
|
| | | Toast.fail({
|
| | | message: '产出数量不能超过计划数量'
|
| | | })
|
| | | obj.num = obj.ynum |
| | | uni.$u.toast('产出数量不能超过计划数量')
|
| | | |
| | | return
|
| | | }
|
| | | // updateById({ id, num }).then(res => {
|
| | | // if (res.code === 200 && type === 'T') {
|
| | | // getOrocessRecords()
|
| | | // } else if (res.code === 200 && type === 'C') {
|
| | | // // getOrocessRecordCC()
|
| | | // }
|
| | | // })
|
| | | |
| | | },
|
| | | clickPerformanceType(item, index) {
|
| | | this.form.index = index
|
| | | this.form.type = item.type
|
| | | },
|
| | | submit() {},
|
| | | jumpdj() {},
|
| | | pageDJs() {},
|
| | | submit() { |
| | | |
| | | },
|
| | | jumpdj() { |
| | | uni.navigateTo({ |
| | | url: `/pages_adjust/pages/spotCheck/spotCheck?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 |
| | | }) |
| | | },
|
| | | dele(id) {
|
| | | // deletedj(id)
|
| | | // .then(res => {
|
| | | // if (res.code === 200) {
|
| | | // djData.value = []
|
| | | // finished.value = false
|
| | | // page.page = 1
|
| | | // djData.value = []
|
| | | // pageDJs()
|
| | | // }
|
| | | // })
|
| | | deletedj(id)
|
| | | .then(res => {
|
| | | if (res.code === 200) {
|
| | | this.finished = false
|
| | | this.pages.page = 1
|
| | | this.pageDJs()
|
| | | }
|
| | | })
|
| | | },
|
| | | confirm() { |
| | | // console.log('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}` |
| | | }) |
| | | }
|
| | | }
|
| | | }
|