| | |
| | | <div class="Search_item_label">计划日期</div>
|
| | | <div class="Search_item_content" @click="isOpenDate=true">
|
| | | <div class="Search_item_content_a" :style="form.startDate ? 'color: #000;' : ''">
|
| | | {{ form.startDate ? form.startDate : '开始日期'}}</div>
|
| | | {{ form.startDate ? form.startDate : '开始日期'}}
|
| | | </div>
|
| | | <span>-</span>
|
| | | <div class="Search_item_content_a" :style="form.endDate ? 'color: #000;' : ''">
|
| | | {{ form.endDate ? form.endDate : '结束日期'}}</div>
|
| | | {{ form.endDate ? form.endDate : '结束日期'}}
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </template>
|
| | |
| | | <div class="content_search_x"></div>
|
| | | <v-LableSelection :TagList="tagList" :isShow="true" @change="clickTag"></v-LableSelection>
|
| | | </div>
|
| | | <div class="content_total">共{{page.total}}条数据</div> |
| | | <div class="content_list"> |
| | | <u-list @scrolltolower="scrolltolower" @scrolltoupper="scrolltoupper"> |
| | | <u-list-item v-for="(item, i) in list" :key="i"> |
| | | <div class="content_list_item" @click="jump(item)"> |
| | | <div class="content_list_item_top"> |
| | | <div class="content_list_item_top_left"> |
| | | <span 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_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> |
| | | </div> |
| | | </div> |
| | | <span>工单编码: {{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.name}} |
| | | </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> |
| | | </u-list-item> |
| | | </u-list> |
| | | <div class="content_total">共{{page.total}}条数据</div>
|
| | | <div class="content_list">
|
| | | <scroll-view scroll-y="true" refresher-enabled="true" :refresher-triggered="refreshing"
|
| | | @scrolltolower="loadMore" @refresherrefresh="onRefresh" :style="{height: height}">
|
| | | <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 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_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>
|
| | | </div>
|
| | | </div>
|
| | | <span>工单编码: {{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.name}}
|
| | | </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>
|
| | | <!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
|
| | | <van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了~" @load="onLoad">
|
| | | </van-list>
|
| | | </van-pull-refresh> --> |
| | | <u-calendar :show="isOpenDate" mode="range" @close="isOpenDate=false" @confirm="onConfirm"></u-calendar>
|
| | | <!-- <van-calendar v-model:show="isOpenDate" type="range" :min-date="minDate" :max-date="maxDate" color="#4275FC"
|
| | | @confirm="onConfirm" /> -->
|
| | | <!-- <v-ScanCode
|
| | | :openCode="openCode"
|
| | | :infos="['第一次扫码']"
|
| | | @closePopup="closePopup"
|
| | | @onDecode="onDecode">
|
| | | </v-ScanCode> -->
|
| | | </van-pull-refresh> -->
|
| | |
|
| | | <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>
|
| | |
|
| | | <script> |
| | | import vSearch from '@/components/Search.vue' |
| | | import vLableSelection from '@/components/LabelSelection.vue' |
| | | import { gsdate } from '@/util/utils'
|
| | | export default { |
| | | components: { |
| | | vSearch, |
| | | vLableSelection |
| | | <script>
|
| | | import vSearch from '@/components/Search.vue'
|
| | | import vLableSelection from '@/components/LabelSelection.vue'
|
| | | import {
|
| | | gsdate
|
| | | } from '@/util/utils'
|
| | | import {
|
| | | getList,
|
| | | pageCount
|
| | | } from '@/util/api/WorkOrderAPI'
|
| | | export default {
|
| | | components: {
|
| | | vSearch,
|
| | | vLableSelection
|
| | | },
|
| | | data() {
|
| | | return {
|
| | | status: true, |
| | | isOpenDate: false, |
| | | // tagList: [1,2,3], |
| | | form: { |
| | | startDate: '', |
| | | endDate: '' |
| | | }, |
| | | list: [ |
| | | { |
| | | mmodel: { name: 'adsa', }, |
| | | mmodel: { code: 'wl-001' }, |
| | | umodel: { name: '吨' }, |
| | | pgmodel: { name: '液压机' }, |
| | | procedureName: '压制', |
| | | urgent: 10, |
| | | paused: 0, |
| | | status: 0, |
| | | code: '00100', |
| | | planDate: '2023-08-30', |
| | | batch: 'kk-yw', |
| | | planNum: 300, |
| | | proNum: 100, |
| | | }, |
| | | { |
| | | mmodel: { name: 'adsa', }, |
| | | mmodel: { code: 'wl-001' }, |
| | | umodel: { name: '吨' }, |
| | | pgmodel: { name: '液压机' }, |
| | | procedureName: '压制', |
| | | urgent: 10, |
| | | paused: 0, |
| | | status: 1, |
| | | code: '00100', |
| | | planDate: '2023-08-30', |
| | | batch: 'kk-yw', |
| | | planNum: 300, |
| | | proNum: 100 |
| | | }, |
| | | { |
| | | mmodel: { name: 'adsa', }, |
| | | mmodel: { code: 'wl-001' }, |
| | | umodel: { name: '吨' }, |
| | | pgmodel: { name: '液压机' }, |
| | | procedureName: '压制', |
| | | urgent: 10, |
| | | paused: 0, |
| | | status: 2, |
| | | code: '00100', |
| | | planDate: '2023-08-30', |
| | | batch: 'kk-yw', |
| | | planNum: 300, |
| | | proNum: 100, |
| | | }, |
| | | { |
| | | mmodel: { name: 'adsa', }, |
| | | mmodel: { name: '物料001', code: 'wl-001' }, |
| | | umodel: { name: '吨' }, |
| | | pgmodel: { name: '液压机' }, |
| | | procedureName: '压制', |
| | | urgent: 10, |
| | | paused: 0, |
| | | status: 3, |
| | | code: '00100', |
| | | planDate: '2023-08-30', |
| | | batch: 'kk-yw', |
| | | planNum: 300, |
| | | proNum: 100, |
| | | }, |
| | | { |
| | | mmodel: { name: 'adsa', }, |
| | | mmodel: { code: 'wl-001' }, |
| | | umodel: { name: '吨' }, |
| | | pgmodel: { name: '液压机' }, |
| | | procedureName: '压制', |
| | | urgent: 10, |
| | | paused: 0, |
| | | status: 4, |
| | | code: '00100', |
| | | planDate: '2023-08-30', |
| | | batch: 'kk-yw', |
| | | planNum: 300, |
| | | proNum: 100, |
| | | }, |
| | | { |
| | | mmodel: { name: 'adsa', }, |
| | | mmodel: { code: 'wl-001' }, |
| | | umodel: { name: '吨' }, |
| | | pgmodel: { name: '液压机' }, |
| | | procedureName: '压制', |
| | | urgent: 10, |
| | | paused: 0, |
| | | status: 5, |
| | | code: '00100', |
| | | planDate: '2023-08-30', |
| | | batch: 'kk-yw', |
| | | planNum: 300, |
| | | proNum: 100, |
| | | }, |
| | | { |
| | | mmodel: { name: 'adsa', }, |
| | | mmodel: { code: 'wl-001' }, |
| | | umodel: { name: '吨' }, |
| | | pgmodel: { name: '液压机' }, |
| | | procedureName: '压制', |
| | | urgent: 10, |
| | | paused: 0, |
| | | status: 6, |
| | | code: '00100', |
| | | planDate: '2023-08-30', |
| | | batch: 'kk-yw', |
| | | planNum: 300, |
| | | proNum: 100, |
| | | }, |
| | | { |
| | | mmodel: { name: 'adsa', }, |
| | | mmodel: { code: 'wl-001' }, |
| | | umodel: { name: '吨' }, |
| | | pgmodel: { name: '液压机' }, |
| | | procedureName: '压制', |
| | | urgent: 10, |
| | | paused: 0, |
| | | status: 7, |
| | | code: '00100', |
| | | planDate: '2023-08-30', |
| | | batch: 'kk-yw', |
| | | planNum: 300, |
| | | proNum: 100, |
| | | }, |
| | | ], |
| | | page: { |
| | | size: 10, |
| | | index: 1, |
| | | total: 0 |
| | | height: '',
|
| | | status: true,
|
| | | isOpenDate: false,
|
| | | refreshing: false,
|
| | | // tagList: [1,2,3],
|
| | | tagList: [{ |
| | | id: [2,3,7], |
| | | name: '生产中', |
| | | num: '' |
| | | }],
|
| | | minDate: '2021-01-01',
|
| | | maxDate: '',
|
| | | form: {
|
| | | startDate: '',
|
| | | endDate: '',
|
| | | mixParam: '',
|
| | | statusList: []
|
| | | },
|
| | | list: [],
|
| | | page: {
|
| | | capacity: 10,
|
| | | index: 1,
|
| | | total: 0
|
| | | }
|
| | | };
|
| | | }, |
| | | methods: { |
| | | reset() {}, |
| | | submit() {}, |
| | | onConfirm(value) { |
| | | const [start, end] = value |
| | | this.form.startDate = gsdate(start) |
| | | this.form.endDate = gsdate(end) |
| | | this.isOpenDate = false |
| | | }, |
| | | scrolltolower() {}, |
| | | scrolltoupper() {}, |
| | | jump(item) { |
| | | uni.$emit('workOrder', item) |
| | | uni.navigateBack() |
| | | } |
| | | },
|
| | | onLoad(opt) {
|
| | | this.$nextTick(() => {
|
| | | uni.createSelectorQuery().in(this).select('.content_search').boundingClientRect((rect) => {
|
| | | this.height = `calc(100vh - ${rect.height + 80}px)`
|
| | | }).exec()
|
| | | })
|
| | | if (opt.type == '1') {
|
| | | this.tagList = [{
|
| | | id: [0, 1],
|
| | | name: '待生产',
|
| | | num: ''
|
| | | },
|
| | | {
|
| | | id: [2, 3, 7],
|
| | | name: '生产中',
|
| | | num: ''
|
| | | }
|
| | | ]
|
| | | } else {
|
| | | this.tagList = [{
|
| | | id: [2, 3, 7],
|
| | | name: '生产中',
|
| | | num: ''
|
| | | }]
|
| | | }
|
| | | this.maxDate = gsdate(new Date(`${new Date().getFullYear() + 1}-12-30`))
|
| | | this.pageCounts()
|
| | | this.loadData()
|
| | | },
|
| | | methods: {
|
| | | reset() {
|
| | | this.form.startDate = ''
|
| | | this.form.endDate = ''
|
| | | this.search()
|
| | | },
|
| | | searchInput(val) {
|
| | | this.form.mixParam = val;
|
| | | this.search()
|
| | | },
|
| | | clickTag(v) {
|
| | | this.form.statusList = v
|
| | | this.search()
|
| | | },
|
| | | submit() {
|
| | | this.search()
|
| | | },
|
| | | onConfirm(value) {
|
| | | this.form.startDate = value.startDate
|
| | | this.form.endDate = value.endDate
|
| | | this.isOpenDate = false
|
| | | },
|
| | | onRefresh() {
|
| | | if (this.refreshing) return
|
| | | this.refreshing = true;
|
| | | this.search()
|
| | | },
|
| | | loadMore() {
|
| | | this.page.page += 1
|
| | | this.loadData()
|
| | | },
|
| | | search() {
|
| | | this.page.page = 1
|
| | | this.loadData()
|
| | | },
|
| | | loadData() {
|
| | | getList({
|
| | | ...this.page,
|
| | | model: { |
| | | ...this.form, |
| | | statusList: this.form.statusList.length === 0 ? this.tagList[0].id : this.form.statusList |
| | | } |
| | | })
|
| | | .then(res => {
|
| | | let {
|
| | | data
|
| | | } = res
|
| | | if (data.page == 1) {
|
| | | this.list = []
|
| | | }
|
| | | this.list.push(...data.records)
|
| | | this.page.total = data.total
|
| | | this.page.page = data.page
|
| | | })
|
| | | .catch(err => {
|
| | |
|
| | | })
|
| | | .finally(() => {
|
| | | this.refreshing = false
|
| | | })
|
| | | },
|
| | | pageCounts() {
|
| | | pageCount({}).then(res => {
|
| | | if (res.code === 200) {
|
| | | this.tagList.forEach(item => {
|
| | | if (item.name == '待生产') {
|
| | | item.num = res.data.startNum
|
| | | }
|
| | | if (item.name == '生产中') {
|
| | | item.num = res.data.ingNum
|
| | | }
|
| | | if (item.name == '已完成') {
|
| | | item.num = res.data.endNum
|
| | | }
|
| | | })
|
| | | }
|
| | | })
|
| | | },
|
| | | jump(item) {
|
| | | uni.$emit('workOrder', item)
|
| | | uni.navigateBack()
|
| | | }
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
| | |
|
| | | .content_list {
|
| | | width: 100%;
|
| | | height: 100%;
|
| | | // height: 100%;
|
| | | display: flex;
|
| | | flex-direction: column;
|
| | |
|