jiangping
2023-10-26 ea87c908fb6cdfc3e227a584a53e6730efb8262a
minipro_standard/pages_adjust/pages/workOrder/workOrder.vue
@@ -1,7 +1,7 @@
<template>
   <view class="content p30 bbox">
      <div class="content_search">
         <v-Search @searchInput="searchInput" @submit="search" @reset="reset" :isShow="true"
         <v-Search @searchInput="searchForm.mixParam" @submit="search" @reset="reset" :isShow="true"
            placeholder="搜索工单编码/工序名称">
            <template v-slot:content>
               <div class="Search_item">
@@ -21,72 +21,69 @@
         <div class="content_search_x"></div>
         <v-LableSelection :TagList="tagList" :isShow="true" @change="clickTag"></v-LableSelection>
      </div>
      <div class="content_total mt20">共{{page.total}}条数据</div>
      <div class="content_list">
         <scroll-view scroll-y="true" :style="{height:height}" refresher-enabled="true"
            :refresher-triggered="triggered" @scrolltolower="getLists" @refresherrefresh="onRefresh">
            <div class="content_list_item" v-for="(item, i) in list" :key="i" @click="jump(item)">
               <div class="content_list_item_top">
                  <div class="content_list_item_top_left">
                     <span class="f32" v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span>
                     <div class="content_list_item_top_left_tag" v-if="item.urgent">优先{{item.urgent}}</div>
                     <div class="content_list_item_top_left_tag backgreen" v-if="item.type === 0">正常</div>
                     <div class="content_list_item_top_left_tag backyellow" v-if="item.type === 2">返工返修</div>
                     <div class="content_list_item_top_left_tagW" v-if="item.paused === 1">停</div>
                  </div>
                  <div class="content_list_item_top_right">
                     <span class="yellow" v-if="item.status === 0">已创建</span>
                     <span class="green" v-if="item.status === 1">已备料</span>
                     <span v-if="item.status === 2">已完工检</span>
                     <span class="purple" v-if="item.status === 3">已检验</span>
                     <span v-if="item.status === 4">已报工</span>
                     <span v-if="item.status === 5">已入库</span>
                     <span v-if="item.status === 6">已取消</span>
                     <span class="green" v-if="item.status === 7">生产中</span>
                  </div>
               </div>
               <span class="f24">工单编号: {{item.code}}</span>
               <div class="content_list_item_content">
                  <div class="content_list_item_content_item">
                     <div class="content_list_item_content_item_label">物料编码:</div>
                     <div class="content_list_item_content_item_nr" v-if="item.mmodel">{{item.mmodel.code}}</div>
                  </div>
                  <div class="content_list_item_content_item">
                     <div class="content_list_item_content_item_label">计划开工:</div>
                     <div class="content_list_item_content_item_nr">{{item.planDate}}</div>
                  </div>
                  <div class="content_list_item_content_item">
                     <div class="content_list_item_content_item_label">生产批次:</div>
                     <div class="content_list_item_content_item_nr">{{item.batch}}</div>
                  </div>
                  <div class="content_list_item_content_item">
                     <div class="content_list_item_content_item_label">计划数量:</div>
                     <div class="content_list_item_content_item_nr" v-if="item.umodel">
                        {{item.planNum}}{{item.umodel.name}}
                     </div>
                  </div>
                  <div class="content_list_item_content_item">
                     <div class="content_list_item_content_item_label">生产设备:</div>
                     <div class="content_list_item_content_item_nr" v-if="item.pgmodel">{{item.pgmodel.code}}
                     </div>
                  </div>
                  <div class="content_list_item_content_item" v-if="item.status === 5">
                     <div class="content_list_item_content_item_label">完工数量:</div>
                     <div class="content_list_item_content_item_nr">{{item.proNum}}</div>
                  </div>
               </div>
            </div>
         </scroll-view>
      </div>
      <view class="fx1">
      <div class="content_total mt20">共{{page.total}}条数据</div>
      <view class="fx1">
         <scroll-view scroll-y="true" refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="getLists"
            @refresherrefresh="onRefresh">
            <div class="content_list">
               <div class="content_list_item" v-for="(item, i) in list" :key="i" @click="jump(item)">
                  <div class="content_list_item_top">
                     <div class="content_list_item_top_left">
                        <span class="f32" v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span>
                        <div class="content_list_item_top_left_tag" v-if="item.urgent">优先{{item.urgent}}</div>
                        <div class="content_list_item_top_left_tag backgreen" v-if="item.type === 0">正常</div>
                        <div class="content_list_item_top_left_tag backyellow" v-if="item.type === 2">返工返修</div>
                        <div class="content_list_item_top_left_tagW" v-if="item.paused === 1">停</div>
                     </div>
                     <div class="content_list_item_top_right">
                        <span class="yellow" v-if="item.status === 0">已创建</span>
                        <span class="green" v-if="item.status === 1">已备料</span>
                        <span v-if="item.status === 2">已完工检</span>
                        <span class="purple" v-if="item.status === 3">已检验</span>
                        <span v-if="item.status === 4">已报工</span>
                        <span v-if="item.status === 5">已入库</span>
                        <span v-if="item.status === 6">已取消</span>
                        <span class="green" v-if="item.status === 7">进行中</span>
                     </div>
                  </div>
                  <span class="f24">工单编号: {{item.code}}</span>
                  <div class="content_list_item_content">
                     <div class="content_list_item_content_item">
                        <div class="content_list_item_content_item_label">物料编码:</div>
                        <div class="content_list_item_content_item_nr" v-if="item.mmodel">{{item.mmodel.code}}</div>
                     </div>
                     <div class="content_list_item_content_item">
                        <div class="content_list_item_content_item_label">计划开工:</div>
                        <div class="content_list_item_content_item_nr">{{item.planDate}}</div>
                     </div>
                     <div class="content_list_item_content_item">
                        <div class="content_list_item_content_item_label">生产批次:</div>
                        <div class="content_list_item_content_item_nr">{{item.batch}}</div>
                     </div>
                     <div class="content_list_item_content_item">
                        <div class="content_list_item_content_item_label">计划数量:</div>
                        <div class="content_list_item_content_item_nr" v-if="item.umodel">
                           {{item.planNum}}{{item.umodel.name}}
                        </div>
                     </div>
                     <div class="content_list_item_content_item">
                        <div class="content_list_item_content_item_label">生产设备:</div>
                        <div class="content_list_item_content_item_nr" v-if="item.pgmodel">{{item.pgmodel.code}}
                        </div>
                     </div>
                     <div class="content_list_item_content_item" v-if="item.status === 5">
                        <div class="content_list_item_content_item_label">完工数量:</div>
                        <div class="content_list_item_content_item_nr">{{item.proNum}}</div>
                     </div>
                  </div>
               </div>
            </div>
         </scroll-view>
      </view>
      <!-- <u-calendar :show="isOpenDate" mode="range" @confirm="dateConfirm"></u-calendar> -->
      <l-calendar :lunar="false" v-model="isOpenDate" @change="dateConfirm" :isRange="true" activeBgColor="#305ED5"
      <!-- <u-calendar :show="isOpenDate" mode="range" @confirm="dateConfirm"></u-calendar> -->
      <l-calendar :lunar="false" v-model="isOpenDate" @change="onConfirm" :isRange="true" activeBgColor="#305ED5"
         rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar>
   </view>
