模具维修验收单 模块内 错误的设备id修改为模具id
领用退库单 添加 请求锁,防止 扫条码时同时触发 confirm和blur 事件,导致触发重复扫描的提示信息
工作联系单 回复 取消 部门控制,确保 安灯信息 没有填写部门的情况下能够回复
设备档案编辑模块有问题,在设备档案列表模块中 注释掉进入设备档案编辑模块的代码。
23个文件已修改
5个文件已添加
2899 ■■■■ 已修改文件
.hbuilderx/launch.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
locale/zh-Hans.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/CKGL/Kf_InceptEntInBill/Kf_InceptEntInBillList.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/CKGL/style/CKBillStyle.scss 386 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/CKGL/style/CKListStyle.scss 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/MJGL/mujulingliaotuikudan/Sc_MouldProdBackBill.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/MJGL/shangmudan/MouldUpperBill.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/OA_WorkLink/OA_WorkLinkBill.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/QC_FiveMenOneRingList_ICMO/QC_FiveMenOneRingList_ICMO.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/QualityReport/Sb_EquipDotCheckBillReport.vue 399 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/QualityReport/Sb_EquipMaintainBillReport.vue 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/QualityReport/Sb_EquipRepairWorkBillReport.vue 276 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/QualityReport/Sc_MouldMaintainBillMainReport.vue 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/QualityReport/Sc_MouldRepairWorkBillReport.vue 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/Sc_QualityReportBillMonth/Sc_QualityReportBillMonth.vue 515 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/shoujianjianyan/firstCheckBill.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ZLGL/shoujianjianyan/firstCheckBillList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/login.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/tab1.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/tab4.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/shebeidangan/Gy_EquipFileMainBill.vue 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/shebeidangan/Gy_EquipFileMainBillList.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/weiwairuku/EntrustInBill.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.hbuilderx/launch.json
@@ -13,7 +13,7 @@
            "type" : "uniCloud"
        },
        {
            "openVueDevtools" : false,
            "openVueDevtools" : true,
            "type" : "uni-app:h5"
        },
        {
locale/zh-Hans.json
@@ -92,7 +92,8 @@
        "EndDate_Search": "结束日期",
        "EquipNumber_Search": "设备编码",
        "EquipName_Search": "设备名称",
        "HDept_Search": "部门"
        "HDept_Search": "部门",
        "MaterName": "物料名称"
    },
    "Kf_ProductInBill_PDA": {
        "BarCode": "条码",
manifest.json
@@ -2,8 +2,8 @@
    "name" : "智云LMES",
    "appid" : "__UNI__B002F49",
    "description" : "",
    "versionName" : "3.020",
    "versionCode" : 320,
    "versionName" : "3.023",
    "versionCode" : 323,
    "transformPx" : false,
    /* 5+App特有相关 */
    "app-plus" : {
pages.json
@@ -2041,6 +2041,34 @@
            "style": {
                "navigationBarTitleText": "委外退料校验"
            }
        },
        {
            "path" : "pages/ZLGL/Sc_QualityReportBillMonth/Sc_QualityReportBillMonth",
            "style" :
            {
                "navigationBarTitleText" : "生产质量月汇报单"
            }
        },
        {
            "path" : "pages/ZLGL/QC_FiveMenOneRingList_ICMO/QC_FiveMenOneRingList_ICMO",
            "style" :
            {
                "navigationBarTitleText" : "全程追溯报表(生产订单)"
            }
        },
        {
            "path" : "pages/CKGL/Kf_InceptEntInBill/Kf_InceptEntInBill",
            "style" :
            {
                "navigationBarTitleText" : "受托加工入库单"
            }
        },
        {
            "path" : "pages/CKGL/Kf_InceptEntInBill/Kf_InceptEntInBillList",
            "style" :
            {
                "navigationBarTitleText" : "受托加工入库单列表"
            }
        }
    ],
    "tabBar": {
pages/CKGL/Kf_InceptEntInBill/Kf_InceptEntInBillList.vue
New file
@@ -0,0 +1,19 @@
<template>
    <view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            };
        }
    }
</script>
<style lang="scss">
</style>
pages/CKGL/style/CKBillStyle.scss
New file
@@ -0,0 +1,386 @@
$input-font-size: 30rpx;
.buttons {
    box-sizing: border-box;
    width: 100%;
    height: 120rpx;
    position: fixed;
    bottom: 0;
    left: 0;
    background-color: #fff;
    box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
    padding: 30rpx 40rpx 40rpx 40rpx;
    display: flex;
    flex-direction: row;
    gap: 10rpx;
    button {
        border-radius: 50rpx;
        width: 180rpx;
        height: 66rpx;
        line-height: 66rpx;
        font-size: 28rpx;
    }
    .btn-a {
        background-color: #3a78ff;
        color: #fff;
    }
    .btn-b {
        background-color: #41a863;
        color: #fff;
    }
    .btn-c {
        background-color: #acacac;
        color: #fff;
        // position: absolute;
        // right: 120rpx;
    }
    .btn-d {
        background-color: #ff8901;
        color: #fff;
    }
    .placeholder-view {
        flex: 1;
    }
}
.tabs {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #ddd;
    view {
        width: 25%;
        font-size: 30rpx;
        color: #555;
        text-align: center;
        padding: 16rpx 0;
    }
    .on {
        color: #3a78ff;
        font-weight: bold;
        border-bottom: 3px solid #3a78ff;
    }
}
.form {
    display: flex;
    flex-direction: column;
    gap: 10rpx;
    box-sizing: border-box;
    padding: 20rpx 40rpx;
}
.form-item {
    display: flex;
    align-items: center;
    font-size: $input-font-size;
    padding: 6rpx 0;
    gap: 12rpx;
    .title {
        width: 208rpx;
        flex-shrink: 0;
        text {
            color: red;
            font-weight: bold;
        }
    }
    .required::after{
          content: "*";
          color: red;
          margin-left: 4px;
          font-weight: bold;
    }
    .right {
        // width: 450rpx;
        flex: 1;
        border-radius: 22rpx;
        height: 100%;
        border: 1px solid #acacac;
        position: relative;
        display: flex;
        picker {
            width: 100%;
        }
        .uni-combox {
            width: 100%;
            padding-top: 0;
            padding-bottom: 0;
            ::v-deep .uni-input-wrapper {
                font-size: $input-font-size ;
                height: auto;
                padding: 8rpx 0;
                .uni-input-placeholder{
                    font-size: $input-font-size;
                }
                input {
                    height: auto;
                }
            }
        }
    }
    .righton {
        width: 450rpx;
        border-radius: 22rpx;
        border: 1px solid #e4e4e4;
        background-color: #e4e4e4;
    }
    input {
        width: 100%;
        padding: 8rpx 20rpx;
        font-size: $input-font-size;
    }
    textarea {
        width: 98%;
        height: 6em;
        padding: 8rpx 20rpx;
        font-size: $input-font-size;
    }
    .icon-wrapper {
        background-color: #3A78FF;
        width: 52rpx;
        height: 52rpx;
        border-radius: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;
        .uni-icons {
            color: #fff !important;
        }
    }
    .icon-wrapper[disabled] {
        background-color: rgba(228, 228, 228, 1);
        pointer-events: none;
        touch-action: none;
    }
}
.none-border {
    border: none !important;
}
.radio_Container {
    display: flex;
    flex-direction: row;
    gap: 30rpx;
}
 .list {
        width: 100%;
        .card-detail {
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            line-height: 120%;
            .detail {
                // width: 50%;
                font-size: 26rpx;
                margin-bottom: 12rpx;
                color: #555;
                margin-right: 20rpx;
                text {
                    color: #999;
                    font-size: 26rpx;
                }
            }
        }
        .more {
            color: #888;
            font-size: 24rpx;
            display: flex;
            border-top: 1px solid #eee;
            padding-top: 20rpx;
            .part {
                width: 50%;
                text-align: center;
            }
        }
    }
.card-item-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: center;
        box-sizing: border-box;
        padding: 20rpx 20rpx;
        .card-detail {
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            line-height: 120%;
            .detail {
                // width: 50%;
                font-size: 26rpx;
                margin-bottom: 12rpx;
                color: #555;
                margin-right: 20rpx;
                text {
                    color: #999;
                    font-size: 26rpx;
                }
            }
            .operation {
                display: flex;
                align-items: center;
                gap: 10rpx;
                .btn-a {
                    background-color: #3A78FF;
                    color: #fff;
                }
                .btn-b {
                    background-color: rgb(255, 87, 34);
                    color: #fff;
                }
                uni-button {}
            }
        }
        .more {
            color: #888;
            font-size: 24rpx;
            display: flex;
            border-top: 1px solid #eee;
            padding-top: 20rpx;
            .part {
                width: 50%;
                text-align: center;
            }
        }
    }
    .attachment-btns {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        gap: 6rpx;
    }
    .card-buttons {
        padding: 8rpx;
        display: flex;
        flex-direction: row;
        gap: 20rpx;
        justify-content: center;
        align-items: flex-start;
        button {
            border-radius: 10rpx;
            width: 180rpx;
            height: 66rpx;
            line-height: 66rpx;
            font-size: 28rpx;
        }
        .btn-a {
            background-color: #3a78ff;
            color: #fff;
        }
        .btn-b {
            background-color: #41a863;
            color: #fff;
        }
        .btn-c {
            background-color: #acacac;
            color: #fff;
            // position: absolute;
            // right: 120rpx;
        }
        .btn-d {
            background-color: #ff8901;
            color: #fff;
        }
        .placeholder {
            flex: 1
        }
    }
    .icon-wrapper-big {
        background-color: #3a78ff;
        border-radius: 100%;
        width: 50rpx;
        height: 50rpx;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;
        margin-left: 20rpx;
        .uni-icons {
            color: #fff !important;
        }
    }
    .graph-container {
        .graph{
        }
    }
    .bill-main-tabs,
    .bill-sub-tabs {
        box-sizing: border-box;
        width: 730rpx;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 20rpx;
        flex-shrink: 0;
        overflow-x: auto;
        border-bottom: 1px solid #ddd;
        padding: 20rpx 10rpx;
        white-space: nowrap;
        view {
            width: auto;
            font-size: 26rpx;
            color: #555;
            text-align: center;
            padding: 16rpx 0;
        }
        .selected {
            color: #3a78ff;
            font-weight: bold;
            border-bottom: 3px solid #3a78ff;
        }
    }
    /* 添加链接样式 */
    .link-text {
        color: #3a78ff;
        /* 蓝色,类似超链接 */
    }
