| | |
| | | <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"> |
| | |
| | | <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}} |
| | | <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> |
| | | <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}} |
| | | <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> |
| | | |
| | | <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 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> |
| | | </div> |
| | | <view class="fx1"> |
| | | |
| | | </view> |
| | | |
| | | |
| | | <!-- <u-calendar :show="isOpenDate" mode="range" @confirm="dateConfirm"></u-calendar> --> |
| | | <l-calendar :lunar="false" v-model="isOpenDate" @change="dateConfirm" :isRange="true" activeBgColor="#305ED5" |
| | | <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> |
| | |
| | | getList, |
| | | pageCount |
| | | } from '@/util/api/WorkOrderAPI.js' |
| | | import { |
| | | gsdate |
| | | } from '@/util/utils.js' |
| | | import { gsdate } from '@/util/utils.js' |
| | | export default { |
| | | components: { |
| | | vSearch, |
| | |
| | | num: '0' |
| | | } |
| | | ], |
| | | height: '', |
| | | triggered: false, |
| | | _freshing: false, |
| | | searchForm: { |
| | |
| | | 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() |
| | |
| | | this.searchForm = { |
| | | mixParam: '', |
| | | startDate: '', |
| | | // endDate: gsdate(new Date()), |
| | | endDate: '', |
| | | endDate: gsdate(new Date()), |
| | | statusList: [] |
| | | } |
| | | this.search() |
| | | }, |
| | | searchInput(data) { |
| | | this.searchForm.mixParam = data |
| | | this.search() |
| | | this.page.page = 1 |
| | | this.pageCounts() |
| | | this.loadData() |
| | | }, |
| | | loadData() { |
| | | |
| | | getList({ |
| | | ...this.page, |
| | | model: { |
| | |
| | | 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 => { |
| | | console.log(res); |
| | | if (res.code === 200) { |
| | | this.tagList[0].num = String(res.data.startNum) |
| | | this.tagList[1].num = String(res.data.ingNum) |
| | |
| | | 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 |
| | |
| | | onRefresh() { |
| | | if (this.triggered) return |
| | | this.triggered = true; |
| | | this.search() |
| | | this.page.page = 1 |
| | | this.loadData() |
| | | }, |
| | | search() { |
| | | this.page.page = 1 |
| | | this.loadData() |
| | | this.pageCounts() |
| | | }, |
| | | jump(item) { |
| | | // uni.navigateTo({ |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | height: 100vh; |
| | | |
| | | .content_search { |
| | | background: white; |
| | | z-index: 9; |