</template>
@@ -97,10 +94,8 @@
   import {
      getList,
      pageCount
   } from '@/util/api/WorkOrderAPI.js'
   import {
      gsdate
   } from '@/util/utils.js'
   } from '@/util/api/WorkOrderAPI.js'
   import { gsdate } from '@/util/utils.js'
   export default {
      components: {
         vSearch,
@@ -125,7 +120,6 @@
                  num: '0'
               }
            ],
            height: '',
            triggered: false,
            _freshing: false,
            searchForm: {
@@ -142,41 +136,24 @@
            list: [],
         }
      },
      onReady() {
         var that = this
         this.$nextTick(() => {
            uni.createSelectorQuery()
               .in(this)
               .select('.content_search')
               .boundingClientRect((rect) => {
                  console.log('-----', rect);
                  that.height = `calc(100vh - ${rect.height + 80}px)`
                  that.top = `${rect.height}px`
               })
               .exec()
         })
      },
      onLoad() {
         this.pageCounts()
         this.loadData()
      },
      methods: {
         reset() {
            this.searchForm = {
               mixParam: '',
               startDate: '',
               // endDate: gsdate(new Date()),
               endDate: '',
               statusList: []
            }
            this.search()
         },
         searchInput(data) {
            this.searchForm.mixParam = data
            this.search()
      methods: {
         reset() {
            this.searchForm = {
               mixParam: '',
               startDate: '',
               endDate: gsdate(new Date()),
               statusList: []
            }
            this.page.page = 1
            this.pageCounts()
            this.loadData()
         },
         loadData() {
            getList({
                  ...this.page,
                  model: {
@@ -203,10 +180,11 @@
         pageCounts() {
            pageCount({
               ...this.searchForm,
               endDate: this.searchForm.endDate || null,
               endDate: this.searchForm.endDate || '',
               statusList: this.searchForm.statusList.length === 0 ? this.tagList[0].id : this.searchForm
                  .statusList
            }).then(res => {
            }).then(res => {
               console.log(res);
               if (res.code === 200) {
                  this.tagList[0].num = String(res.data.startNum)
                  this.tagList[1].num = String(res.data.ingNum)
@@ -220,10 +198,9 @@
            this.loadData()
         },
         dateConfirm(v) {
            console.log(v);
            this.isOpenDate = false
            this.searchForm.startDate = v.startDate
            this.searchForm.endDate = v.endDate
            this.searchForm.startDate = v[0]
            this.searchForm.endDate = v[v.length - 1]
         },
         getLists() {
            this.page.page += 1
@@ -232,24 +209,24 @@
         onRefresh() {
            if (this.triggered) return
            this.triggered = true;
            this.search()
         },
         search() {
            this.page.page = 1
            this.loadData()
            this.pageCounts()
         },
         search() {
            this.page.page = 1
            this.loadData()
         },
         jump(item) {
            // uni.navigateTo({
            //    url: `/pages_adjust/pages/OrderDetail/OrderDetail?id=${item.id}`
         jump(item) {
            // uni.navigateTo({
            //    url: `/pages_adjust/pages/OrderDetail/OrderDetail?id=${item.id}`
            // })
            if (item.status === 4 || item.status === 6 || item.paused === 1) {
               uni.navigateTo({
                  url: `/pages_adjust/pages/OrderDetail/OrderDetail?id=${item.id}`
               uni.navigateTo({
                  url: `/pages_adjust/pages/OrderDetail/OrderDetail?id=${item.id}`
               })
            } else {
               uni.navigateTo({
                  url: `/pages_adjust/pages/workOrderReporting/workOrderReporting?id=${item.id}`
            } else {
               uni.navigateTo({
                  url: `/pages_adjust/pages/workOrderReporting/workOrderReporting?id=${item.id}`
               })
            }
         }
@@ -259,10 +236,9 @@
<style lang="scss" scoped>
   .content {
      display: flex;
      flex-direction: column;
      display: flex;
      flex-direction: column;
      height: 100vh;
      .content_search {
         background: white;
         z-index: 9;