pages/CKGL/style/CKListStyle.scss
New file
@@ -0,0 +1,193 @@
    .form {
        padding: 20rpx;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .other {
        margin-top: 8rpx;
        text-align: center;
        font-size: 28rpx;
        padding: 4rpx 18rpx;
        color: #1890FF;
    }
    .tabs {
        width: 100%;
        position: fixed;
        left: 0;
        z-index: 9;
        display: flex;
        background-color: #e5e5e5;
        view {
            width: 50%;
            font-size: 30rpx;
            color: #333;
            text-align: center;
            padding: 16rpx 0;
        }
        .on {
            color: #3a78ff;
            font-weight: bold;
            border-bottom: 3px solid #3a78ff;
        }
    }
    .buttons {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 20rpx;
        button {
            border-radius: 50rpx;
            width: 180rpx;
            height: 66rpx;
            line-height: 66rpx;
            font-size: 28rpx;
        }
        .btn-a {
            background-color: #acacac;
            color: #fff;
        }
        .btn-b {
            background-color: #41a863;
            color: #fff;
        }
        .btn-c {
            background-color: #3a78ff;
            color: #fff;
        }
    }
    .form-item {
        display: flex;
        align-items: center;
        font-size: 28rpx;
        padding: 6rpx 0;
        .title {
            width: 180rpx;
            text {
                color: red;
                font-weight: bold;
            }
        }
        .right {
            width: 450rpx;
            border-radius: 22rpx;
            border: 1px solid #acacac;
        }
        .righton {
            width: 450rpx;
            border-radius: 22rpx;
            border: 1px solid #e4e4e4;
            background-color: #e4e4e4;
        }
        input {
            width: 100%;
            padding: 8rpx 20rpx;
            font-size: 30rpx;
        }
    }
    .list {
        width: 100%;
        .card-detail {
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            line-height: 120%;
            .detail {
                // width: 50%;
                font-size: 26rpx;
                color: #555;
                padding-bottom: 20rpx;
                text {
                    color: #999;
                    font-size: 26rpx;
                }
            }
        }
        .more {
            color: #888;
            font-size: 26rpx;
            display: flex;
            border-top: 1px solid #eee;
            padding-top: 20rpx;
            .part {
                width: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }
        .op {
            display: flex;
            justify-content: space-around;
            margin-top: 20rpx;
            button {
                padding: 0;
                width: 150rpx;
                font-size: 25rpx;
            }
            .op1 {
                border: 1px solid #41a863;
                color: #41a863;
            }
            .op2 {
                border: 1px solid #d98d00;
                color: #d98d00;
            }
            .op3 {
                border: 1px solid #3a78ff;
                color: #3a78ff;
            }
            .op4 {
                border: 1px solid #da0000;
                color: #da0000;
            }
            .op5 {
                border: 1px solid #888;
                color: #888;
            }
        }
    }
    .pagination-zone {
        position: fixed;
        bottom: 0;
        box-sizing: border-box;
        background-color: #fff;
        box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
        padding: 20rpx 40rpx 20rpx 40rpx;
        display: flex;
        flex-direction: column;
        gap: 20rpx;
        justify-content: space-between;
        width: 100%;
    }
pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue
@@ -325,7 +325,7 @@
        methods: {
            // 提交数据有效性校验
            ValidCheck() {
                if (this.hform.HEquipID == 0 || this.hform.HEquipID === undefined) {
                if (this.hform.HMouldID == 0 || this.hform.HMouldID === undefined) {
                    return {
                        Message: "未录入模具信息,请先录入模具信息!",
                        state: false
pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill.vue
@@ -40,7 +40,7 @@
                </view>
                <view class="form-item">
                    <view class="title required">{{ $t("Sb_EquipConkBookBill.HConkReasonName") == "Sb_EquipConkBookBill.HConkReasonName" ? "故障原因:" : $t("Sb_EquipConkBookBill.HConkReasonName") }}</view>
                    <zxz-uni-data-select required class="right" :localdata="HConkReasonList" dataKey="HName"
                    <zxz-uni-data-select required filterable class="right" :localdata="HConkReasonList" dataKey="HName"
                        dataValue="HItemID" v-model="hform.HConkReasonID">
                    </zxz-uni-data-select>
                </view>
@@ -70,13 +70,13 @@
                </view>
                <view class="form-item">
                    <view class="title required">{{ $t("Sb_EquipConkBookBill.HEmpName") == "Sb_EquipConkBookBill.HEmpName" ? "发现人:" : $t("Sb_EquipConkBookBill.HEmpName") }}</view>
                    <zxz-uni-data-select required class="right" :localdata="HEmpList" dataKey="HName"
                    <zxz-uni-data-select required filterable class="right" :localdata="HEmpList" dataKey="HName"
                        dataValue="HItemID" v-model="hform.HEmpID">
                    </zxz-uni-data-select>
                </view>
                <view class="form-item">
                    <view class="title required">{{ $t("Sb_EquipConkBookBill.HManagerName") == "Sb_EquipConkBookBill.HManagerName" ? "验收人:" : $t("Sb_EquipConkBookBill.HManagerName") }}</view>
                    <zxz-uni-data-select required class="right" :localdata="HEmpList" dataKey="HName"
                    <zxz-uni-data-select required filterable class="right" :localdata="HEmpList" dataKey="HName"
                        dataValue="HItemID" v-model="hform.HManagerID">
                    </zxz-uni-data-select>
                </view>
pages/MJGL/mujulingliaotuikudan/Sc_MouldProdBackBill.vue
@@ -216,6 +216,8 @@
                    '手工录入',
                arrayHMainSourceBillType: ['手工录入'],
                arrayHMainSourceBillValue: ['-1'],
                scanLock: false,
                hform: {
                    HBarCode: '',
@@ -335,7 +337,15 @@
                        }
                    })
            },
            getCode(HBarCode) {
            async getCode(HBarCode) {
                // 条码框绑定了confirm和 blur事件。在使用confirm时,会同时触发blur和confirm,需加锁,只执行一段
                if(!this.scanLock) {
                    this.scanLock = true
                    await this.$nextTick()
                }else {
                    return
                }
                //仓库、仓位文本框为空时,清空对应ID
                if (!this.hform.HWHName) {
                    this.hform.HWHID = 0
@@ -427,6 +437,8 @@
                        },
                    })
                }
                this.scanLock = false
            },
            //仓库监听事件
            HWHNameChange(e) {
pages/MJGL/shangmudan/MouldUpperBill.vue
@@ -260,7 +260,7 @@
        },
        onLoad(e) {
            
uni.setNavigationBarTitle({
            uni.setNavigationBarTitle({
                title: this.$t("MouldUpperBill.title") == 'MouldUpperBill.title' ? '上模单' : this.$t("MouldUpperBill.title") 
            })
            this.HBarCodeFocus = true
pages/ZLGL/OA_WorkLink/OA_WorkLinkBill.vue
@@ -96,12 +96,12 @@
                </view>
                <view class="form-item">
                    <view class="title">发送部门:</view>
                    <zxz-uni-data-select v-if="operationType!=5" class="right" :localdata="HDeptList" dataKey="部门名称"
                    <zxz-uni-data-select class="right" :localdata="HDeptList" dataKey="部门名称"
                        dataValue="HItemID" v-model="hform.HDeptID" :filterable="true">
                    </zxz-uni-data-select>
                    <view v-else class="righton">
                    <!-- <view v-else class="righton">
                        <input disabled v-model="hform.HDeptName" />
                    </view>
                    </view> -->
                </view>
                <view class="form-item">
                    <view class="title">详细内容:</view>
pages/ZLGL/QC_FiveMenOneRingList_ICMO/QC_FiveMenOneRingList_ICMO.vue
New file
@@ -0,0 +1,19 @@
<template>
    <view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            };
        }
    }
</script>
<style lang="scss">
</style>
pages/ZLGL/QualityReport/Sb_EquipDotCheckBillReport.vue
@@ -9,12 +9,12 @@
                        v-model="condition.year">
                    </zxz-uni-data-select>
                </view>
                <!-- <view class="form-item">
                <view class="form-item">
                    <view class="title">{{$t("Gy.Month_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="monthSelector" dataKey="label" dataValue="value"
                        v-model="condition.month">
                    </zxz-uni-data-select>
                </view> -->
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.Dimension_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="dimensionSelector" dataKey="label" dataValue="value"
@@ -30,17 +30,20 @@
        <!-- 图表 -->
        <view class="graph-container">
            <view class="graph"><l-echart ref="chartRef1" @finished="InitChart1"></l-echart></view>
            <view class="graph"><l-echart ref="chartRef2" @finished="InitChart2"></l-echart></view>
            <view class="graph"><l-echart style="height: 60vh;" ref="chartRef2" @finished="InitChart2"></l-echart>
            </view>
        </view>
        <!-- 明细页签 -->
        <view class="bill-main-tabs">
            <view v-for="(item,index) in reportData" :key="index" :class="item.tab == tabs?'selected':''" @tap.stop="tabs = item.tab">
            <view v-for="(item,index) in reportData" :key="index" :class="item.tab == tabs?'selected':''"
                @tap.stop="tabs = item.tab">
                {{ item.label }}
            </view>
        </view>
        <!-- 明细查看 -->
        <view class="list" v-for="(item,index) in reportData" :key="index" v-if="item.tab == tabs">
            <view style="display: inline-flex; flex-direction: row; padding: 8rpx; gap: 4rpx;" v-for="(tag, cursor) in item.value" :key="cursor">
            <view style="display: inline-flex; flex-direction: row; padding: 8rpx; gap: 4rpx;"
                v-for="(tag, cursor) in item.value" :key="cursor">
                <uni-tag :text="tag" type="primary" custom-style="padding: 12rpx 16rpx;" />
            </view>
        </view>
@@ -159,13 +162,13 @@
                            acc.push(object)
                            return acc;
                        }, [])
                        console.log('data1: ',data1);
                        if(data1.length > 0) {
                        console.log('data1: ', data1);
                        if (data1.length > 0) {
                            this.tabs = data1[0].tab
                        }
                        this.reportData.splice(0)
                        this.reportData.push(...data1)
                        console.log('this.reportData: ',this.reportData);
                        console.log('this.reportData: ', this.reportData);
                        this.reportList = list
                    } else {
                        CommonUtils.showTips({
@@ -211,6 +214,8 @@
                let HOctober = []; //十月份数据
                let HNovember = []; //十一月份数据
                let HDecember = []; //十二月份数据
                let HYear = this.condition.year
                let HMonth = this.condition.month
                const labelOption = {
                    show: true,
                    position: 'top'
@@ -255,20 +260,24 @@
                    }
                }
                let option_ZZT = {
                    title: {
                        text: HYear + '年' + HMonth + '月' + this.condition.dimension + '统计图',
                        left: 'center'
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'shadow'
                        }
                    },
                    legend: {
                        data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                        itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                        itemHeight: 12, // 图例图标高度(可选)
                        textStyle: {
                            fontSize: 11 // 字体大小(可选,避免太占空间)
                        }
                    },
                    // legend: {
                    //     data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                    //     itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                    //     itemHeight: 12, // 图例图标高度(可选)
                    //     textStyle: {
                    //         fontSize: 11 // 字体大小(可选,避免太占空间)
                    //     }
                    // },
                    toolbox: {
                        show: false,
                        orient: 'vertical',
@@ -299,121 +308,257 @@
                        axisTick: {
                            show: true
                        },
                        data: HXTitle
                        data: HXTitle,
                        axisLabel: {
                            interval: 0, // 强制显示所有标签,不隐藏
                            rotate: -40, // 倾斜角度:30° / 45° / -45° 都可以
                            fontSize: 10
                        }
                    }],
                    yAxis: [{
                        type: 'value'
                    }],
                    series: [{
                            name: '1月',
                            type: 'bar',
                            barGap: 0,
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJanuary
                        },
                        {
                            name: '2月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HFebruary
                        },
                        {
                            name: '3月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMarch
                        },
                        {
                            name: '4月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HApril
                        },
                        {
                            name: '5月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMay
                        },
                        {
                            name: '6月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJune
                        },
                        {
                            name: '7月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJuly
                        },
                        {
                            name: '8月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HAugust
                        },
                        {
                            name: '9月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HSeptember
                        },
                        {
                            name: '10月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HOctober
                        },
                        {
                            name: '11月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HNovember
                        },
                        {
                            name: '12月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HDecember
                    series: (() => {
                        let dsObj = {}
                        const month = this.condition.month
                        if (month == 1) {
                            dsObj = {
                                name: '1月',
                                type: 'bar',
                                barGap: 0,
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJanuary
                            }
                        } else if (month == 2) {
                            dsObj = {
                                name: '2月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HFebruary
                            }
                        } else if (month == 3) {
                            dsObj = {
                                name: '3月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMarch
                            }
                        } else if (month == 4) {
                            dsObj = {
                                name: '4月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HApril
                            }
                        } else if (month == 5) {
                            dsObj = {
                                name: '5月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMay
                            }
                        } else if (month == 6) {
                            dsObj = {
                                name: '6月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJune
                            }
                        } else if (month == 7) {
                            dsObj = {
                                name: '7月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJuly
                            }
                        } else if (month == 8) {
                            dsObj = {
                                name: '8月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HAugust
                            }
                        } else if (month == 9) {
                            dsObj = {
                                name: '9月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HSeptember
                            }
                        } else if (month == 10) {
                            dsObj = {
                                name: '10月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HOctober
                            }
                        } else if (month == 11) {
                            dsObj = {
                                name: '11月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HNovember
                            }
                        } else if (month == 12) {
                            dsObj = {
                                name: '12月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HDecember
                            }
                        } else {
                            return {}
                        }
                    ]
                        return [dsObj]
                    })()
                    // [{
                    //         name: '1月',
                    //         type: 'bar',
                    //         barGap: 0,
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HJanuary
                    //     },
                    //     {
                    //         name: '2月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HFebruary
                    //     },
                    //     {
                    //         name: '3月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HMarch
                    //     },
                    //     {
                    //         name: '4月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HApril
                    //     },
                    //     {
                    //         name: '5月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HMay
                    //     },
                    //     {
                    //         name: '6月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HJune
                    //     },
                    //     {
                    //         name: '7月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HJuly
                    //     },
                    //     {
                    //         name: '8月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HAugust
                    //     },
                    //     {
                    //         name: '9月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HSeptember
                    //     },
                    //     {
                    //         name: '10月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HOctober
                    //     },
                    //     {
                    //         name: '11月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HNovember
                    //     },
                    //     {
                    //         name: '12月',
                    //         type: 'bar',
                    //         label: labelOption,
                    //         emphasis: {
                    //             focus: 'series'
                    //         },
                    //         data: HDecember
                    //     }
                    // ]
                };
                // 设置配置
@@ -441,7 +586,7 @@
                option_BT = {
                    title: {
                        text: HYear + '年' + this.condition.dimension +'分布图',
                        text: HYear + '年' + this.condition.dimension + '分布图',
                        left: 'center'
                    },
                    tooltip: {
pages/ZLGL/QualityReport/Sb_EquipMaintainBillReport.vue
@@ -9,12 +9,12 @@
                        v-model="condition.year">
                    </zxz-uni-data-select>
                </view>
                <!-- <view class="form-item">
                <view class="form-item">
                    <view class="title">{{$t("Gy.Month_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="monthSelector" dataKey="label" dataValue="value"
                        v-model="condition.month">
                    </zxz-uni-data-select>
                </view> -->
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.Dimension_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="dimensionSelector" dataKey="label" dataValue="value"
@@ -30,17 +30,19 @@
        <!-- 图表 -->
        <view class="graph-container">
            <view class="graph"><l-echart ref="chartRef1" @finished="InitChart1"></l-echart></view>
            <view class="graph"><l-echart ref="chartRef2" @finished="InitChart2"></l-echart></view>
            <view class="graph"><l-echart style="height: 60vh;" ref="chartRef2" @finished="InitChart2"></l-echart></view>
        </view>
        <!-- 明细页签 -->
        <view class="bill-main-tabs">
            <view v-for="(item,index) in reportData" :key="index" :class="item.tab == tabs?'selected':''" @tap.stop="tabs = item.tab">
            <view v-for="(item,index) in reportData" :key="index" :class="item.tab == tabs?'selected':''"
                @tap.stop="tabs = item.tab">
                {{ item.label }}
            </view>
        </view>
        <!-- 明细查看 -->
        <view class="list" v-for="(item,index) in reportData" :key="index" v-if="item.tab == tabs">
            <view style="display: inline-flex; flex-direction: row; padding: 8rpx; gap: 4rpx;" v-for="(tag, cursor) in item.value" :key="cursor">
            <view style="display: inline-flex; flex-direction: row; padding: 8rpx; gap: 4rpx;"
                v-for="(tag, cursor) in item.value" :key="cursor">
                <uni-tag :text="tag" type="primary" custom-style="padding: 12rpx 16rpx;" />
            </view>
        </view>
@@ -159,13 +161,13 @@
                            acc.push(object)
                            return acc;
                        }, [])
                        console.log('data1: ',data1);
                        if(data1.length > 0) {
                        console.log('data1: ', data1);
                        if (data1.length > 0) {
                            this.tabs = data1[0].tab
                        }
                        this.reportData.splice(0)
                        this.reportData.push(...data1)
                        console.log('this.reportData: ',this.reportData);
                        console.log('this.reportData: ', this.reportData);
                        this.reportList = list
                    } else {
                        CommonUtils.showTips({
@@ -211,6 +213,8 @@
                let HOctober = []; //十月份数据
                let HNovember = []; //十一月份数据
                let HDecember = []; //十二月份数据
                let HYear = this.condition.year
                let HMonth = this.condition.month
                const labelOption = {
                    show: true,
                    position: 'top'
@@ -255,20 +259,24 @@
                    }
                }
                let option_ZZT = {
                    title: {
                        text: HYear + '年' + HMonth + '月' + this.condition.dimension + '统计图',
                        left: 'center'
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'shadow'
                        }
                    },
                    legend: {
                        data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                        itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                        itemHeight: 12, // 图例图标高度(可选)
                        textStyle: {
                            fontSize: 11 // 字体大小(可选,避免太占空间)
                        }
                    },
                    // legend: {
                    //     data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                    //     itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                    //     itemHeight: 12, // 图例图标高度(可选)
                    //     textStyle: {
                    //         fontSize: 11 // 字体大小(可选,避免太占空间)
                    //     }
                    // },
                    toolbox: {
                        show: false,
                        orient: 'vertical',
@@ -299,121 +307,147 @@
                        axisTick: {
                            show: true
                        },
                        data: HXTitle
                        data: HXTitle,
                        axisLabel: {
                            interval: 0, // 强制显示所有标签,不隐藏
                            rotate: -40, // 倾斜角度:30° / 45° / -45° 都可以
                            fontSize: 10
                        }
                    }],
                    yAxis: [{
                        type: 'value'
                    }],
                    series: [{
                            name: '1月',
                            type: 'bar',
                            barGap: 0,
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJanuary
                        },
                        {
                            name: '2月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HFebruary
                        },
                        {
                            name: '3月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMarch
                        },
                        {
                            name: '4月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HApril
                        },
                        {
                            name: '5月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMay
                        },
                        {
                            name: '6月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJune
                        },
                        {
                            name: '7月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJuly
                        },
                        {
                            name: '8月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HAugust
                        },
                        {
                            name: '9月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HSeptember
                        },
                        {
                            name: '10月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HOctober
                        },
                        {
                            name: '11月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HNovember
                        },
                        {
                            name: '12月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HDecember
                    series: (() => {
                        let dsObj = {}
                        const month = this.condition.month
                        if (month == 1) {
                            dsObj = {
                                name: '1月',
                                type: 'bar',
                                barGap: 0,
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJanuary
                            }
                        } else if (month == 2) {
                            dsObj = {
                                name: '2月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HFebruary
                            }
                        } else if (month == 3) {
                            dsObj = {
                                name: '3月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMarch
                            }
                        } else if (month == 4) {
                            dsObj = {
                                name: '4月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HApril
                            }
                        } else if (month == 5) {
                            dsObj = {
                                name: '5月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMay
                            }
                        } else if (month == 6) {
                            dsObj = {
                                name: '6月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJune
                            }
                        } else if (month == 7) {
                            dsObj = {
                                name: '7月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJuly
                            }
                        } else if (month == 8) {
                            dsObj = {
                                name: '8月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HAugust
                            }
                        } else if (month == 9) {
                            dsObj = {
                                name: '9月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HSeptember
                            }
                        } else if (month == 10) {
                            dsObj = {
                                name: '10月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HOctober
                            }
                        } else if (month == 11) {
                            dsObj = {
                                name: '11月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HNovember
                            }
                        } else if (month == 12) {
                            dsObj = {
                                name: '12月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HDecember
                            }
                        } else {
                            return {}
                        }
                    ]
                        return [dsObj]
                    })()
                };
                // 设置配置
pages/ZLGL/QualityReport/Sb_EquipRepairWorkBillReport.vue
@@ -9,12 +9,12 @@
                        v-model="condition.year">
                    </zxz-uni-data-select>
                </view>
                <!-- <view class="form-item">
                <view class="form-item">
                    <view class="title">{{$t("Gy.Month_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="monthSelector" dataKey="label" dataValue="value"
                        v-model="condition.month">
                    </zxz-uni-data-select>
                </view> -->
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.Dimension_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="dimensionSelector" dataKey="label" dataValue="value"
@@ -30,7 +30,7 @@
        <!-- 图表 -->
        <view class="graph-container">
            <view class="graph"><l-echart ref="chartRef1" @finished="InitChart1"></l-echart></view>
            <view class="graph"><l-echart ref="chartRef2" @finished="InitChart2"></l-echart></view>
            <view class="graph"><l-echart  style="height: 60vh;" ref="chartRef2" @finished="InitChart2"></l-echart></view>
        </view>
        <!-- 明细页签 -->
        <view class="bill-main-tabs">
@@ -211,6 +211,8 @@
                let HOctober = []; //十月份数据
                let HNovember = []; //十一月份数据
                let HDecember = []; //十二月份数据
                let HYear = this.condition.year
                let HMonth = this.condition.month
                const labelOption = {
                    show: true,
                    position: 'top'
@@ -255,20 +257,24 @@
                    }
                }
                let option_ZZT = {
                    title: {
                        text: HYear + '年' + HMonth + '月' + this.condition.dimension + '统计图',
                        left: 'center'
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'shadow'
                        }
                    },
                    legend: {
                        data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                        itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                        itemHeight: 12, // 图例图标高度(可选)
                        textStyle: {
                            fontSize: 11 // 字体大小(可选,避免太占空间)
                        }
                    },
                    // legend: {
                    //     data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                    //     itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                    //     itemHeight: 12, // 图例图标高度(可选)
                    //     textStyle: {
                    //         fontSize: 11 // 字体大小(可选,避免太占空间)
                    //     }
                    // },
                    toolbox: {
                        show: false,
                        orient: 'vertical',
@@ -299,121 +305,147 @@
                        axisTick: {
                            show: true
                        },
                        data: HXTitle
                        data: HXTitle,
                        axisLabel: {
                            interval: 0, // 强制显示所有标签,不隐藏
                            rotate: -40,  // 倾斜角度:30° / 45° / -45° 都可以
                            fontSize: 10
                          }
                    }],
                    yAxis: [{
                        type: 'value'
                    }],
                    series: [{
                            name: '1月',
                            type: 'bar',
                            barGap: 0,
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJanuary
                        },
                        {
                            name: '2月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HFebruary
                        },
                        {
                            name: '3月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMarch
                        },
                        {
                            name: '4月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HApril
                        },
                        {
                            name: '5月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMay
                        },
                        {
                            name: '6月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJune
                        },
                        {
                            name: '7月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJuly
                        },
                        {
                            name: '8月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HAugust
                        },
                        {
                            name: '9月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HSeptember
                        },
                        {
                            name: '10月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HOctober
                        },
                        {
                            name: '11月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HNovember
                        },
                        {
                            name: '12月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HDecember
                    series: (() => {
                        let dsObj = {}
                        const month = this.condition.month
                        if (month == 1) {
                            dsObj = {
                                name: '1月',
                                type: 'bar',
                                barGap: 0,
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJanuary
                            }
                        } else if (month == 2) {
                            dsObj = {
                                name: '2月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HFebruary
                            }
                        } else if (month == 3) {
                            dsObj = {
                                name: '3月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMarch
                            }
                        } else if (month == 4) {
                            dsObj = {
                                name: '4月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HApril
                            }
                        } else if (month == 5) {
                            dsObj = {
                                name: '5月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMay
                            }
                        } else if (month == 6) {
                            dsObj = {
                                name: '6月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJune
                            }
                        } else if (month == 7) {
                            dsObj = {
                                name: '7月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJuly
                            }
                        } else if (month == 8) {
                            dsObj = {
                                name: '8月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HAugust
                            }
                        } else if (month == 9) {
                            dsObj = {
                                name: '9月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HSeptember
                            }
                        } else if (month == 10) {
                            dsObj = {
                                name: '10月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HOctober
                            }
                        } else if (month == 11) {
                            dsObj = {
                                name: '11月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HNovember
                            }
                        } else if (month == 12) {
                            dsObj = {
                                name: '12月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HDecember
                            }
                        } else {
                            return {}
                        }
                    ]
                        return [dsObj]
                    })()
                };
                // 设置配置
@@ -487,7 +519,7 @@
    }
    @import url("../style/MJBillStyle.scss");
    .search-buttons {
        width: 100%;
        display: flex;
pages/ZLGL/QualityReport/Sc_MouldMaintainBillMainReport.vue
@@ -9,12 +9,12 @@
                        v-model="condition.year">
                    </zxz-uni-data-select>
                </view>
                <!-- <view class="form-item">
                <view class="form-item">
                    <view class="title">{{$t("Gy.Month_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="monthSelector" dataKey="label" dataValue="value"
                        v-model="condition.month">
                    </zxz-uni-data-select>
                </view> -->
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.Dimension_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="dimensionSelector" dataKey="label" dataValue="value"
@@ -30,17 +30,19 @@
        <!-- 图表 -->
        <view class="graph-container">
            <view class="graph"><l-echart ref="chartRef1" @finished="InitChart1"></l-echart></view>
            <view class="graph"><l-echart ref="chartRef2" @finished="InitChart2"></l-echart></view>
            <view class="graph"><l-echart style="height: 60vh;" ref="chartRef2" @finished="InitChart2"></l-echart></view>
        </view>
        <!-- 明细页签 -->
        <view class="bill-main-tabs">
            <view v-for="(item,index) in reportData" :key="index" :class="item.tab == tabs?'selected':''" @tap.stop="tabs = item.tab">
            <view v-for="(item,index) in reportData" :key="index" :class="item.tab == tabs?'selected':''"
                @tap.stop="tabs = item.tab">
                {{ item.label }}
            </view>
        </view>
        <!-- 明细查看 -->
        <view class="list" v-for="(item,index) in reportData" :key="index" v-if="item.tab == tabs">
            <view style="display: inline-flex; flex-direction: row; padding: 8rpx; gap: 4rpx;" v-for="(tag, cursor) in item.value" :key="cursor">
            <view style="display: inline-flex; flex-direction: row; padding: 8rpx; gap: 4rpx;"
                v-for="(tag, cursor) in item.value" :key="cursor">
                <uni-tag :text="tag" type="primary" custom-style="padding: 12rpx 16rpx;" />
            </view>
        </view>
@@ -159,13 +161,13 @@
                            acc.push(object)
                            return acc;
                        }, [])
                        console.log('data1: ',data1);
                        if(data1.length > 0) {
                        console.log('data1: ', data1);
                        if (data1.length > 0) {
                            this.tabs = data1[0].tab
                        }
                        this.reportData.splice(0)
                        this.reportData.push(...data1)
                        console.log('this.reportData: ',this.reportData);
                        console.log('this.reportData: ', this.reportData);
                        this.reportList = list
                    } else {
                        CommonUtils.showTips({
@@ -211,6 +213,8 @@
                let HOctober = []; //十月份数据
                let HNovember = []; //十一月份数据
                let HDecember = []; //十二月份数据
                let HYear = this.condition.year
                let HMonth = this.condition.month
                const labelOption = {
                    show: true,
                    position: 'top'
@@ -255,20 +259,24 @@
                    }
                }
                let option_ZZT = {
                    title: {
                        text: HYear + '年' + HMonth + '月' + this.condition.dimension + '统计图',
                        left: 'center'
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'shadow'
                        }
                    },
                    legend: {
                        data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                        itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                        itemHeight: 12, // 图例图标高度(可选)
                        textStyle: {
                            fontSize: 11 // 字体大小(可选,避免太占空间)
                        }
                    },
                    // legend: {
                    //     data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                    //     itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                    //     itemHeight: 12, // 图例图标高度(可选)
                    //     textStyle: {
                    //         fontSize: 11 // 字体大小(可选,避免太占空间)
                    //     }
                    // },
                    toolbox: {
                        show: false,
                        orient: 'vertical',
@@ -299,121 +307,147 @@
                        axisTick: {
                            show: true
                        },
                        data: HXTitle
                        data: HXTitle,
                        axisLabel: {
                            interval: 0, // 强制显示所有标签,不隐藏
                            rotate: -40, // 倾斜角度:30° / 45° / -45° 都可以
                            fontSize: 10
                        }
                    }],
                    yAxis: [{
                        type: 'value'
                    }],
                    series: [{
                            name: '1月',
                            type: 'bar',
                            barGap: 0,
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJanuary
                        },
                        {
                            name: '2月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HFebruary
                        },
                        {
                            name: '3月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMarch
                        },
                        {
                            name: '4月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HApril
                        },
                        {
                            name: '5月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMay
                        },
                        {
                            name: '6月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJune
                        },
                        {
                            name: '7月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJuly
                        },
                        {
                            name: '8月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HAugust
                        },
                        {
                            name: '9月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HSeptember
                        },
                        {
                            name: '10月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HOctober
                        },
                        {
                            name: '11月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HNovember
                        },
                        {
                            name: '12月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HDecember
                    series: (() => {
                        let dsObj = {}
                        const month = this.condition.month
                        if (month == 1) {
                            dsObj = {
                                name: '1月',
                                type: 'bar',
                                barGap: 0,
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJanuary
                            }
                        } else if (month == 2) {
                            dsObj = {
                                name: '2月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HFebruary
                            }
                        } else if (month == 3) {
                            dsObj = {
                                name: '3月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMarch
                            }
                        } else if (month == 4) {
                            dsObj = {
                                name: '4月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HApril
                            }
                        } else if (month == 5) {
                            dsObj = {
                                name: '5月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMay
                            }
                        } else if (month == 6) {
                            dsObj = {
                                name: '6月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJune
                            }
                        } else if (month == 7) {
                            dsObj = {
                                name: '7月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJuly
                            }
                        } else if (month == 8) {
                            dsObj = {
                                name: '8月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HAugust
                            }
                        } else if (month == 9) {
                            dsObj = {
                                name: '9月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HSeptember
                            }
                        } else if (month == 10) {
                            dsObj = {
                                name: '10月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HOctober
                            }
                        } else if (month == 11) {
                            dsObj = {
                                name: '11月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HNovember
                            }
                        } else if (month == 12) {
                            dsObj = {
                                name: '12月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HDecember
                            }
                        } else {
                            return {}
                        }
                    ]
                        return [dsObj]
                    })()
                };
                // 设置配置
pages/ZLGL/QualityReport/Sc_MouldRepairWorkBillReport.vue
@@ -9,12 +9,12 @@
                        v-model="condition.year">
                    </zxz-uni-data-select>
                </view>
                <!-- <view class="form-item">
                <view class="form-item">
                    <view class="title">{{$t("Gy.Month_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="monthSelector" dataKey="label" dataValue="value"
                        v-model="condition.month">
                    </zxz-uni-data-select>
                </view> -->
                </view>
                <view class="form-item">
                    <view class="title">{{$t("Gy.Dimension_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="dimensionSelector" dataKey="label" dataValue="value"
@@ -30,17 +30,19 @@
        <!-- 图表 -->
        <view class="graph-container">
            <view class="graph"><l-echart ref="chartRef1" @finished="InitChart1"></l-echart></view>
            <view class="graph"><l-echart ref="chartRef2" @finished="InitChart2"></l-echart></view>
            <view class="graph"><l-echart style="height: 70vh;" ref="chartRef2" @finished="InitChart2"></l-echart></view>
        </view>
        <!-- 明细页签 -->
        <view class="bill-main-tabs">
            <view v-for="(item,index) in reportData" :key="index" :class="item.tab == tabs?'selected':''" @tap.stop="tabs = item.tab">
            <view v-for="(item,index) in reportData" :key="index" :class="item.tab == tabs?'selected':''"
                @tap.stop="tabs = item.tab">
                {{ item.label }}
            </view>
        </view>
        <!-- 明细查看 -->
        <view class="list" v-for="(item,index) in reportData" :key="index" v-if="item.tab == tabs">
            <view style="display: inline-flex; flex-direction: row; padding: 8rpx; gap: 4rpx;" v-for="(tag, cursor) in item.value" :key="cursor">
            <view style="display: inline-flex; flex-direction: row; padding: 8rpx; gap: 4rpx;"
                v-for="(tag, cursor) in item.value" :key="cursor">
                <uni-tag :text="tag" type="primary" custom-style="padding: 12rpx 16rpx;" />
            </view>
        </view>
@@ -108,7 +110,7 @@
                condition: {
                    year: dayjs(new Date()).format("YYYY"),
                    month: dayjs(new Date()).format("M"),
                    dimension: '责任人'
                    dimension: '器具'
                }
            };
        },
@@ -159,13 +161,13 @@
                            acc.push(object)
                            return acc;
                        }, [])
                        console.log('data1: ',data1);
                        if(data1.length > 0) {
                        console.log('data1: ', data1);
                        if (data1.length > 0) {
                            this.tabs = data1[0].tab
                        }
                        this.reportData.splice(0)
                        this.reportData.push(...data1)
                        console.log('this.reportData: ',this.reportData);
                        console.log('this.reportData: ', this.reportData);
                        this.reportList = list
                    } else {
                        CommonUtils.showTips({
@@ -211,6 +213,8 @@
                let HOctober = []; //十月份数据
                let HNovember = []; //十一月份数据
                let HDecember = []; //十二月份数据
                let HYear = this.condition.year
                let HMonth = this.condition.month
                const labelOption = {
                    show: true,
                    position: 'top'
@@ -255,20 +259,24 @@
                    }
                }
                let option_ZZT = {
                    title: {
                        text: HYear + '年' + HMonth + '月' + this.condition.dimension + '统计图',
                        left: 'center'
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'shadow'
                        }
                    },
                    legend: {
                        data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                        itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                        itemHeight: 12, // 图例图标高度(可选)
                        textStyle: {
                            fontSize: 11 // 字体大小(可选,避免太占空间)
                        }
                    },
                    // legend: {
                    //     data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                    //     itemWidth: 12, // 图例图标宽度(可选,让布局更紧凑)
                    //     itemHeight: 12, // 图例图标高度(可选)
                    //     textStyle: {
                    //         fontSize: 11 // 字体大小(可选,避免太占空间)
                    //     }
                    // },
                    toolbox: {
                        show: false,
                        orient: 'vertical',
@@ -299,121 +307,149 @@
                        axisTick: {
                            show: true
                        },
                        data: HXTitle
                        data: HXTitle,
                        axisLabel: {
                            interval: 0, // 强制显示所有标签,不隐藏
                            rotate: -40,  // 倾斜角度:30° / 45° / -45° 都可以
                            fontSize: 10
                          }
                    }],
                    yAxis: [{
                        type: 'value'
                    }],
                    series: [{
                            name: '1月',
                            type: 'bar',
                            barGap: 0,
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJanuary
                        },
                        {
                            name: '2月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HFebruary
                        },
                        {
                            name: '3月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMarch
                        },
                        {
                            name: '4月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HApril
                        },
                        {
                            name: '5月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HMay
                        },
                        {
                            name: '6月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJune
                        },
                        {
                            name: '7月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HJuly
                        },
                        {
                            name: '8月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HAugust
                        },
                        {
                            name: '9月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HSeptember
                        },
                        {
                            name: '10月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HOctober
                        },
                        {
                            name: '11月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HNovember
                        },
                        {
                            name: '12月',
                            type: 'bar',
                            label: labelOption,
                            emphasis: {
                                focus: 'series'
                            },
                            data: HDecember
                    series: (() => {
                        let dsObj = {}
                        const month = this.condition.month
                        if (month == 1) {
                            dsObj = {
                                name: '1月',
                                type: 'bar',
                                barGap: 0,
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJanuary
                            }
                        } else if (month == 2) {
                            dsObj = {
                                name: '2月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HFebruary
                            }
                        } else if (month == 3) {
                            dsObj = {
                                name: '3月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMarch
                            }
                        } else if (month == 4) {
                            dsObj = {
                                name: '4月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HApril
                            }
                        } else if (month == 5) {
                            dsObj = {
                                name: '5月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HMay
                            }
                        } else if (month == 6) {
                            dsObj = {
                                name: '6月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJune
                            }
                        } else if (month == 7) {
                            dsObj = {
                                name: '7月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HJuly
                            }
                        } else if (month == 8) {
                            dsObj = {
                                name: '8月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HAugust
                            }
                        } else if (month == 9) {
                            dsObj = {
                                name: '9月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HSeptember
                            }
                        } else if (month == 10) {
                            dsObj = {
                                name: '10月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HOctober
                            }
                        } else if (month == 11) {
                            dsObj = {
                                name: '11月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HNovember
                            }
                        } else if (month == 12) {
                            dsObj = {
                                name: '12月',
                                type: 'bar',
                                label: labelOption,
                                emphasis: {
                                    focus: 'series'
                                },
                                data: HDecember
                            }
                        } else {
                            return {}
                        }
                    ]
                        return [dsObj]
                    })()
                };
                // 设置配置
@@ -441,7 +477,7 @@
                option_BT = {
                    title: {
                        text: HYear + '年' + this.condition.dimension +'分布图',
                        text: HYear + '年' + this.condition.dimension + '分布图',
                        left: 'center'
                    },
                    tooltip: {
@@ -460,6 +496,7 @@
                        type: 'pie',
                        radius: '50%',
                        data: option_BT_XData,
                        center: ['50%', '40%'],
                        emphasis: {
                            itemStyle: {
                                shadowBlur: 10,
pages/ZLGL/Sc_QualityReportBillMonth/Sc_QualityReportBillMonth.vue
New file
@@ -0,0 +1,515 @@
<template>
    <view>
        <!-- 查询条件 -->
        <view>
            <view class="form">
                <view class="form-item">
                    <view class="title">{{$t("Gy.Year_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="yearSelector" dataKey="label" dataValue="value"
                        v-model="condition.year">
                    </zxz-uni-data-select>
                </view>
                <!-- <view class="form-item">
                    <view class="title">{{$t("Gy.Month_Search")}}:</view>
                    <zxz-uni-data-select class="right" :localdata="monthSelector" dataKey="label" dataValue="value"
                        v-model="condition.month">
                    </zxz-uni-data-select>
                </view> -->
                <view class="form-item">
                    <view class="title">{{$t("Gy.MaterName")}}:</view>
                    <!-- <zxz-uni-data-select class="right" :localdata="dimensionSelector" dataKey="label" dataValue="value"
                        v-model="condition.dimension">
                    </zxz-uni-data-select> -->
                    <input class="right" type="text" v-model="condition.dimension" />
                </view>
                <view class="search-buttons">
                    <button class="btn-c" size="mini" type="default" @tap="search">查询</button>
                    <button class="btn-a" size="mini" type="default" @tap="clear">重置</button>
                </view>
            </view>
        </view>
        <!-- 图表 -->
        <view class="graph-container">
            <view class="graph"><l-echart ref="chartRef1" @finished="InitChart1"></l-echart></view>
            <!-- <view class="graph"><l-echart ref="chartRef2" @finished="InitChart2"></l-echart></view> -->
        </view>
        <!-- 明细查看 -->
        <scroll-view id="#BillListPanel" scroll-y="true" style="height: 55vh; padding: 20rpx 0;">
            <view class="list" v-show="reportData.length != 0">
                <uni-card v-for="(bill, index) in reportData" :key="index">
                    <view class="card-detail">
                        <view class="detail" v-for="(field, index) in reportList" :key="index">
                            <template v-if="field.ColmType == 'DateTime'">
                                <text>{{field.ColmCols}}:</text>{{dayjs(bill[field.ColmCols]).format('YYYY-MM-DD HH:mm:ss')}}
                            </template>
                            <template v-else>
                                <text>{{field.ColmCols}}:</text>{{bill[field.ColmCols]}}
                            </template>
                        </view>
                    </view>
                </uni-card>
            </view>
            <view class="over" v-show="reportData.length == 0">暂无数据</view>
        </scroll-view>
        <uni-pagination id="#pagination" @change="dataChange" v-model="page" :pageSize="size" :total="total"></uni-pagination>
    </view>
</template>
<script>
    import dayjs from 'dayjs';
    import {
        CommonUtils
    } from '../../../utils/common';
    import * as echarts from "echarts"
    import {
        getUserInfo
    } from '../../../utils/auth';
    export default {
        computed: {
            yearSelector: {
                get() {
                    let begin = this.year - 5
                    let end = this.year + 5
                    let yearArray = []
                    for (let i = begin; i <= end; i++) {
                        yearArray.push({
                            label: "" + i,
                            value: "" + i
                        })
                    }
                    return yearArray
                }
            },
            monthSelector: {
                get() {
                    let monthArray = []
                    for (let i = 1; i <= 12; i++) {
                        monthArray.push({
                            label: "" + i,
                            value: "" + i
                        })
                    }
                    return monthArray
                }
            },
            dimensionSelector: {
                get() {
                    let dimensionList = ['设备', '点检项目', '车间', '责任人']
                    return dimensionList.map(item => {
                        return {
                            label: item,
                            value: item,
                        }
                    })
                }
            }
        },
        data() {
            return {
                HModName: "Sc_QualityReportBillMonth",
                year: dayjs(new Date()).year(),
                reportData: [],
                reportDataCache: [],
                reportList: [],
                tabs: '',
                condition: {
                    year: dayjs(new Date()).format("YYYY"),
                    month: dayjs(new Date()).format("M"),
                    dimension: ''
                },
                page: 1,
                size: 20,
                total: 0,
            };
        },
        methods: {
            dataChange({current}) {
                this.page = current
                let dataSplit = this.reportDataCache.slice(this.page - 1, this.page * this.size)
                this.reportData = [...dataSplit]
            },
            search() {
                this.getReport()
            },
            clear() {
                this.page = 1
                this.condition.year = dayjs(new Date()).format("YYYY")
                this.condition.month = dayjs(new Date()).format("M")
                this.condition.dimension = ''
                this.getReport()
            },
            async getReport() {
                try {
                    let HBeginDate = dayjs().year(this.condition.year).startOf('year').format("YYYY-MM-DD")
                    let HEndDate = dayjs().year(this.condition.year).endOf('year').format("YYYY-MM-DD")
                    let sWhere = {
                        HYear: this.condition.year,
                        HWorkCenter: "",
                        HName: this.condition.dimension,
                        HBeginDate: HBeginDate,
                        HEndDate: HEndDate
                    }
                    let res = await CommonUtils.doRequest2Async({
                        url: '/Sc_QualityReportBill/getSc_QualityReportBillMonth',
                        data: {
                            sWhere: sWhere,
                            user: getUserInfo()["Czymc"]
                        }
                    })
                    let {
                        count,
                        data,
                        Message,
                        list
                    } = res.data
                    if (count == 1) {
                        this.writeReport(data)
                        // let data1 = Array.from(data).reduce((acc, cur) => {
                        //     let object = {}
                        //     object['value'] = []
                        //     for (let key in cur) {
                        //         if (cur.hasOwnProperty(key)) {
                        //             if (key == this.condition.dimension) {
                        //                 object["tab"] = cur[key]
                        //                 object["label"] = cur[key]
                        //                 continue;
                        //             }
                        //             if (key != '合计') {
                        //                 object['value'].push(`${key}: ${cur[key]}`)
                        //             }
                        //         }
                        //     }
                        //     acc.push(object)
                        //     return acc;
                        // }, [])
                        // if (data1.length > 0) {
                        //     this.tabs = data1[0].tab
                        // }
                        this.total = data.length
                        this.reportDataCache = data
                        let dataSplit = data.slice(this.page - 1, this.page * this.size)
                        this.reportData = [...dataSplit]
                        this.reportList = list
                    } else {
                        CommonUtils.showTips({
                            title: '温馨提示',
                            title: `获取图表数据失败: ${err}`
                        })
                    }
                } catch (err) {
                    CommonUtils.showTips({
                        title: '温馨提示',
                        title: `获取图表数据失败: ${err}`
                    })
                }
            },
            writeReport(data) {
                this.InitChart1(data)
            },
            async InitChart1(data) {
                const chart = await this.$refs.chartRef1.init(echarts)
                this.getChart1(chart, data)
            },
            async getChart1(chart, data) {
                let option_ZZT;
                let option = {}
                option['data'] = data || []
                //柱状图绑定数据
                let H_X = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']; //X轴标题
                let HProcSumNum = []; //生产总数量
                let HQualifiedNum = []; //合格总数量
                let HFirstPassRate = []; //直通率
                let HTitle = ""; //图形标题
                let monthlyTotals = [];
                // 遍历数据数组
                Array.from(option.data).forEach(data => {
                    let year = data["年"];
                    let month = data["月"];
                    let quantity = data["注塑数量"];
                    // 初始化年份对象
                    if (!monthlyTotals[year]) {
                        monthlyTotals[year] = {};
                    }
                    // 初始化月份对象
                    if (!monthlyTotals[year][month]) {
                        monthlyTotals[year][month] = 0;
                    }
                    // 累加数量
                    monthlyTotals[year][month] += quantity;
                });
                if (option.data.length > 0) {
                    let HMaterName = option.data[0].物料名称
                    for (let i = 0; i < H_X.length; i++) {
                        HProcSumNum.push(0);
                        HQualifiedNum.push(0);
                        HFirstPassRate.push(0);
                    }
                    // 填充数据
                    for (let i = 0; i < H_X.length; i++) {
                        let month = i + 1; // 1到12的月份
                        let year = this.condition.year // 当前年份
                        // 将 monthlyTotals 中的数量填充到 HProcSumNum 中
                        if (monthlyTotals[year] && monthlyTotals[year][month]) {
                            HProcSumNum[i] = monthlyTotals[year][month];
                        }
                    }
                    // 填充数据
                    for (let i = 0; i < option.data.length; i++) {
                        if (option.data[i].物料名称 === HMaterName) {
                            let monthIndex = option.data[i].月 - 1; // 月份在数组中的索引(注意转换为从0开始)
                            //HProcSumNum[monthIndex] += option.data[i].注塑数量;
                            // 处理注塑良率
                            let qualifiedRateString = option.data[i].注塑良率; // "5.00%"
                            let qualifiedRate = parseFloat(qualifiedRateString.replace('%', '')); // 移除百分号并转换为数字
                            HQualifiedNum[monthIndex] = qualifiedRate;
                            // 处理全检良率
                            let firstPassRateString = option.data[i].全检良率; // "5.00%"
                            let firstPassRate = parseFloat(firstPassRateString.replace('%', '')); // 移除百分号并转换为数字
                            HFirstPassRate[monthIndex] = firstPassRate;
                        }
                    }
                }
                option_ZZT = {
                    title: {
                        text: HTitle,
                        left: 'center'
                    },
                    grid: {
                        bottom: 40,
                        left: 50, // 给Y轴文字留一点位置
                        right: 40,
                        containLabel: false
                    },
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: {
                            type: 'cross',
                            crossStyle: {
                                color: '#999'
                            }
                        },
                        formatter: function(params) {
                            let tooltipHtml = params[0].axisValue + '<br>'; // X轴数值
                            params.forEach(function(item) {
                                if (item.seriesType === 'line') {
                                    let valueToShow = parseFloat(item.value); // 将字符串转换为数值
                                    tooltipHtml += item.seriesName + ': ' + valueToShow.toFixed(2) +
                                        '%' + '<br>'; // 折线图数据格式化为百分比
                                } else {
                                    tooltipHtml += item.seriesName + ': ' + item.value +
                                        '<br>'; // 柱状图数据直接显示
                                }
                            });
                            return tooltipHtml;
                        }
                    },
                    legend: {
                        data: ['注塑数量', '注塑良率', '全检良率'],
                        top: 'bottom'
                    },
                    xAxis: [{
                        type: 'category',
                        data: H_X,
                        axisPointer: {
                            type: 'shadow'
                        }
                    }],
                    yAxis: [{
                            type: 'value',
                            name: '生产数量',
                            axisLabel: {
                                formatter: (val) => {
                                    let returnText = ''
                                    if (val > 1000) {
                                        returnText = val / 1000.0 + '千'
                                    }
                                    if (val > 10000) {
                                        returnText = val / 10000.0 + '万'
                                    }
                                    if (val > 1000000) {
                                        returnText = val / 1000000.0 + '百万'
                                    }
                                    if (val > 10000000) {
                                        returnText = val / 10000000.0 + '千万'
                                    }
                                    if (val > 100000000) {
                                        returnText = val / 100000000.0 + '亿'
                                    }
                                    return returnText
                                },
                                textStyle: {
                                    fontSize: 10
                                }
                            }
                        },
                        {
                            type: 'value',
                            name: '趋势率%',
                            min: 0,
                            max: 100,
                            interval: 10,
                            axisLabel: {
                                formatter: '{value} ' + '%',
                                textStyle: {
                                    fontSize: 10
                                }
                            },
                        }
                    ],
                    series: [{
                            name: '注塑数量',
                            type: 'bar',
                            tooltip: {
                                valueFormatter: function(value) {
                                    return value;
                                }
                            },
                            itemStyle: {
                                normal: {
                                    label: {
                                        show: true, //开启显示
                                        textStyle: { //数值样式
                                            color: 'black',
                                            fontSize: 10
                                        }
                                    }
                                },
                                color: '#0000FF' // 设置柱状图黑色
                            },
                            data: HProcSumNum
                        },
                        {
                            name: '注塑良率',
                            type: 'line',
                            yAxisIndex: 1,
                            label: {
                                show: true,
                                formatter: '{c}%',
                                textStyle: { //数值样式
                                    fontSize: 10
                                }
                            },
                            data: HQualifiedNum
                        },
                        {
                            name: '全检良率',
                            type: 'line',
                            yAxisIndex: 1,
                            label: {
                                show: true,
                                formatter: '{c}%',
                                textStyle: { //数值样式
                                    fontSize: 10
                                }
                            },
                            data: HFirstPassRate
                        }
                    ]
                };
                // 设置配置
                chart.setOption(option_ZZT);
            },
        },
        onLoad() {
            this.getReport()
        }
    }
</script>
<style lang="scss">
    page {
        padding: 12rpx;
    }
    @import url("../style/MJBillStyle.scss");
    .search-buttons {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 20rpx;
        button {
            border-radius: 50rpx;
            width: 180rpx;
            height: 66rpx;
            line-height: 66rpx;
            font-size: 28rpx;
        }
        .btn-a {
            background-color: #acacac;
            color: #fff;
        }
        .btn-b {
            background-color: #41a863;
            color: #fff;
        }
        .btn-c {
            background-color: #3a78ff;
            color: #fff;
        }
    }
    .list {
        width: 100%;
        .card-detail {
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            line-height: 120%;
            .detail {
                // width: 50%;
                font-size: 26rpx;
                margin-bottom: 12rpx;
                color: #555;
                margin-right: 20rpx;
                text {
                    color: #999;
                    font-size: 26rpx;
                }
            }
        }
        .more {
            color: #888;
            font-size: 24rpx;
            display: flex;
            border-top: 1px solid #eee;
            padding-top: 20rpx;
            .part {
                width: 50%;
                text-align: center;
            }
        }
    }
</style>
pages/ZLGL/shoujianjianyan/firstCheckBill.vue
@@ -327,9 +327,13 @@
                                    <text>单位:</text>{{ checkItem.HUnit }}
                                </view>
                                <!-- 只有定量分析才启用检验值 -->
                                <!--
                                    TODO: 使用蓝牙卡尺在HID模式下,需将输入框的数据类型设置为number才能自动录入浮点数。
                                    需开发基于BLE模式的输入,或者根据不同的组织(公司)配置
                                -->
                                <view class="detail editable" v-show="checkItem.HAnalysisMethod == 2">
                                    <text>检验值:</text>
                                    <input type="number" class="editable-input" :data-index="checkItem.num"
                                    <input type="text" class="editable-input" :data-index="checkItem.num"
                                        :focus="checkItem.isFocus" @confirm.stop="calcHResult(checkItem, $event)"
                                        @blur.stop="calcHResult(checkItem, $event)" v-model="checkItem.HInspectValQ" />
@@ -2115,6 +2119,11 @@
                        checkItemsArray.push(checkItem);
                    }
                    console.log('checkItemsArray: ', checkItemsArray);
                    checkItemsArray.forEach(item => {
                        if(!item.HInspectValQ) {
                            item.HInspectValQ = "" // 没有检测值的情况下,检测值默认为0
                        }
                    })
                    let sMainSub =
                        `${JSON.stringify(this.hform)};${JSON.stringify(checkItemsArray)};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
                    console.log("this.checkItems: ", this.checkItems);
pages/ZLGL/shoujianjianyan/firstCheckBillList.vue
@@ -256,7 +256,7 @@
                try{
                    let res = await CommonUtils.doRequest2Sync({
                        method: 'GET',
                        url: 'QC_POStockInCheck_ValueTable/QC_POStockInCheckValue',
                        url: '/QC_ValueTable/QC_FirstPieceCheckValue',
                        data: {
                            HInterID: item["hmainid"],
                            IsAudit: mode,
pages/index/index.vue
@@ -191,7 +191,7 @@
                        hidden: false,
                    }, {
                        img: '../../static/icon/icon30.png',
                        text: '生产领料检验',
                        text: '生产领料校验',
                        url: '/pages/shengchanlingliao/PPickingCheckBill?OperationType=1',
                        id: 16,
                        hidden: false,
@@ -430,6 +430,12 @@
                        url: '/pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_Check?OperationType=1',
                        id: 49,
                        hidden: false,
                    },{
                        img: '../../static/icon/icon17.png',
                        text: '受托加工入库',
                        url: '/pages/CKGL/Kf_InceptEntInBill/Kf_InceptEntInBill',
                        id: 50,
                        hidden: false,
                    }
                ],
            }
pages/index/login.vue
@@ -111,7 +111,7 @@
                    "杭州凯贝奈特外网": 'http://erp.hzcabinet.cn:9090/API/',
                    "翁涛涛本地测试": 'http://localhost:81/API/',
                    "陈镐哲本地测试": 'http://192.168.0.174:81/API/',
                    "陈镐哲本地测试2": 'http://192.168.88.45:81/API/',
                    "陈镐哲本地测试2": 'http://192.168.88.63:81/API/',
                    "张瑞广本地测试": 'http://localhost:8082/API/',
                    "余思杰本地测试": 'http://localhost:8082/LuBaoAPI/',
                    "杨权鑫本地测试": 'http://192.168.0.180:8082/API/',
@@ -137,7 +137,7 @@
                    "添康科技": "http://61.164.219.166:12137/APPAPI/"
                    
                },
                serverUrlName: uni.getStorageSync('serverUrlName'),
                serverUrlName: uni.getStorageSync('serverUrlName') || '浙江智云迈思',
                arrayOrganization: [],
                Organization: '',
pages/index/tab1.vue
@@ -261,6 +261,22 @@
                        id: 24,
                        hidden: false,
                    },
                    {
                        img: '../../static/icon/icon0.png',
                        text: '生产质量月汇报单',
                        tip: '生产质量月汇报单',
                        url: '/pages/ZLGL/Sc_QualityReportBillMonth/Sc_QualityReportBillMonth',
                        id: 25,
                        hidden: false,
                    },
                    {
                        img: '../../static/icon/icon0.png',
                        text: '全程追溯报表(生产订单)',
                        tip: '全程追溯报表(生产订单)',
                        url: '/pages/ZLGL/QC_FiveMenOneRingList_ICMO/QC_FiveMenOneRingList_ICMO',
                        id: 26,
                        hidden: false,
                    },
                ]
            }
        },
pages/index/tab4.vue
@@ -179,7 +179,7 @@
                    // },
                    {
                        "img": "../../static/icon/icon15.png",
                        "text": "还样单",
                        "text": "取样单",
                        "url": "/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill?operationType=0",
                        "id": 18,
                        "hidden": false
pages/shebeidangan/Gy_EquipFileMainBill.vue
@@ -262,7 +262,9 @@
    </view>
</template>
<script>
    import getDateTime from '@/utils/getdateTime.js';
    import dayjs from 'dayjs';
import getDateTime from '@/utils/getdateTime.js';
import { getUserInfo } from '../../utils/auth';
    export default {
        data() {
            return {
@@ -328,6 +330,10 @@
                    HRepairEmpID:0,
                    HMakeSupName:'',
                    HMakeSupID:0,
                    HMakeDate: dayjs(new Date()).format("YYYY-MM-DD"),
                    HCheckDate: "",
                    HCloseDate:"",
                    HUpDateDate:"",
                    
                    HOutComDate:'',
                    HAddress:'',
@@ -827,9 +833,9 @@
                                HModel:data.设备规格,
                                HModel2:data.设备型号,
                                
                                HEquipMaintainRuleInterName:data.默认保养规程,
                                HEquipMaintainRuleInterName:data.默认保养规程 || "",
                                HEquipMaintainRuleInterID:data.HEquipMaintainRuleInterID||0,
                                HEquipDotCheckRuleInterName:data.默认点检规程,
                                HEquipDotCheckRuleInterName:data.默认点检规程 || "",
                                HEquipDotCheckRuleInterID:data.HEquipDotCheckRuleInterID||0,
                                HSourceName:data.HSourceName,
                                HSourceID:data.HSourceID||0,
@@ -861,6 +867,29 @@
                                HWorkArea:data.产地,
                                HLogo:data.品牌,
                                HStatus:data.当前状态,
                                "HMacAddress": data.数采物理地址,
                                "HIPAddress": data.数采IP地址,
                                "HLinkNETMode": data.联网方式,
                                "HCollectMode": data.采集方式,
                                "HCollectClass": data.采集类型,
                                "HMainSourceFlag": data.是否主生产设备 || "否",
                                "HMainSourceName": data.所属主生产设备 || "",
                                "HMainSourceID": data.HMainSourceID || 0,
                                "HCREATEORGID": data.HUSEORGID,
                                "HUSEORGID": data.HUSEORGID,
                                "HMaker": data.制单人 || "",
                                "HChecker": data.审核人 || "",
                                "HCloseMan": data.关闭人 || "",
                                "HMakeDate": data.制单日期,
                                "HCheckDate": data.审核日期,
                                "HCloseDate": data.关闭日期 || "",
                                "HUpDateDate": dayjs(new Date()).format("YYYY-MM-DD hh:mm:ss"),
                                "HDeleteMan": data.作废人 || "",
                                "HDeleteDate": data.作废日期,
                                HUseEmpID: data.HUseEmpID,
                                HRepairEmpID: data.HRepairEmpID,
                                "checkbox": "true"
                            }
                        }else{
                            uni.showToast({
@@ -996,12 +1025,12 @@
                    if(this.isEdit){
                        this.hform.HUpDater = uni.getStorageSync('HUserName');//修改人
                        var sMainStr = JSON.stringify(this.hform);
                        var sMainSub = sMainStr + ";" + ModRightNameAdd + ";" + uni.getStorageSync('HUserName');
                        var sMainSub = sMainStr + ";" + uni.getStorageSync('HUserName');
                        var urls = '/Gy_EquipFileMain/EditBill'
                    }else{
                        this.hform.HMaker = uni.getStorageSync('HUserName');//制单人
                        var sMainStr = JSON.stringify(this.hform);
                        var sMainSub = sMainStr + ";" + ModRightNameAdd + ";" + uni.getStorageSync('HUserName');
                        var sMainSub = sMainStr + ";" + uni.getStorageSync('HUserName');
                        var urls = '/Gy_EquipFileMain/AddBill'
                    }
                    console.log(sMainSub);
pages/shebeidangan/Gy_EquipFileMainBillList.vue
@@ -16,7 +16,7 @@
            
            <view class="buttons">
                <button class="btn-a" size="mini" type="default" @tap="clear">重置</button>
                <button class="btn-b" size="mini" type="default" @tap="creat">新增</button>
                <!-- <button class="btn-b" size="mini" type="default" @tap="creat">新增</button> -->
                <button class="btn-c" size="mini" type="default" @tap="search">查询</button>
            </view>
        </view>
@@ -179,7 +179,7 @@
                <view class="op" v-if="operations == index">
<!--                     <button class="op1" size="mini" plain @tap.stop="check(item)">审核</button>
                    <button class="op2" size="mini" plain @tap.stop="antiCheck(item)">反审核</button> -->
                    <button class="op3" size="mini" plain @tap.stop="edit(item)">编辑</button>
                    <!-- <button class="op3" size="mini" plain @tap.stop="edit(item)">编辑</button> -->
                    <button class="op4" size="mini" plain @tap.stop="del(item)">删除</button>
                    <button class="op5" size="mini" plain @tap.stop="operations = -1">取消操作</button>
                </view>
pages/weiwairuku/EntrustInBill.vue
@@ -565,79 +565,6 @@
            showBillList() {
                this.$refs.billList.showPopup()
            },
            //扫其他(仓库,仓位)
            // toScanData(e){
            //     uni.scanCode({
            //         onlyFromCamera: true,
            //         success: (res) => {
            //             console.log('条码内容:' + res.result);
            //             var code = res.result
            //             if(e == 1){
            //                 uni.request({
            //                     url: this.serverUrl + '/WEBSController/GetWarehouse_Json',
            //                     data: {HBarCode:code,HStockOrgID:uni.getStorageSync('OrganizationID')},
            //                     success: (res) => {
            //                         this.hform.HStockPlaceID = 0
            //                         this.hform.HStockPlaceName = ''
            //                         this.showHStockPlaceName = true
            //                         if(res.data.count == 1){
            //                             var data = res.data.data[0]
            //                             this.hform.HWHID = data.HItemID
            //                             this.hform.HWHName = data.HName
            //                             if (data.HSPFlag == 0) {
            //                                 this.showHStockPlaceName = false
            //                             }
            //                         }else{
            //                             this.hform.HWHID = 0
            //                             this.hform.HWHName = ''
            //                             uni.showToast({
            //                                 title:res.data.Message,
            //                                 icon:'none'
            //                             })
            //                         }
            //                     },
            //                     fail: (res) => {
            //                         console.log(res);
            //                         uni.showToast({
            //                             title:'仓库数据请求失败',
            //                             icon:'none'
            //                         })
            //                     },
            //                 });
            //             }else if(e == 2){
            //                 uni.request({
            //                     url: this.serverUrl + '/WEBSController/GetStockPlace_Json',
            //                     data: {HBarCode:code,HStockOrgID:uni.getStorageSync('OrganizationID'),HWhID: this.hform.HWHID},
            //                     success: (res) => {
            //                         if(res.data.count == 1){
            //                             var data = res.data.data[0]
            //                             this.hform.HWHID = data.HWHID
            //                             this.hform.HWHName = data.HWhName
            //                             this.hform.HStockPlaceID = data.HItemID
            //                             this.hform.HStockPlaceName = data.HName
            //                         }else{
            //                             this.hform.HWHID = 0
            //                             this.hform.HWHName = ''
            //                             this.hform.HStockPlaceID = 0
            //                             this.hform.HStockPlaceName = ''
            //                             uni.showToast({
            //                                 title:res.data.Message,
            //                                 icon:'none'
            //                             })
            //                         }
            //                     },
            //                     fail: (res) => {
            //                         console.log(res);
            //                         uni.showToast({
            //                             title:'仓库数据请求失败',
            //                             icon:'none'
            //                         })
            //                     },
            //                 });
            //             }
            //         }
            //     });
            // },
            //日期
            HDateChange(e) {
                console.log(e.detail.value)
@@ -1257,6 +1184,7 @@
                            }
                            //显示表体明细
                            this.DisBillEntryList()
                            this.refreshBarCodeState()
                            //清空数量
                            this.hform.HQty = ''
                        } else {