Mr.Shi
2023-08-30 177a9f745a73a1be9b068d5028edc4367d0470b0
小程序
已添加6个文件
已修改2个文件
2218 ■■■■■ 文件已修改
minipro_standard/pages.json 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages/allocation/allocation.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_adjust/pages/outboundList/outboundList.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_adjust/pages/transferList/transferList.vue 774 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_adjust/pages/warehousingDetails/warehousingDetails.vue 330 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_inspect/pages/InspectionDetails/InspectionDetails.vue 249 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_inspect/pages/InspectionRecords/InspectionRecords.vue 643 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/util/constData.js 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages.json
@@ -122,6 +122,46 @@
                        "navigationBarTitleText": "工单报工",
                        "enablePullDownRefresh": false
                    }
                },
                {
                    "path": "pages/transferList/transferList",
                    "style": {
                        "navigationBarTitleText": "转库列表",
                        "enablePullDownRefresh": false
                    }
                },
                {
                    "path": "pages/warehousingDetails/warehousingDetails",
                    "style": {
                        "navigationBarTitleText": "入库详情",
                        "enablePullDownRefresh": false
                    }
                },
                {
                    "path": "pages/outboundList/outboundList",
                    "style": {
                        "navigationBarTitleText": "出库单列表",
                        "enablePullDownRefresh": false
                    }
                }
            ]
        },
        {
            "root": "pages_inspect",
            "pages": [
                {
                    "path": "pages/InspectionRecords/InspectionRecords",
                    "style": {
                        "navigationBarTitleText": "检验记录",
                        "enablePullDownRefresh": false
                    }
                },
                {
                    "path": "pages/InspectionDetails/InspectionDetails",
                    "style": {
                        "navigationBarTitleText": "检验详情",
                        "enablePullDownRefresh": false
                    }
                }
            ]
        }
minipro_standard/pages/allocation/allocation.vue
@@ -7,21 +7,21 @@
                    <text>计划生产数量:</text>
                </view>
                <view class="fp_list_item_right">
                    <input type="number" v-model="form.num" placeholder="请输入" />
                    <u--input placeholder="请输入" :customStyle="{width: '180rpx'}" inputAlign="right" type="number" border="surround" v-model="form.num"></u--input>
                </view>
            </view>
            <view class="fp_list_item" @click="timeShow = true">
            <view class="fp_list_item">
                <view class="fp_list_item_left">
                    <text style="color: #f00;">*</text>
                    <text>计划开工日期:</text>
                </view>
                <view class="fp_list_item_right">
                <view class="fp_list_item_right" @click="timeShow = true">
                    <text class="black" v-if="form.startTime">{{form.startTime}}</text>
                    <text v-else>å¹´ / æœˆ / æ—¥</text>
                    <u-icon name="arrow-right" color="#999999"></u-icon>
                </view>
            </view>
            <view class="fp_list_item" @click="openSB">
            <view class="fp_list_item" @click="show = true">
                <view class="fp_list_item_left">
                    <text>生产设备</text>
                </view>
@@ -36,8 +36,8 @@
                    <text>生产人员</text>
                </view>
                <view class="fp_list_item_right">
                    <u-checkbox-group v-model="form.personnelId" direction="horizontal" v-show="personnelData.length > 0">
                        <u-checkbox :name="item.id" v-for="(item, index) in personnelData" :key="index" checked-color="#4275FC">{{item.text}}</u-checkbox>
                    <u-checkbox-group v-model="form.personnelId" v-show="personnelData.length > 0">
                        <u-checkbox :name="item.id" v-for="(item, index) in personnelData" :key="index" activeColor="#4275FC">{{item.text}}</u-checkbox>
                    </u-checkbox-group>
                    <view class="wu" v-show="personnelData.length === 0">
                        <text>暂无数据</text>
@@ -50,7 +50,9 @@
            <button class="fp_footer_submit" @click="submit">确认</button>
        </view>
        <!-- é€‰æ‹©æ—¥æœŸ -->
        <u-calendar :show="timeShow" mode="range" @confirm="timeConfirm"></u-calendar>
        <u-calendar :show="timeShow" @close="timeShow = false" @confirm="timeConfirm"></u-calendar>
        <!-- é€‰æ‹©è®¾å¤‡ -->
        <u-picker :show="show" :columns="columns" @confirm="confirm" @cancel="show = false" keyName="label"></u-picker>
    </view>
