Mr.Zhang
2023-09-06 a89fe32c353040bbb95d7519cf7bafc4b5934f10
minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
@@ -180,8 +180,18 @@
      </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">
@@ -189,7 +199,7 @@
                     <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" -->
@@ -234,23 +244,41 @@
<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: [],
@@ -264,35 +292,14 @@
            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: '',
@@ -300,18 +307,22 @@
               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() {
@@ -354,22 +365,35 @@
            }
         }
      },
      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
@@ -394,69 +418,166 @@
            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}`
            })
         }
      }
   }