</template>
@@ -59,22 +61,33 @@
    export default {
        data() {
            return {
                show: false,
                columns: [[{ label: '设备一' }]],
                form: {
                    num: $route.query.num,        // ç”Ÿäº§æ•°é‡
                    num: '',        // ç”Ÿäº§æ•°é‡
                    startTime: gsdate(new Date()),      // å¼€å§‹æ—¶é—´
                    equipmentId: '',    // è®¾å¤‡id
                    equipmentName: '',    // è®¾å¤‡åç§° 
                    personnelId: []    // äººå‘˜id
                },
                personnelData: [],    // äººå‘˜æ•°æ®
                timeShow: false
            };
        },
        onLoad(option) {
            this.form.num = option.num
        },
        methods: {
            go() {
                uni.navigateBack({ delta: 1 });
            },
            confirm(val) {
                this.form.equipmentName = val.value[0].label
                this.form.equipmentId = 1
                this.show = false
            },
            timeConfirm(val) {
                console.log(val)
                this.form.startTime = val[0]
                this.timeShow = false
            }
        }
@@ -109,7 +122,7 @@
                    font-weight: 400;
                }
            }
            .fp_list_item_right v-deep {
            .fp_list_item_right {
                display: flex;
                align-items: center;
                .wu {
@@ -146,7 +159,7 @@
                    width: 180rpx;
                    height: 60rpx;
                    border-radius: 8rpx;
                    border: 1rpx solid #E5E5E5;
                    border: 2rpx solid #E5E5E5;
                    padding: 0 30rpx;
                    text-align: right;
                    font-size: 25rpx;
minipro_standard/pages_adjust/pages/outboundList/outboundList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
<template>
    <view>
        å‡ºåº“单列表
    </view>
</template>
<script>
    export default {
        data() {
            return {
            };
        }
    }
</script>
<style lang="scss">
</style>
minipro_standard/pages_adjust/pages/transferList/transferList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,774 @@
<template>
    <view class="content">
        <view class="content_search">
            <Search @searchInput="searchInput" @submit="submit" @reset="reset" :isShow="true"
                placeholder="搜索物料名称/编码/工序名称">
                <template v-slot:content>
                    <view class="Search_item">
                        <view class="Search_item_label">计划日期</view>
                        <view class="Search_item_content" @click="openDate">
                            <view class="Search_item_content_a" :style="listData.startDate ? 'color: #000' : ''">
                                {{ listData.startDate ? listData.startDate : '开始日期'}}</view>
                            <text>-</text>
                            <view class="Search_item_content_a" :style="listData.endDate ? 'color: #000' : ''">
                                {{ listData.endDate ? listData.endDate : '结束日期'}}</view>
                        </view>
                    </view>
                    <view class="Search_item">
                        <view class="Search_item_label">单据类型</view>
                        <view class="Search_item_content">
                            <view class="tag">
                                <view class="tag_item" :class="{'tag_active': item.isActive}" v-for="(item, i) in types"
                                    :key="item.id" @click="changeTags(i)">{{item.name}}</view>
                            </view>
                        </view>
                    </view>
                </template>
            </Search>
            <view class="content_search_x"></view>
            <LabelSelection :TagList="tagList" :isShow="true" @change="clickTag" />
        </view>
        <view class="content_total" :style="{top: top}">共{{listData.total}}条数据</view>
        <view class="content_list">
            <scroll-view @scrolltolower="getLists" scroll-y :style="{height: height}">
                <view class="content_list_item" v-for="(item, i) in lists" :key="i" @click="jump(item)">
                    <!-- item头部视图 -->
                    <view class="content_list_item_top">
                        <view class="content_list_item_top_left">
                            <!--                <text>转库单号:</text>-->
                            <text>{{ item.code }}</text>
                        </view>
                        <view class="content_list_item_top_right">
                            <text class="created" v-if="item.status === 0">待出库</text>
                            <text class="warning" v-else-if="item.status === 1">已出库</text>
                            <text class="green" v-else-if="item.status === 2">已入库</text>
                            <text class="info" v-else-if="item.status === 3">已取消</text>
                            <text class="info" v-else-if="item.status === 4">已退回</text>
                        </view>
                    </view>
                    <!-- item主题信息部分 -->
                    <view class="content_list_item_content">
                        <view class="content_list_item_content_item">
                            <view class="content_list_item_content_item_label">单据类型:</view>
                            <view class="content_list_item_content_item_nr">
                                {{ tyepToStr(item.type) }}
                            </view>
                        </view>
                        <view class="content_list_item_content_item">
                            <view class="content_list_item_content_item_label">转出仓库:</view>
                            <view class="content_list_item_content_item_nr">
                                {{ item.outWarehouseName }}
                            </view>
                        </view>
                        <view class="content_list_item_content_item">
                            <view class="content_list_item_content_item_label">转出仓管员:</view>
                            <view class="content_list_item_content_item_nr">
                                {{ item.outUserName }}
                            </view>
                        </view>
                        <view class="content_list_item_content_item">
                            <view class="content_list_item_content_item_label">转入仓库:</view>
                            <view class="content_list_item_content_item_nr">
                                {{ item.inWarehouseName }}
                            </view>
                        </view>
                        <view class="content_list_item_content_item">
                            <view class="content_list_item_content_item_label">转入仓管员:</view>
                            <view class="content_list_item_content_item_nr">
                                {{ item.inUserName }}
                            </view>
                        </view>
                        <view class="content_list_item_content_item">
                            <view class="content_list_item_content_item_label">计划转出日期:</view>
                            <view class="content_list_item_content_item_nr">
                                {{ item.outPlandate }}
                            </view>
                        </view>
                        <view class="content_list_item_content_item">
                            <view class="content_list_item_content_item_label">计划转入日期:</view>
                            <view class="content_list_item_content_item_nr">
                                {{ item.inPlandate }}
                            </view>
                        </view>
                    </view>
                </view>
            </scroll-view>
        </view>
        <!-- é€‰æ‹©æ—¥æœŸ -->
        <u-calendar :show="timeShow" @close="timeShow = false" @confirm="timeConfirm"></u-calendar>
    </view>
</template>
<script>
    import Search from '@/components/Search.vue'
    import LabelSelection from '@/components/LabelSelection.vue'
    export default {
        components: {
            Search,
            LabelSelection
        },
        data() {
            return {
                height: '',
                top: '',
                listData: {
                    capacity: 10,
                    page: 0,
                    total: 0,
                    startDate: '',
                    endDate: '',
                    procedureIds: [],
                    departIds: '',
                    mixParam: '',
                    cateIds: []
                },
                types: [
                    // { name: '全部', id: '', isActive: false },
                    // { name: '车间领料', id: '1', isActive: false },
                    // { name: '车间备料', id: '2', isActive: false },
                    // { name: '其他', id: '3', isActive: false },
                    {
                        name: '车间领料',
                        id: '1',
                        isActive: false
                    },
                    {
                        name: '计划领料',
                        id: '2',
                        isActive: false
                    },
                    {
                        name: '机台备料',
                        id: '3',
                        isActive: false
                    },
                    {
                        name: '完工入库',
                        id: '4',
                        isActive: false
                    },
                    {
                        name: '车间转库',
                        id: '5',
                        isActive: false
                    },
                    {
                        name: '外协领料转库',
                        id: '6',
                        isActive: false
                    },
                    {
                        name: '外协完工转库',
                        id: '7',
                        isActive: false
                    },
                    {
                        name: '产品入库',
                        id: '8',
                        isActive: false
                    },
                    {
                        name: '产品转库',
                        id: '9',
                        isActive: false
                    },
                    {
                        name: '让步放行入库',
                        id: '10',
                        isActive: false
                    },
                    {
                        name: '让步放行转库',
                        id: '11',
                        isActive: false
                    },
                    {
                        name: '客返返修领料',
                        id: '12',
                        isActive: false
                    },
                    {
                        name: '客返返修入库',
                        id: '13',
                        isActive: false
                    },
                    {
                        name: '跨组织转库',
                        id: '14',
                        isActive: false
                    },
                    {
                        name: '工序报废',
                        id: '15',
                        isActive: false
                    },
                    {
                        name: '客退返修领料',
                        id: '16',
                        isActive: false
                    },
                    {
                        name: '客退返修入库',
                        id: '17',
                        isActive: false
                    },
                    {
                        name: '废品入库',
                        id: '30',
                        isActive: false
                    }
                ],
                orderType: [
                    { name: '车间领料', id: 1 },
                    { name: '计划领料', id: 2 },
                    { name: '机台备料', id: 3 },
                    { name: '完工入库', id: 4 },
                    { name: '车间转库', id: 5 },
                    { name: '外协领料转库', id: 6 },
                    { name: '外协完工转库', id: 7 },
                    { name: '产品入库', id: 8 },
                    { name: '产品转库', id: 9 },
                    { name: '让步放行入库', id: 10 },
                    { name: '让步放行转库', id: 11 },
                    { name: '客返返修领料', id: 12 },
                    { name: '客返返修入库', id: 13 },
                    { name: '跨组织转库', id: 14 },
                    { name: '工序报废', id: 15 },
                    { name: '客退返修领料', id: 16 },
                    { name: '客退返修入库', id: 17 },
                    { name: '废品入库', id: 30 }
                ],
                tagList: [{
                        id: "",
                        name: "全部",
                        num: "10",
                    },
                    {
                        id: "0",
                        name: "已计划",
                        num: "132",
                    },
                    {
                        id: "1",
                        name: "已转出",
                        num: "3",
                    },
                    {
                        id: "2",
                        name: "已转入",
                        num: "12",
                    },
                    {
                        id: "3",
                        name: "已取消",
                        num: "12",
                    }
                ],
                data: [], // å·¥åºæ•°æ®
                factoryList: [],
                finished: true,
                loading: false,
                refreshing: false,
                timeShow: false,
                lists: [{
                        id: 1,
                        status: 0,
                        urgent: 1,
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    },
                    {
                        id: 2,
                        status: 0,
                        urgent: 1,
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    },
                    {
                        id: 3,
                        status: 0,
                        urgent: 1,
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    },
                    {
                        id: 4,
                        status: 0,
                        urgent: 1,
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    },
                    {
                        id: 5,
                        status: 0,
                        urgent: 1,
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    }
                ]
            };
        },
        onReady() {
            var that = this
            this.$nextTick(() => {
                uni.createSelectorQuery().in(this).select('.content_search').boundingClientRect((rect) => {
                    that.height = `calc(100vh - ${rect.height + 80}px)`
                    that.top = `${rect.height}px`
                }).exec()
            })
        },
        methods: {
            tyepToStr(type) {
                //  <!-- 1、车间领料;2、车间备料;3、其他;4、完工入库 -->
                for (const item of this.orderType) {
                    if (item.id == type) {
                        return item.name
                    }
                }
                return '-'
            },
            // è·³è½¬
            jump(item) {
                uni.navigateTo({
                    url: `/pages/planDetails/planDetails?id=${item.id}`
                })
            },
            // èŽ·å–å¤´éƒ¨ç»„ä»¶é«˜åº¦
            getHeight(height) {
                this.height = height
            },
            // é‡ç½®
            reset() {
                this.listData.page = 0
                this.finished = false
                this.lists = []
                this.listData.mixParam = ''
                this.listData.startDate = ''
                this.listData.endDate = ''
                this.listData.procedureIds = []
                if (this.factoryList.length > 0) {
                    this.listData.departIds = this.factoryList[0].id
                }
                if (this.data.length > 0) {
                    this.data.forEach(item => {
                        item.isActive = false
                    })
                }
                // this.getLists()
                // this.pageCounts()
            },
            // æ—¥æœŸç¡®å®š
            timeConfirm(val) {
                this.listData.startDate = val[0]
                this.listData.endDate = val[val.length - 1]
                this.timeShow = false
            },
            // åˆ‡æ¢å·¥åŽ‚
            changeTags(i, id) {
                this.listData.departIds = id
                this.getWorkingProcedures(id)
                this.factoryList.forEach((item, index) => {
                    if (index === i) {
                        item.isActive = true
                    } else {
                        item.isActive = false
                    }
                })
            },
            // æ‰“开日期插件
            openDate() {
                this.timeShow = true
            },
            // æœç´¢
            searchInput(val) {
                this.listData.mixParam = val
                this.listData.page = 0
                this.finished = false
                this.lists = []
                this.getLists()
            },
            // ç‚¹å‡»æ ‡ç­¾æœç´¢
            clickTag(ids) {
                this.listData.cateIds = ids
                this.listData.page = 0
                this.finished = false
                this.lists = []
                // this.getLists()
            },
            // èŽ·å–åˆ—è¡¨ç»Ÿè®¡
            pageCounts() {
                pageCount({
                    factoryId: this.listData.departIds,
                    procedureIdList: this.listData.procedureIds ? this.listData.procedureIds : [],
                    startDate: this.listData.startDate,
                    endDate: this.listData.endDate,
                    statusList: this.listData.cateIds
                }).then(res => {
                    if (res.code === 200 && res.data) {
                        this.tagList[0].num = res.data.allNum.toString()
                        this.tagList[1].num = res.data.startNum.toString()
                        this.tagList[2].num = res.data.ingNum.toString()
                        this.tagList[3].num = res.data.endNum.toString()
                    }
                })
            },
            // èŽ·å–å·¥åŽ‚æ•°æ®
            getOrganizations() {
                getOrganization({
                    type: 1
                }).then(res => {
                    if (res.code === 200 && res.data && res.data.length !== 0) {
                        res.data.forEach((item, i) => {
                            item.isActive = i === 0;
                        })
                        if (res.data.length > 0) {
                            this.factoryList = res.data
                            this.listData.departIds = this.factoryList[0].id
                            this.listData.procedureIds = ''
                            this.finished = false
                            this.getWorkingProcedures(this.factoryList[0].id)
                            this.getLists()
                            this.pageCounts()
                        }
                    }
                })
            },
            // èŽ·å–å·¥åºæ•°æ®
            getWorkingProcedures(orgId) {
                this.data = []
                getWorkingProcedure({
                        orgId
                    })
                    .then(res => {
                        if (res.code === 200 && res.data && res.data.length !== 0) {
                            res.data.forEach((item, i) => {
                                item.isActive = false;
                            })
                            this.data = res.data
                        }
                    })
            },
            // æœç´¢å¼¹æ¡†æäº¤
            submit() {
                let pmodelOrgId = []
                this.data.forEach((item) => {
                    if (item.isActive) {
                        pmodelOrgId.push(item.id)
                    }
                })
                this.listData.procedureIds = pmodelOrgId
                this.listData.page = 0
                this.finished = false
                this.lists = []
                // this.getLists()
                // this.pageCounts()
            },
            // èŽ·å–è®¡åˆ’åˆ—è¡¨æ•°æ®
            getLists() {
                console.log('getLists')
                if (!this.finished) {
                    this.loading = true
                    this.listData.page = this.listData.page++
                    getList({
                        capacity: this.listData.capacity,
                        model: {
                            mixParam: this.listData.mixParam,
                            startDate: this.listData.startDate,
                            endDate: this.listData.endDate,
                            procedureIdList: this.listData.procedureIds ? this.listData.procedureIds : [],
                            factoryId: this.listData.departIds,
                            statusList: this.listData.cateIds
                        },
                        page: this.listData.page,
                        sorts: [{
                            direction: 'ASC',
                            property: 'publishDate'
                        }]
                    }).then(res => {
                        this.loading = false
                        this.listData.total = res.data.total
                        if (this.refreshing) {
                            this.lists = []
                            this.refreshing = false;
                        }
                        if (res.code === 200 && res.data.records.length !== 0) {
                            if (this.lists.length === 0) {
                                this.lists = res.data.records
                            } else {
                                this.lists.push(...res.data.records)
                            }
                        } else {
                            this.finished = true
                        }
                    }).catch(err => {
                        this.loading = false
                        this.finished = true
                        if (this.refreshing) {
                            this.lists = []
                            this.refreshing = false;
                        }
                    })
                }
            }
        }
    }
</script>
<style lang="scss" scoped>
    .content {
        .content_search {
            width: 100%;
            padding: 30rpx;
            background: white;
            position: sticky;
            top: 0;
            z-index: 999;
            box-sizing: border-box;
            .Search_item {
                margin-bottom: 40rpx;
                .Search_item_label {
                    font-size: 30rpx;
                    font-weight: 500;
                    color: #222222;
                }
                .Search_item_content {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    margin-top: 30rpx;
                    .tag {
                        display: flex;
                        flex-wrap: wrap;
                        align-items: center;
                        .tag_active {
                            background: $nav-color !important;
                            color: #ffffff !important;
                        }
                        .tag_item {
                            padding: 22rpx 26rpx;
                            box-sizing: border-box;
                            background: #F2F2F2;
                            border-radius: 8rpx;
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #333333;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            margin-right: 22rpx;
                            margin-bottom: 22rpx;
                        }
                    }
                    text {
                        font-size: 26rpx;
                        font-weight: 400;
                        color: #333333;
                        margin: 0 30rpx;
                    }
                    .Search_item_content_a {
                        padding: 20rpx 0;
                        flex: 1;
                        background: #F7F7F7;
                        border-radius: 8rpx;
                        border: 1rpx solid #EEEEEE;
                        font-size: 26rpx;
                        font-weight: 400;
                        color: #B2B2B2;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    }
                }
            }
            .content_search_x {
                height: 24rpx;
            }
        }
        .content_list {
            width: 100%;
            display: flex;
            flex-direction: column;
            .content_list_item {
                width: 100%;
                box-sizing: border-box;
                padding: 30rpx;
                display: flex;
                flex-direction: column;
                border-bottom: 1rpx solid #ececec;
                background: white;
                .content_list_item_top {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    .content_list_item_top_left {
                        display: flex;
                        align-items: center;
                        text {
                            font-size: 32rpx;
                            font-weight: 500;
                            color: #333333;
                        }
                    }
                    .content_list_item_top_right {
                        font-size: 26rpx;
                        font-weight: 400;
                        .created {
                            color: $nav-stateColor1 !important;
                        }
                        .warning {
                            color: $nav-stateColor5 !important;
                        }
                        .green {
                            color: $nav-stateColor6 !important;
                        }
                        .info {
                            color: $nav-stateColor3 !important;
                        }
                    }
                }
                .content_list_item_content {
                    padding: 24rpx 30rpx;
                    background: #f7f7f7;
                    border-radius: 16rpx;
                    display: flex;
                    flex-wrap: wrap;
                    justify-content: space-between;
                    margin-top: 32rpx;
                    .content_list_item_content_item {
                        width: 100%;
                        display: flex;
                        margin-top: 24rpx;
                        &:first-child {
                            margin-top: 0;
                        }
                        // &:nth-child(1) {
                        //   margin-top: 0 !important;
                        // }
                        // &:nth-child(2) {
                        //   margin-top: 0 !important;
                        // }
                        .content_list_item_content_item_label {
                            font-size: 24rpx;
                            font-weight: 400;
                            color: #666666;
                            flex-shrink: 0;
                        }
                        .content_list_item_content_item_nr {
                            font-size: 24rpx;
                            font-weight: 400;
                            color: #222222;
                            margin-right: 10rpx;
                        }
                    }
                }
            }
        }
        .content_total {
            width: 100%;
            height: 80rpx;
            padding: 24rpx 30rpx;
            background: #F7F7F7;
            font-size: 24rpx;
            font-weight: 400;
            box-sizing: border-box;
            color: #666666;
            position: sticky;
            z-index: 99;
        }
    }
</style>
minipro_standard/pages_adjust/pages/warehousingDetails/warehousingDetails.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,330 @@
<template>
    <view class="content">
        <view class="order-message">
            <view class="content_list_item_top">
                <view class="content_list_item_top_left">
                    <!--<text>入库单号:</text>-->
                    <text>{{ data.code }}</text>
                </view>
                <view class="content_list_item_top_right">
                    <text class="warning" v-if="data.status === 0">待入库</text>
                    <text class="green" v-else-if="data.status === 1">已入库</text>
                    <text class="info" v-else-if="data.status === 2">已取消</text>
                </view>
            </view>
            <view class="content_list_item_content">
                <view class="content_list_item_content_item">
                    <view class="content_list_item_content_item_label">单据类型:</view>
                    <view class="content_list_item_content_item_nr">
                        {{ orderTyepToStr(data.billType) }}
                    </view>
                </view>
                <view class="content_list_item_content_item">
                    <view class="content_list_item_content_item_label">入货仓库:</view>
                    <view class="content_list_item_content_item_nr">
                        {{ data.warehouseCode + ' | ' + data.warehouseName }}
                    </view>
                </view>
                <view class="content_list_item_content_item">
                    <view class="content_list_item_content_item_label">计划日期:</view>
                    <view class="content_list_item_content_item_nr">
                        {{ data.planDate }}
                    </view>
                </view>
                <view class="content_list_item_content_item">
                    <view class="content_list_item_content_item_label">来源类型:</view>
                    <view class="content_list_item_content_item_nr">
                        {{ tyepToStr(data.originType) }}
                    </view>
                </view>
                <view class="content_list_item_content_item">
                    <view class="content_list_item_content_item_label">来源单号:</view>
                    <view class="content_list_item_content_item_nr">
                        {{ data.originCode ? data.originCode : '-' }}
                    </view>
                </view>
                <view v-if="data.updateName" class="content_list_item_content_item">
                    <view class="content_list_item_content_item_label">操作人:</view>
                    <view class="content_list_item_content_item_nr">
                        {{ data.updateName + ' - ' + data.updateMobile }}
                    </view>
                </view>
                <view v-if="data.updateTime" class="content_list_item_content_item">
                    <view class="content_list_item_content_item_label">操作时间:</view>
                    <view class="content_list_item_content_item_nr">
                        {{ data.updateTime }}
                    </view>
                </view>
            </view>
        </view>
        <!-- è½¬åº“物料 -->
        <view class="title">
            <text class="title-prefix"></text>
            <text>{{ data.status==1 ? '已入库物料' : '待入库物料' }}</text>
        </view>
        <view class="material-content">
            <view class="item-style" v-for="(item, index) in materailArray" :key="index">
                <view class="item-title-style">
                    <text style="font-weight: 500;">{{ item.materialName + ' | ' + item.materialCode}}</text>
                </view>
                <view class="item-content-style">
                    <view class="content_list_item_content_item">
                        <text class="content_list_item_content_item_label">批次号:</text>
                        <text class="content_list_item_content_item_nr">{{ item.batch || '-' }}</text>
                    </view>
                    <view class="content_list_item_content_item">
                        <text class="content_list_item_content_item_label">数量:</text>
                        <text class="content_list_item_content_item_nr">{{ item.doneNum + item.unitName }}</text>
                    </view>
                    <view class="content_list_item_content_item">
                        <text class="content_list_item_content_item_label">工序:</text>
                        <text class="content_list_item_content_item_nr">{{ item.procedureName || '-' }}</text>
                    </view>
                    <view class="content_list_item_content_item">
                        <view class="content_list_item_content_item_label">质量:</view>
                        <view class="content_list_item_content_item_nr">
                            <text v-if="item.qualityType == 0" class="green">合格</text>
                            <text v-else-if="item.qualityType == 1" class="yellow">不良</text>
                            <text v-else-if="item.qualityType == 2" class="red">报废</text>
                            <text v-else>-</text>
                        </view>
                    </view>
                    <view class="content_list_item_content_item">
                        <text class="content_list_item_content_item_label">入库货位:</text>
                        <text
                            class="content_list_item_content_item_nr">{{ item.locationName ? item.locationName : '-' }}</text>
                    </view>
                </view>
            </view>
        </view>
        <view v-if="data.status === 0" style="height:94rpx"></view>
        <view v-if="data.status === 0" class="bottom-button">
            <button class="button button-cancel" @click="submit">去入库</button>
            <!-- <button class="button button-cancel" @click="cancel">取消</button> -->
        </view>
    </view>
</template>
<script>
    import { orderTyepToStr } from '@/util/constData.js'
    export default {
        data() {
            return {
                types: [
                    { name: '全部', id: '', isActive: true },
                    { name: '采购订单', id: '0', isActive: false },
                    { name: '生产工单', id: '1', isActive: false },
                    { name: '销售订单', id: '2', isActive: false },
                    { name: '转库单', id: '3', isActive: false },
                    { name: '盘点单', id: '4', isActive: false },
                ],
                data: {}
            };
        },
        methods: {
            tyepToStr(type) {
                //  <!-- 1、车间领料;2、车间备料;3、其他;4、完工入库 -->
                for (const item of this.types) {
                    if (parseInt(item.id) === this.type) {
                        return item.name
                    }
                }
                return '-'
            }
        }
    }
</script>
<style lang="scss" scoped>
    .content {
        background: white;
        .order-message {
            padding: 30rpx;
            display: flex;
            flex-direction: column;
            // border-bottom: 1rpx solid #ececec;
            .content_list_item_top {
                display: flex;
                align-items: center;
                justify-content: space-between;
                .content_list_item_top_left {
                    display: flex;
                    // align-items: center;
                    text {
                        font-size: 32rpx;
                        font-weight: 500;
                        color: #333333;
                    }
                }
                .content_list_item_top_right {
                    font-size: 26rpx;
                    font-weight: 400;
                    .created {
                        color: $nav-stateColor1 !important;
                    }
                    .warning {
                        color: $nav-stateColor5 !important;
                    }
                    .green {
                        color: $nav-stateColor6 !important;
                    }
                    .info {
                        color: $nav-stateColor3 !important;
                    }
                }
            }
            .content_list_item_content {
                padding: 24rpx 30rpx;
                background: #f7f7f7;
                border-radius: 16rpx;
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
                margin-top: 32rpx;
                .content_list_item_content_item:first-child {
                    margin-top: 0;
                }
                .content_list_item_content_item {
                    width: 100%;
                    display: flex;
                    align-items: center;
                    margin-top: 24rpx;
                    .content_list_item_content_item_label {
                        font-size: 24rpx;
                        font-weight: 400;
                        color: #666666;
                        flex-shrink: 0;
                    }
                    .content_list_item_content_item_nr {
                        font-size: 24rpx;
                        font-weight: 400;
                        color: #222222;
                        margin-right: 10rpx;
                    }
                }
            }
        }
        .title {
            background-color: #f7f7f7;
            padding: 30rpx;
            font-size: 30rpx;
            display: flex;
            align-items: center;
            .title-prefix {
                display: inline-block;
                background-color: #4275FC;
                height: 30rpx;
                width: 8rpx;
                border-radius: 1rpx;
                margin-right: 12rpx;
            }
        }
        .material-content {
            padding: 30rpx;
            .item-style {
                width: initial;
                border-bottom: 1rpx solid #ececec;
                margin-top: 30rpx;
                &:first-child {
                    margin-top: 0 !important;
                }
                &:last-child {
                    border: none;
                }
                .item-title-style {
                    margin-bottom: 12rpx;
                    font-size: 30rpx;
                }
                .item-content-style {
                    // padding: 24rpx 30rpx;
                    // background-color: #f7f7f7;
                    // border-radius: 16rpx;
                    display: flex;
                    flex-wrap: wrap;
                    padding-bottom: 30rpx;
                    justify-content: space-between;
                    &:last-child {
                        padding-bottom: 0;
                    }
                    .content_list_item_content_item {
                        width: 100%;
                        display: flex;
                        margin-top: 24rpx;
                        .content_list_item_content_item_label {
                            font-size: 24rpx;
                            font-weight: 400;
                            color: #666666;
                            flex-shrink: 0;
                        }
                        .content_list_item_content_item_nr {
                            font-size: 24rpx;
                            font-weight: 400;
                            color: #222222;
                            margin-right: 10rpx;
                        }
                    }
                }
            }
        }
        .bottom-button {
            padding: 1rpx;
            background-color: #f7f7f7;
            position: fixed;
            width: 100%;
            bottom: 0;
            height: 188rpx;
            display: flex;
            justify-content: space-between;
            .button-action {
                background: #fff;
                color: $nav-color;
            }
            .button-cancel {
                background: $nav-color;
                color: #FFFFFF;
            }
            .button {
                margin: 32rpx 32rpx 68rpx 32rpx;
                height: 88rpx;
                /*width: 668rpx;*/
                // width: 334rpx;
                border: none;
                border-radius: 8rpx;
                box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }
    }
</style>
minipro_standard/pages_inspect/pages/InspectionDetails/InspectionDetails.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,249 @@
<template>
    <view class="page">
        <view class="page_info">
            <view class="page_info_title">{{info.code}}</view>
            <view class="page_info_nr">
                <view class="item">
                    <view class="item_label">物料信息:</view>
                    <view class="item_nr" v-if="info.mmodel">{{info.mmodel.name}}丨{{info.mmodel.code}}</view>
                </view>
                <view class="items" style="margin-top: 0">
                    <view class="item_label">生产数量:</view>
                    <view class="item_nr" v-if="info.umodel">{{info.num}}{{info.umodel.name}}</view>
                </view>
                <view class="item">
                    <view class="item_label">生产批次:</view>
                    <view class="item_nr">{{info.batch}}</view>
                </view>
                <view class="items">
                    <view class="item_label">生产工序:</view>
                    <view class="item_nr" v-if="info.pmodel">{{info.pmodel.name}}</view>
                </view>
                <view class="item">
                    <view class="item_label">工单编号:</view>
                    <view class="item_nr">{{info.workorderCode}}</view>
                </view>
<!--                <view class="items">-->
<!--                    <view class="item_label">生产人员:</view>-->
<!--                    <view class="item_nr">{{info.proUserids}}</view>-->
<!--                </view>-->
                <view class="items">
                    <view class="item_label">生产设备:</view>
                    <view class="item_nr" v-if="info.devmodel">{{info.devmodel.name}}</view>
                </view>
                <!-- <view class="items">
                    <view class="item_label">工装码:</view>
                    <view class="item_nr" v-if="info.amodel">{{info.amodel.code}}</view>
                </view> -->
            </view>
        </view>
        <view class="page_title">检验信息</view>
        <view class="page_info1">
            <view class="page_info1_item" style="margin: 0;">
                <view class="label">检验人员:</view>
                <view class="nr">{{info.smodelRealName}}/{{info.checkUserDepartName}}</view>
            </view>
            <view class="page_info1_items">
                <view class="label">检验日期:</view>
                <view class="nr">{{info.checkDate}}</view>
            </view>
            <view class="page_info1_item">
                <view class="label">合格数量:</view>
                <view class="nr" v-if="info.umodel">{{info.qualifiedNum}}{{info.umodel.name}}</view>
            </view>
            <view class="page_info1_items">
                <view class="label">不良数量:</view>
                <view class="nr" v-if="info.umodel">{{info.unqualifiedNum}}{{info.umodel.name}}</view>
            </view>
        </view>
        <view class="page_err" v-if="info.checkInfo">
            <!-- <view class="page_err_item">
                <text>工装 {{info.qualifiedApplianceCode}}</text>
                <text v-if="info.umodel">{{info.unqualifiedNum}}{{info.umodel.name}}</text>
            </view> -->
            <view class="page_err_items">
                <text>不良原因:</text>
                <text>{{info.checkInfo}}</text>
            </view>
        </view>
        <view class="page_footer" v-if="info.createUser === $store.state.userInfo.id && info.workorderstatus !== 4 && info.workorderstatus !== 2">
            <view class="page_footer_dele red" @click="dele">删除</view>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                info: {}
            };
        }
    }
</script>
<style lang="scss" scoped>
.page {
    width: 100%;
    height: 100%;
    position: absolute;
    background: #F7F7F7;
    .page_info {
        padding: 30rpx;
        background: #ffffff;
        .page_info_title {
            font-size: 32rpx;
            font-weight: 500;
            color: #333333;
        }
        .page_info_nr {
            padding: 0 30rpx 30rpx 30rpx;
            margin-top: 30rpx;
            background: #F7F7F7;
            border-radius: 16rpx;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            .items {
                width: 45%;
                display: flex;
                margin-top: 24rpx;
                .item_label {
                    font-size: 24rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .item_nr {
                    font-size: 24rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
            .item {
                width: 55%;
                display: flex;
                margin-top: 24rpx;
                .item_label {
                    font-size: 24rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                .item_nr {
                    font-size: 24rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
    }
    .page_title {
        padding: 40rpx 30rpx 30rpx 30rpx;
        font-size: 32rpx;
        font-weight: 500;
        color: #222222;
    }
    .page_info1 {
        padding: 0 30rpx 30rpx 30rpx;
        background: #ffffff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 24rpx;
        .page_info1_items {
            display: flex;
            width: 45%;
            margin-top: 30rpx;
            .label {
                font-size: 26rpx;
                font-weight: 400;
                color: #666666;
                flex-shrink: 0;
            }
            .nr {
                font-size: 26rpx;
                font-weight: 400;
                color: #222222;
            }
        }
        .page_info1_item {
            display: flex;
            width: 55%;
            margin-top: 30rpx;
            .label {
                font-size: 26rpx;
                font-weight: 400;
                color: #666666;
                flex-shrink: 0;
            }
            .nr {
                font-size: 26rpx;
                font-weight: 400;
                color: #222222;
            }
        }
    }
    .page_err {
        padding: 0 30rpx 30rpx 30rpx;
        background: #ffffff;
        .page_err_item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-top: 30rpx;
            text {
                &:nth-child(1) {
                    font-size: 32rpx;
                    font-weight: 500;
                    color: #DE5243;
                }
                &:nth-child(2) {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #DE5243;
                }
            }
        }
        .page_err_items {
            display: flex;
            justify-content: space-between;
            padding-top: 30rpx;
            text {
                &:nth-child(1) {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #666666;
                    flex-shrink: 0;
                }
                &:nth-child(2) {
                    font-size: 26rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
    }
    .page_footer {
        position: fixed;
        bottom: 0;
        width: 100%;
        padding-bottom: 68rpx;
        padding-left: 30rpx;
        padding-right: 30rpx;
        box-sizing: border-box;
        .page_footer_dele {
            width: 100%;
            height: 88rpx;
            background: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 30rpx;
            border-radius: 8rpx;
            box-shadow: 0 0 12rpx 0 rgba(0,0,0,0.08);
        }
    }
}
</style>
minipro_standard/pages_inspect/pages/InspectionRecords/InspectionRecords.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,643 @@
<template>
    <view class="content">
        <view class="content_search">
            <Search @searchInput="searchInput" @submit="submit" @reset="reset" :isShow="true" placeholder="搜索工单编码/物料编码2">
                <template v-slot:content>
                    <view class="Search_item">
                        <view class="Search_item_label">检验日期</view>
                        <view class="Search_item_content" @click="timeShow = true">
                            <view class="Search_item_content_a" :style="pageData.checkStartDate ? 'color: #000;' : ''">{{ pageData.checkStartDate ? pageData.checkStartDate : '开始日期'}}</view>
                            <text>-</text>
                            <view class="Search_item_content_a" :style="pageData.checkEndDate ? 'color: #000;' : ''">{{ pageData.checkEndDate ? pageData.checkEndDate : '结束日期'}}</view>
                        </view>
                    </view>
                    <view class="Search_item">
                        <view class="Search_item_label">检验类型</view>
                        <view class="Search_item_content">
                            <view class="tag">
                                <view class="tag_item" :class="{'tag_active': item.isActive}" v-for="(item, i) in data" :key="item.id" @click="changeTag(i)">{{item.name}}</view>
                            </view>
                        </view>
                    </view>
                    <view class="Search_item">
                        <view class="Search_item_label">检验工序</view>
                        <view class="Search_item_content">
                            <view class="tag">
                                <view class="tag_item" :class="{'tag_active': item.isActive}" v-for="(item, i) in workingProcedure" :key="item.id" @click="changeTag1(i)">{{item.name}}</view>
                            </view>
                        </view>
                    </view>
                    <view class="Search_item">
                        <view class="Search_item_label">批次号</view>
                        <view class="Search_item_content">
                            <u--input placeholder="请输入批次号" border="surround" v-model="pageData.batch"></u--input>
                        </view>
                    </view>
                </template>
            </Search>
        </view>
        <view class="content_total" :style="{top: top}">共{{listData.total}}条数据</view>
        <view class="content_list">
            <scroll-view @scrolltolower="getLists" scroll-y :style="{height: height}">
                <view class="content_list_item" v-for="item in lists" :key="item.id" @click="jump(item)">
                    <view class="content_list_item_title">
                        <text>{{item.code}}</text>
                        <text class="warning" v-if="item.checkType === 0">巡线</text>
                        <text v-if="item.checkType === 1">巡检</text>
                        <text class="green" v-if="item.checkType === 2">完工检</text>
                    </view>
                    <view class="content_list_item_nr">
                        <view class="content_list_item_nr_box">
                            <view class="label">物料信息:</view>
                            <view class="cr" v-if="item.mmodel">{{item.mmodel.name}}丨{{item.mmodel.code}}</view>
                        </view>
                        <view class="content_list_item_nr_boxs">
                            <view class="label">生产数量:</view>
                            <view class="cr" v-if="item.umodel">{{item.num}}{{item.umodel.name}}</view>
                        </view>
                        <view class="content_list_item_nr_box">
                            <view class="label">生产批次:</view>
                            <view class="cr">{{item.batch}}</view>
                        </view>
                        <view class="content_list_item_nr_boxs">
                            <view class="label">生产工序:</view>
                            <view class="cr" v-if="item.pmodel">{{item.pmodel.name}}</view>
                        </view>
                        <view class="content_list_item_nr_box">
                            <view class="label">工单编号:</view>
                            <view class="cr">{{item.workorderCode}}</view>
                        </view>
                        <view class="content_list_item_nr_boxs">
                            <view class="label">检验人员:</view>
                            <view class="cr">{{item.smodelRealName}}/{{item.checkUserDepartName}}</view>
                        </view>
                        <!-- <view class="content_list_item_nr_box">
                            <view class="label">检验日期:</view>
                            <view class="cr">{{item.checkDate}}</view>
                        </view> -->
                        <!-- <view class="content_list_item_nr_boxs">
                            <view class="label">工装码:</view>
                            <view class="cr" v-if="item.amodel">{{item.amodel.code}}</view>
                        </view> -->
                        <view class="content_list_item_nr_box">
                            <view class="label">合格数量:</view>
                            <view class="cr" v-if="item.umodel">{{item.qualifiedNum}}{{item.umodel.name}}</view>
                        </view>
                        <view class="content_list_item_nr_boxs">
                            <view class="label">不良数量:</view>
                            <view class="cr warning" v-if="item.umodel">{{item.unqualifiedNum}}{{item.umodel.name}}</view>
                        </view>
                    </view>
                </view>
            </scroll-view>
        </view>
        <!-- é€‰æ‹©æ—¥æœŸ -->
        <u-calendar :show="timeShow" mode="range" @confirm="timeConfirm"></u-calendar>
    </view>
</template>
<script>
    import Search from '@/components/Search.vue'
    export default {
        components: { Search },
        data() {
            return {
                height: '',
                top: '',
                listData: {
                    capacity: 10,
                    page: 0,
                    total: 0,
                    startDate: '',
                    endDate: '',
                    procedureIds: [],
                    departIds: '',
                    mixParam: '',
                    cateIds: []
                },
                data: [        // æ£€éªŒç±»åž‹
                    { id: '0', name: '巡线', isActive: false },
                    { id: '1', name: '巡检', isActive: false },
                    { id: '2', name: '完工检', isActive: false }
                ],
                workingProcedure: [],    // å·¥åº
                finished: true,
                loading: false,
                refreshing: false,
                timeShow: false,
                lists: [
                    {
                        id: 1,
                        checkType: 0,
                        status: 0,
                        code: '1234543223',
                        urgent: 1,
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    },
                    {
                        id: 2,
                        checkType: 1,
                        code: '1234543223',
                        status: 0,
                        urgent: 1,
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    },
                    {
                        id: 3,
                        checkType: 2,
                        code: '1234543223',
                        status: 0,
                        urgent: 1,
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    },
                    {
                        checkType: 2,
                        id: 4,
                        status: 0,
                        urgent: 1,
                        code: '1234543223',
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    },
                    {
                        checkType: 1,
                        id: 5,
                        status: 0,
                        code: '1234543223',
                        urgent: 1,
                        num: 100,
                        batch: '11111',
                        planDate: '2023-08-29',
                        mmodel: {
                            name: '工序计划',
                            code: 'fbdseasafghb'
                        },
                        usermodel: {
                            realname: '计划人员'
                        },
                        pmodel: {
                            name: '工序计划'
                        },
                        fmodel: {
                            name: '工厂'
                        }
                    }
                ]
            };
        },
        onReady() {
            var that = this
            this.$nextTick(() => {
                uni.createSelectorQuery().in(this).select('.content_search').boundingClientRect((rect) => {
                    that.height = `calc(100vh - ${rect.height + 80}px)`
                    that.top = `${rect.height}px`
                }).exec()
            })
        },
        methods: {
            // è·³è½¬
            jump(item) {
                uni.navigateTo({
                    url: `/pages/InspectionDetails/InspectionDetails?id=${item.id}`
                })
            },
            // èŽ·å–å¤´éƒ¨ç»„ä»¶é«˜åº¦
            getHeight(height) {
                this.height = height
            },
            // é‡ç½®
            reset() {
                this.listData.page = 0
                this.finished = false
                this.lists = []
                this.listData.mixParam = ''
                this.listData.startDate = ''
                this.listData.endDate = ''
                this.listData.procedureIds = []
                if (this.factoryList.length > 0) {
                    this.listData.departIds = this.factoryList[0].id
                }
                if (this.data.length > 0) {
                    this.data.forEach(item => { item.isActive = false })
                }
                // this.getLists()
                // this.pageCounts()
            },
            // æ—¥æœŸç¡®å®š
            timeConfirm(val) {
                this.listData.startDate = val[0]
                this.listData.endDate = val[val.length - 1]
                this.timeShow = false
            },
            // åˆ‡æ¢å·¥åŽ‚
            changeTags(i, id) {
                this.listData.departIds = id
                this.getWorkingProcedures(id)
                this.factoryList.forEach((item, index) => {
                    if (index === i) {
                        item.isActive = true
                    } else {
                        item.isActive = false
                    }
                })
            },
            // æ‰“开日期插件
            openDate() {
                this.timeShow = true
            },
            // æœç´¢
            searchInput(val) {
                this.listData.mixParam = val
                this.listData.page = 0
                this.finished = false
                this.lists = []
                this.getLists()
            },
            // ç‚¹å‡»æ ‡ç­¾æœç´¢
            clickTag(ids) {
                this.listData.cateIds = ids
                this.listData.page = 0
                this.finished = false
                this.lists = []
                // this.getLists()
            },
            // èŽ·å–åˆ—è¡¨ç»Ÿè®¡
            pageCounts() {
                pageCount({
                    factoryId: this.listData.departIds,
                    procedureIdList: this.listData.procedureIds ? this.listData.procedureIds : [],
                    startDate: this.listData.startDate,
                    endDate: this.listData.endDate,
                    statusList: this.listData.cateIds
                }).then(res => {
                    if (res.code === 200 && res.data) {
                        this.tagList[0].num = res.data.allNum.toString()
                        this.tagList[1].num = res.data.startNum.toString()
                        this.tagList[2].num = res.data.ingNum.toString()
                        this.tagList[3].num = res.data.endNum.toString()
                    }
                })
            },
            // èŽ·å–å·¥åŽ‚æ•°æ®
            getOrganizations() {
                getOrganization({
                    type: 1
                }).then(res => {
                    if (res.code === 200 && res.data && res.data.length !== 0) {
                        res.data.forEach((item, i) => {
                            item.isActive = i === 0;
                        })
                        if (res.data.length > 0) {
                            this.factoryList = res.data
                            this.listData.departIds = this.factoryList[0].id
                            this.listData.procedureIds = ''
                            this.finished = false
                            this.getWorkingProcedures(this.factoryList[0].id)
                            this.getLists()
                            this.pageCounts()
                        }
                    }
                })
            },
            // èŽ·å–å·¥åºæ•°æ®
            getWorkingProcedures(orgId) {
                this.data = []
                getWorkingProcedure({ orgId })
                    .then(res => {
                        if (res.code === 200 && res.data && res.data.length !== 0) {
                            res.data.forEach((item, i) => {
                                item.isActive = false;
                            })
                            this.data = res.data
                        }
                    })
            },
            // æœç´¢å¼¹æ¡†æäº¤
            submit()  {
                let pmodelOrgId = []
                this.data.forEach((item) => {
                    if (item.isActive) {
                        pmodelOrgId.push(item.id)
                    }
                })
                this.listData.procedureIds = pmodelOrgId
                this.listData.page = 0
                this.finished = false
                this.lists = []
                // this.getLists()
                // this.pageCounts()
            },
            // èŽ·å–è®¡åˆ’åˆ—è¡¨æ•°æ®
            getLists() {
                console.log('getLists')
                if (!this.finished) {
                    this.loading = true
                    this.listData.page = this.listData.page++
                    getList({
                        capacity: this.listData.capacity,
                        model: {
                            mixParam: this.listData.mixParam,
                            startDate: this.listData.startDate,
                            endDate: this.listData.endDate,
                            procedureIdList: this.listData.procedureIds ? this.listData.procedureIds : [],
                            factoryId: this.listData.departIds,
                            statusList: this.listData.cateIds
                        },
                        page: this.listData.page,
                        sorts: [
                            {
                                direction: 'ASC',
                                property: 'publishDate'
                            }
                        ]
                    }).then(res => {
                        this.loading = false
                        this.listData.total = res.data.total
                        if (this.refreshing) {
                            this.lists = []
                            this.refreshing = false;
                        }
                        if (res.code === 200 && res.data.records.length !== 0) {
                            if (this.lists.length === 0) {
                                this.lists = res.data.records
                            } else {
                                this.lists.push(...res.data.records)
                            }
                        } else {
                            this.finished = true
                        }
                    }).catch(err => {
                        this.loading = false
                        this.finished = true
                        if (this.refreshing) {
                            this.lists = []
                            this.refreshing = false;
                        }
                    })
                }
            }
        }
    }
</script>
<style lang="scss" scoped>
    .content {
        .content_search {
            width: 100%;
            padding: 30rpx;
            background: white;
            position: sticky;
            top: 0;
            z-index: 999;
            box-sizing: border-box;
            .Search_item {
                margin-bottom: 40rpx;
                .Search_item_label {
                    font-size: 30rpx;
                    font-weight: 500;
                    color: #222222;
                }
                .Search_item_content {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    margin-top: 30rpx;
                    input {
                        width: 100%;
                        height: 70rpx;
                        border-radius: 10rpx;
                        padding: 0 20rpx;
                        box-sizing: border-box;
                        border: 1rpx solid #939393;
                        color: black;
                        font-size: 26rpx;
                    }
                    input::-webkit-input-placeholder {
                        color: #999999;
                        font-size: 26rpx;
                    }
                    input:-moz-placeholder {
                        color: #999999;
                        font-size: 26rpx;
                    }
                    input::-moz-placeholder {
                        color: #999999;
                        font-size: 26rpx;
                    }
                    input:-ms-input-placeholder {
                        color: #999999;
                        font-size: 26rpx;
                    }
                    .tag {
                        display: flex;
                        flex-wrap: wrap;
                        align-items: center;
                        .tag_active {
                            background: $nav-color !important;
                            color: #ffffff !important;
                        }
                        .tag_item {
                            width: 156rpx;
                            height: 70rpx;
                            box-sizing: border-box;
                            background: #F2F2F2;
                            border-radius: 8rpx;
                            font-size: 26rpx;
                            font-weight: 400;
                            color: #333333;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            margin-right: 22rpx;
                            margin-bottom: 22rpx;
                            &:nth-child(4n) {
                                margin-right: 0;
                            }
                        }
                    }
                    text {
                        font-size: 26rpx;
                        font-weight: 400;
                        color: #333333;
                    }
                    .Search_item_content_a {
                        width: 308rpx;
                        height: 70rpx;
                        background: #F7F7F7;
                        border-radius: 8rpx;
                        border: 1rpx solid #EEEEEE;
                        font-size: 26rpx;
                        font-weight: 400;
                        color: #B2B2B2;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    }
                }
            }
            .content_search_x {
                height: 24rpx;
            }
        }
        .content_list {
            width: 100%;
            display: flex;
            flex-direction: column;
            .content_list_item {
                width: 100%;
                box-sizing: border-box;
                padding: 30rpx;
                background: #ffffff;
                margin-bottom: 20rpx;
                .content_list_item_title {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    .warning {
                        color: $nav-stateColor5 !important;
                    }
                    .green {
                        color: $nav-stateColor2 !important;
                    }
                    text {
                        font-size: 32rpx;
                        font-weight: 500;
                        color: #333333;
                    }
                }
                .content_list_item_nr {
                    padding: 24rpx 30rpx;
                    background: #F7F7F7;
                    border-radius: 16rpx;
                    margin-top: 30rpx;
                    display: flex;
                    justify-content: space-between;
                    flex-wrap: wrap;
                    .content_list_item_nr_boxs {
                        width: 45%;
                        display: flex;
                        margin-top: 24rpx;
                        &:nth-child(1) {
                            margin-top: 0;
                        }
                        &:nth-child(2) {
                            margin-top: 0;
                        }
                        .warning {
                            color: $nav-stateColor4 !important;
                        }
                        .label {
                            flex-shrink: 0;
                            font-size: 24rpx;
                            font-weight: 400;
                            color: #666666;
                        }
                        .cr {
                            flex: 1;
                            font-size: 24rpx;
                            font-weight: 400;
                            color: #222222;
                            overflow: hidden;
                            white-space: nowrap;
                            text-overflow: ellipsis;
                            -o-text-overflow:ellipsis;
                        }
                    }
                    .content_list_item_nr_box {
                        width: 55%;
                        display: flex;
                        margin-top: 24rpx;
                        &:nth-child(1) {
                            margin-top: 0;
                        }
                        &:nth-child(2) {
                            margin-top: 0;
                        }
                        .label {
                            font-size: 24rpx;
                            font-weight: 400;
                            color: #666666;
                            flex-shrink: 0;
                        }
                        .cr {
                            font-size: 24rpx;
                            font-weight: 400;
                            color: #222222;
                        }
                    }
                }
            }
        }
        .content_total {
            width: 100%;
            height: 80rpx;
            padding: 24rpx 30rpx;
            background: #F7F7F7;
            font-size: 24rpx;
            font-weight: 400;
            box-sizing: border-box;
            color: #666666;
            position: sticky;
            z-index: 99;
        }
    }
</style>
minipro_standard/util/constData.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,128 @@
export const orderType = [
    {
        name: '车间领料',
        id: 1
    },
    {
        name: '计划领料',
        id: 2
    },
    {
        name: '机台备料',
        id: 3
    },
    {
        name: '完工入库',
        id: 4
    },
    {
        name: '车间转库',
        id: 5
    },
    {
        name: '外协领料转库',
        id: 6
    },
    {
        name: '外协完工转库',
        id: 7
    },
    {
        name: '产品入库',
        id: 8
    },
    {
        name: '产品转库',
        id: 9
    },
    {
        name: '让步放行入库',
        id: 10
    },
    {
        name: '让步放行转库',
        id: 11
    },
    {
        name: '客返返修领料',
        id: 12
    },
    {
        name: '客返返修入库',
        id: 13
    },
    {
        name: '跨组织转库',
        id: 14
    },
    {
        name: '工序报废',
        id: 15
    },
    {
        name: '客退返修领料',
        id: 16
    },
    {
        name: '客退返修入库',
        id: 17
    },
    {
        name: '销售出库',
        id: 18
    },
    {
        name: '让步销售',
        id: 19
    },
    {
        name: '工单投料',
        id: 20
    },
    {
        name: '仓库报废',
        id: 21
    },
    {
        name: '客退检验领料',
        id: 22
    },
    {
        name: '客返检验领料',
        id: 23
    },
    {
        name: '工单产出',
        id: 24
    },
    {
        name: '采购入库',
        id: 25
    },
    {
        name: '客退检验入库',
        id: 26
    },
    {
        name: '客返检验入库',
        id: 27
    },
    {
        name: '库存调整',
        id: 28
    },
    {
        name: '废品入库',
        id: 30
    }
]
export const orderTyepToStr = (type) => {
    //  <!-- 1、车间领料;2、车间备料;3、其他;4、完工入库 -->
    for (const item of orderType) {
        if (item.id === type) {
            return item.name
        }
    }
    return '-'
}