Houjie
昨天 964faa1077a89713910063c39ebe08fac4e4c56e
企业维修适配修改
已修改37个文件
已删除2个文件
485 ■■■■■ 文件已修改
common/router/modules/routes.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/service/config.service.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/TaskManager/TaskManagerDeils/TaskManagerDeils.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/TaskManager/TaskManagerList.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ToDoList/ToDoBaoZhou/ToDoBaoZhou.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ToDoList/ToDoBaoZhouSure/ToDoBaoZhouSure.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ToDoList/ToDoList.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ToDoList/ToDoListCheckSure/ToDoListCheckSure.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ToDoList/ToDoListDeils/ToDoCheckDetils/ToDoCheckDetils.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ToDoList/ToDoListDeils/ToDoListDeils.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/ToDoList/ToDoSpareParts/ToDoSpareParts.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/baoZhou/baoZhou.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/baoZhou/baoZhouDetils/baoZhouDetils.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/checkList/checkList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/checkList/checkListDetils/checkListDetils.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/common/helloWorld.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/device/device.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/device/deviceDeils/deviceDeils.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/device/deviceWebDeils/deviceWebDeils.vue 168 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/historicalInspection/historicalInspection.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/historicalMaintenance/historicalMaintenance.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/historicalRepair/historicalRepair.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.vue 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/loginOauth2.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/maintenanceReport/maintenanceReport.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/maintenanceReport/maintenanceReportDetils/maintenanceReportDetils.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/reportRepair/reportRepair.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/reportRepair/reportRepairDeils/reportRepairDeils.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/spare/spare.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/people.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/banner/eam_banner1.png 补丁 | 查看 | 原始文档 | blame | 历史
static/banner/eam_banner2.png 补丁 | 查看 | 原始文档 | blame | 历史
static/banner/eam_banner3.png 补丁 | 查看 | 原始文档 | blame | 历史
static/banner/eam_banner4.png 补丁 | 查看 | 原始文档 | blame | 历史
store/index.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/router/modules/routes.js
@@ -318,7 +318,7 @@
        meta: {
            title: 'helloWorld',
        },
    },
    }
]
common/service/config.service.js
@@ -1,12 +1,14 @@
let BASE_URL = 'http://192.168.1.68:9918/jeecg-boot'
let BASE_URL = ''
if (process.env.NODE_ENV == 'development') {
    
    BASE_URL = 'http://192.168.1.68:9918/jeecg-boot' // 开发环境
    BASE_URL = '/jeecg-boot' // 开发环境
} else {
    BASE_URL = 'http://192.168.1.68:9918/jeecg-boot' // 生产环境
    BASE_URL = '/jeecg-boot' // 生产环境
}
let staticDomainURL ='/sys/common/static';
let staticURL ='http://125.76.225.53:8086/jeecg-boot/sys/common/static/';
// let staticURL ='http://125.76.225.53:8086/jeecg-boot/sys/common/static/';
let staticURL ='https://fastwoke.cn:8087/jeecg-boot/sys/common/static/';
const configService = {
    apiUrl: BASE_URL,
    staticDomainURL: staticDomainURL,
manifest.json
@@ -80,23 +80,23 @@
    },
    "h5" : {
        "title" : "设备管理",
        "domain" : "houjie.xalxzn.com",
        "domain" : "fastwoke.cn",
        "router" : {
            "mode" : "hash",
            "base" : "/h5/"
        },
      //   "devServer" : {
      //       "port" : "8866",
      //       "https" : false,
      //       "proxy" : {
      //           /**配置服务器路径**/
      //           "/jeecg-boot" : {
      //               "target" : "http://houjie.xalxzn.com:8866",
      //               "changeOrigin" : true,
                     // "secure": false
      //           }
      //       }
      //   },
        "devServer" : {
            "port" : 8086,
            "https" : false,
            "proxy" : {
                /**配置服务器路径**/
                "/jeecg-boot" : {
                    "target" : "https://192.168.4.20:8086",
                    "changeOrigin" : true,
                    "secure" : false
                }
            }
        },
        "optimization" : {
            "treeShaking" : {
                "enable" : false
package-lock.json
@@ -1,6 +1,8 @@
{
  "requires": true,
  "name": "da-dropdown 下拉筛选菜单(支持主题色、功能丰富,Vue2版)",
  "version": "2.2.1",
  "lockfileVersion": 1,
  "requires": true,
  "dependencies": {
    "@dcloudio/uni-ui": {
      "version": "1.5.7",
@@ -19,8 +21,7 @@
    "@zxing/text-encoding": {
      "version": "0.9.0",
      "resolved": "https://registry.npmmirror.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz",
      "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==",
      "optional": true
      "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA=="
    },
    "file-saver": {
      "version": "2.0.5",
@@ -32,6 +33,11 @@
      "resolved": "https://registry.npmmirror.com/html5-qrcode/-/html5-qrcode-2.3.8.tgz",
      "integrity": "sha512-jsr4vafJhwoLVEDW3n1KvPnCCXWaQfRng0/EEYk1vNcQGcG/htAdhJX0be8YyqMoSz7+hZvOZSTAepsabiuhiQ=="
    },
    "openai": {
      "version": "5.8.3",
      "resolved": "https://registry.npmmirror.com/openai/-/openai-5.8.3.tgz",
      "integrity": "sha512-IdotKmquCnpouTRvF9xRXVhMx6K5Sc8zkD6Usf+so+NTQ+qiJ8bLSCd7LBb8b/Rof7uYltlSxJhNp+spphKI4Q=="
    },
    "ts-custom-error": {
      "version": "3.3.1",
      "resolved": "https://registry.npmmirror.com/ts-custom-error/-/ts-custom-error-3.3.1.tgz",
pages.json
@@ -350,6 +350,7 @@
        }
    ],
    "globalStyle": {
        "mp-alipay": {
@@ -358,7 +359,7 @@
            "allowsBounceVertical": "NO"
        },
        "navigationBarBackgroundColor": "#0081ff",
        "navigationBarTitleText": "MDC",
        "navigationBarTitleText": "设备管理",
        "navigationStyle": "custom",
        "navigationBarTextStyle": "white"
    },
pages/TaskManager/TaskManagerDeils/TaskManagerDeils.vue
@@ -351,20 +351,20 @@
                    this.partTakeAdviceDetailList.forEach(item => {
                        item.restle = [{
                                text: "正常",
                                value: 1
                                value: "1"
                            },
                            {
                                text: "异常",
                                value: 2
                                value: "2"
                            }
                        ]; // 新字段,值为一个空数组
                        item.type = [{
                                text: "否",
                                value: 0
                                value: "0"
                            },
                            {
                                text: "是",
                                value: 1
                                value: "1"
                            }
                        ]; // 新字段,值为一个空数组
                        item.istrue = true;
@@ -574,7 +574,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/TaskManager/TaskManagerList.vue
@@ -49,16 +49,17 @@
                        @click="onClickProductionTask(item)">
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">流程分类:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-bold text-blue  radius text-right">
                            <view
                                class="flex-sub bg-white padding-xs margin-xs   text-bold text-blue  radius text-right">
                                {{item.category_dictText}}
                            </view>
                        </view>
                        <view class="flex">
                        <!-- <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">流程名称:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
                                {{item.procDefName}}
                            </view>
                        </view>
                        </view> -->
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">任务名称:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-orange   radius text-right">
@@ -214,6 +215,9 @@
                    case (name === '维修执行' && type === '设备维修'):
                        url = '/pages/ToDoList/ToDoSpareParts/ToDoSpareParts';
                        break;
                    case (name === '维修工接单' && type === '设备维修'):
                        url = '/pages/ToDoList/ToDoSpareParts/ToDoSpareParts';
                        break;
                    case (name === '点检工单' && type === '设备点检'):
                        url = '/pages/ToDoList/ToDoListCheckSure/ToDoListCheckSure';
                        break;
@@ -226,10 +230,14 @@
                }
                if (url) {
                    uni.redirectTo({
                    uni.navigateTo({
                        url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}&flag=${flag}`
                    });
                    // uni.redirectTo({
                    //     url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}&flag=${flag}`
                    // });
                }
            },
@@ -348,7 +356,7 @@
    }
    .popupView {
        margin-top: 45px;
        margin-top: 55px;
        height: auto;
    }
</style>
pages/ToDoList/ToDoBaoZhou/ToDoBaoZhou.vue
@@ -409,11 +409,11 @@
                        ]; // 新字段,值为一个空数组
                        item.type = [{
                                text: "否",
                                value: 0
                                value: "0"
                            },
                            {
                                text: "是",
                                value: 1
                                value: "1"
                            }
                        ]; // 新字段,值为一个空数组
                        item.istrue = true;
@@ -580,7 +580,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
pages/ToDoList/ToDoBaoZhouSure/ToDoBaoZhouSure.vue
@@ -429,9 +429,6 @@
                            title: '提交成功',
                            duration: 2000
                        });
                        // this.$Router.replace({
                        //     name: 'ToDoList'
                        // })
                        this.$Router.replaceAll({
                            name: 'ToDoList'
                        })
@@ -973,7 +970,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
pages/ToDoList/ToDoList.vue
@@ -26,17 +26,19 @@
                                <uni-easyinput v-model="formData.num" placeholder="请输入设备编号" />
                            </uni-forms-item>
                        </uni-group>
                    </uni-forms>
                        <uni-forms-item>
                    <view class="flex">
                        <view
                            class="cuIcon-search flex-sub bg-blue padding-sm margin-xs margin-left-lg margin-right-lg text-sm text-center"
                                    class="cuIcon-search flex-sub bg-blue radius padding-sm margin-xs margin-left-lg margin-right-lg text-sm text-center"
                            @click="getSera">查询
                        </view>
                        <view
                            class="cuIcon-refresh flex-sub bg-white solids padding-sm margin-xs radius text-sm text-center margin-left-lg margin-right-lg"
                            @click="resetTask">重置</view>
                    </view>
                        </uni-forms-item>
                    </uni-forms>
                </view>
            </uni-popup>
@@ -55,12 +57,12 @@
                                {{item.category_dictText}}
                            </view>
                        </view>
                        <view class="flex">
                        <!-- <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">流程名称:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
                                {{item.flowName}}
                            </view>
                        </view>
                        </view> -->
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">之前处理人:</view>
@@ -96,6 +98,8 @@
</template>
<script>
    import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
    export default {
        mixins: [MescrollMixin], // 使用mixin
@@ -212,7 +216,7 @@
                    case (name === '设能部终验' && type === '设备周保'):
                        url = '/pages/ToDoList/ToDoBaoZhouSure/ToDoBaoZhouSure';
                        break;
                    case (name === '管理员领用备件' && type === '设备维修'):
                    case (name === '等待备件中' && type === '设备维修'):
                        url = '/pages/ToDoList/ToDoSpareParts/ToDoSpareParts';
                        break;
                    case (name === '操作工确认' && type === '设备维修'):
@@ -223,6 +227,8 @@
                        break;
                    case (name === '点检工单' && type === '设备点检'):
                        url = '/pages/ToDoList/ToDoListDeils/ToDoCheckDetils';
                        case (name === '点检工单' && type === '设备点检'):
                            url = '/pages/ToDoList/ToDoListDeils/ToDoCheckDetils';
                        
                        break;
                    default:ToDoCheckDetils
@@ -231,9 +237,13 @@
                }
                if (url) {
                    uni.redirectTo({
                    uni.navigateTo({
                        url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}`
                    });
                    // uni.redirectTo({
                    //     url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}`
                    // });
                }
            },
@@ -352,7 +362,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/ToDoList/ToDoListCheckSure/ToDoListCheckSure.vue
@@ -97,7 +97,7 @@
                        <view class="flex">
                            <view class="flex-sub text-light bg-white  padding-xs margin-xs radius">异常是否报修:</view>
                            <view class="flex-sub bg-white padding-xs     text-right margin-xs radius">
                                <uni-data-select :localdata="item.type" v-model="item.reportFlag"
                                <uni-data-select :localdata="item.type"  @change="handleType($event, index)"  v-model="item.reportFlag"
                                    :disabled="item.istrue" />
                            </view>
                        </view>
@@ -202,6 +202,7 @@
                taskId: '',
                imageFilesList: [],
                inspectionResult: '',
                reportFlag:'',
                upOption: {
                    page: {
                        num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
@@ -374,6 +375,9 @@
            changeEquipmentList(e) {
                this.formData.num = e;
            },
            handleType(e, index) {
                console.log(e);
            },
            handleCode(e, index) {
                console.log(index);
                // 根据 e 的值来判断是否需要更新 isTrue 的状态
@@ -431,11 +435,11 @@
                        ]; // 新字段,值为一个空数组
                        item.type = [{
                                text: "否",
                                value: 0
                                value: "0"
                            },
                            {
                                text: "是",
                                value: 1
                                value: "1"
                            }
                        ]; // 新字段,值为一个空数组
                        item.istrue = true;
@@ -645,7 +649,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
pages/ToDoList/ToDoListDeils/ToDoCheckDetils/ToDoCheckDetils.vue
@@ -464,11 +464,11 @@
                        ]; // 新字段,值为一个空数组
                        item.type = [{
                                text: "否",
                                value: 0
                                value: "0"
                            },
                            {
                                text: "是",
                                value: 1
                                value: "1"
                            }
                        ]; // 新字段,值为一个空数组
                        item.istrue = true;
@@ -651,7 +651,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
pages/ToDoList/ToDoListDeils/ToDoListDeils.vue
@@ -376,7 +376,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/ToDoList/ToDoSpareParts/ToDoSpareParts.vue
@@ -24,8 +24,16 @@
                    <uni-forms-item :label-width="100" name="installationPosition_dictText" label="安装位置:">
                        <uni-easyinput v-model="formData.installationPosition_dictText" :disabled="true" />
                    </uni-forms-item>
                    <uni-forms-item :label-width="100" name="faultName" label="故障简称:">
                        <uni-easyinput v-model="formData.faultName" :disabled="true" />
                    <uni-forms-item :label-width="100" name="faultType" label="故障简称:">
                        <uni-easyinput v-model="formData.faultType_dictText" :disabled="true" />
                    </uni-forms-item>
                    <uni-forms-item  :label-width="100" name="faultDescription" label="故障描述:">
                        <uni-easyinput v-model="formData.faultDescription" :disabled="true" />
                    </uni-forms-item>
                    <uni-forms-item :label-width="100" name="outNum" label="报修图片:">
                        <uni-file-picker limit="9" :value="fileList" :image-styles="imageStyles" @select="select"
                            :sourceType="sourceType" @progress="progress" @success="success" @fail="fail"
                            @delete="deletea" :readonly="readonly" />
                    </uni-forms-item>
                    <uni-forms-item :label-width="100" name="remark" label="故障开始时间:">
                        <uni-easyinput v-model="formData.faultStartTime" :disabled="true" />
@@ -42,15 +50,10 @@
                    <uni-forms-item :label-width="100" name="repairerPhone_dictText" label="维修人电话:">
                        <uni-easyinput v-model="formData.repairerPhone_dictText" :disabled="true" />
                    </uni-forms-item>
                    <uni-forms-item :label-width="100" name="remark" label="备注:">
                    <!-- <uni-forms-item :label-width="100" name="remark" label="备注:">
                        <uni-easyinput v-model="formData.remark" :disabled="true" />
                    </uni-forms-item>
                    <uni-forms-item :label-width="100" name="outNum" label="报修图片:">
                    </uni-forms-item> -->
                        <uni-file-picker limit="9" :value="fileList" :image-styles="imageStyles" @select="select"
                            :sourceType="sourceType" @progress="progress" @success="success" @fail="fail"
                            @delete="deletea" :readonly="readonly" />
                    </uni-forms-item>
                    <view class="divider"><text>是否需要领用备件</text></view>
                    <uni-forms-item :label-width="140" required name="num" label="是否需要领用备件:">
@@ -589,12 +592,13 @@
                        this.formData.repairCode = this.announcement1.repairCode
                        this.formData.installationPosition_dictText = this.announcement1
                            .installationPosition_dictText
                        this.formData.faultName = this.announcement1.faultName
                        this.formData.faultType_dictText = this.announcement1.faultType_dictText
                        this.formData.repairer_dictText = this.announcement1.repairer_dictText
                        this.formData.repairerPhone_dictText = this.announcement1.repairerPhone_dictText
                        this.formData.reporter_dictText = this.announcement1.reporter_dictText
                        this.formData.reporterPhone_dictText = this.announcement1.reporterPhone_dictText
                        this.formData.faultStartTime = this.announcement1.faultStartTime
                        this.formData.faultDescription=this.announcement1.faultDescription
                        this.formData.remark = this.announcement1.remark
                        this.formData.repairDescription = this.announcement1.repairDescription
                        this.formData.faultReason = this.announcement1.faultReason
@@ -722,7 +726,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/baoZhou/baoZhou.vue
@@ -340,7 +340,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/baoZhou/baoZhouDetils/baoZhouDetils.vue
@@ -393,7 +393,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/checkList/checkList.vue
@@ -417,7 +417,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/checkList/checkListDetils/checkListDetils.vue
@@ -394,7 +394,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
pages/common/helloWorld.vue
@@ -256,7 +256,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/device/device.vue
@@ -5,7 +5,7 @@
        </cu-custom>
        <view class="container">
            <uni-search-bar @confirm="search" :focus="true" v-model="searchValue"  placeholder="请通过名称检索"
            <uni-search-bar @confirm="search" :focus="true" v-model="searchValue"  placeholder="请通过设备名称检索"
                 @input="input" @cancel="cancel()"  cancelButton="always">
            </uni-search-bar>
            <mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top" @down="downCallback" @up="upCallback">
@@ -231,7 +231,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/device/deviceDeils/deviceDeils.vue
@@ -516,7 +516,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
pages/device/deviceWebDeils/deviceWebDeils.vue
@@ -3,18 +3,15 @@
        <cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="productionTask">
            <block slot="backText">返回</block>
            <block slot="content">设备详情</block>
            <block slot="right">
      <!--             <block slot="right">
                <view @click="goHome">
                    <image class="search" src="/static/icon/icon_home.png" style="width: 25px; height: 25px;" alt="" />
                </view>
            </block>
            </block> -->
        </cu-custom>
        <view class="container">
            <uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
                <uni-group top="1">
                    <uni-forms-item :label-width="100" required name="num" label="设备编号:">
                        <uni-easyinput v-model="formData.equipmentCode" :disabled="true" />
                    </uni-forms-item>
@@ -22,9 +19,6 @@
                    <uni-forms-item :label-width="100" name="remark" label="设备名称:">
                        <uni-easyinput v-model="formData.equipmentName" :disabled="true" />
                    </uni-forms-item>
                    <!-- <uni-forms-item :label-width="100" name="outNum" label="关键设备标识:">
                    <uni-easyinput v-model="formData.equipmentImportance" :disabled="true" />
                </uni-forms-item> -->
                    <view class="text-gray margin-bottom-lg">—————————— 基本信息 ——————————</view>
                    <uni-forms-item :label-width="100" name="taskCode" label="维修状态:">
                        <uni-easyinput :disabled="true" v-model="formData.repairStatus_dictText" />
@@ -50,6 +44,13 @@
                    <uni-forms-item :label-width="100" name="endLocation" label="出厂日期:">
                        <uni-easyinput :disabled="true" v-model="formData.leaveFactoryDate" />
                    </uni-forms-item>
          <uni-forms-item :label-width="100" name="outNum" label="设备文档:">
            <uni-file-picker v-model="fileLists" :extension="['.pdf']" @fail="uploadFail"
                             :list-styles="listStyles" :delIcon="del" :max-count="5" file-mediatype="all"
                             @downloadFile="downloadFile" @select="onFileSelect" @delete="onFileDelete">
              <button size="mini" type="primary">点击上传</button>
            </uni-file-picker>
          </uni-forms-item>
                </uni-group>
            </uni-forms>
            <view class="file-list margin-sm">
@@ -72,14 +73,19 @@
                </view>
            </view>
            <view class="flex  margin-bottom-xs">
                <button v-if="authIncludes('eam:reportRepair:add')"  class="flex-sub  cu-btn bg-blue margin-sm   lg" hover-class="is-hover"
                    @click="goReportRepair()">报修</button>
        <button v-if="authIncludes('eam:reportRepair:add')" class="flex-sub  cu-btn bg-blue margin-sm   lg"
                hover-class="is-hover"
                @click="goReportRepair()">报修
        </button>
                <button class="flex-sub  cu-btn bg-blue margin-sm   lg" hover-class="is-hover"
                    @click="goCheck()">点检</button>
                @click="goCheck()">点检
        </button>
                <button class="flex-sub  cu-btn bg-blue margin-sm   lg" hover-class="is-hover"
                    @click="goBaoZhou()">周保</button>
                @click="goBaoZhou()">周保
        </button>
                <button class="flex-sub  cu-btn bg-blue margin-sm   lg" hover-class="is-hover"
                    @click="goMaintenance()">维修</button>
                @click="goMaintenance()">维修
        </button>
            </view>
        </view>
    </view>
@@ -89,17 +95,29 @@
    import {
        stringify
    } from "querystring";
    import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
    import {
        saveAs
    } from 'file-saver'; // 引入 file-saver 库
    export default {
        mixins: [MescrollMixin], // 使用mixin
        data() {
            return {
      listStyles: {
        "borderStyle": {
          "width": "0", // 边框宽度
        },
        "border": false, // 是否显示边框
        "dividline": false
      },
                formData: {
                    fileLists: []
        equipmentCode: '',
        equipmentName: '',
        repairStatus_dictText: '',
        maintenanceStatus_dictText: '',
        orgId_dictText: '',
        installationPosition: '',
        technologyStatus_dictText: '',
        equipmentManager_dictText: '',
        leaveFactoryDate: ''
                },
                fileLists: [],
                NavBarColor: this.NavBarColor,
@@ -110,20 +128,6 @@
                    downloadFile: 'eam/equipmentAttachment/downloadFile'
                },
                id: '',
                upOption: {
                    page: {
                        num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
                        size: 10 // 每页数据的数量
                    },
                    noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
                    empty: {
                        tip: '~ 暂无数据 ~', // 提示
                    },
                    loading: '',
                    text: '全部',
                    isShowNoMore: false,
                    textNoMore: '我是有底线的 >_<'
                },
                styles: {
                    color: '#2979FF',
                    borderColor: '#2979FF'
@@ -149,6 +153,24 @@
                return style
            },
        },
  // onLoad(options) {
  //   const decodedEquipmentId = decodeURIComponent(options.equipmentId);
  //   this.id = decodedEquipmentId;
  //   console.log(this.id)
  //   if (!this.id) {
  //     uni.showModal({
  //       title: '提示',
  //       content: "错误不存在",
  //       showCancel: false
  //     });
  //   }
  //
  // },
  onUnload() {
    this.id = null;
    this.formData = {}; // 清空数据
    this.fileLists = [];
  },
        onLoad(options) {
            const decodedEquipmentId = decodeURIComponent(options.equipmentId);
            this.id = decodedEquipmentId;
@@ -160,30 +182,37 @@
                    showCancel: false
                });
            } else {
                this.upCallback();
      this.getData(); // ✅ 只执行一次
            }
  },
  created() {
    this.getFileList();
        },
        onShow() {
            // 从路由参数中获取equipmentId
            const equipmentIdFromRoute = this.$router.query.equipmentId;
            if (equipmentIdFromRoute) {
                // 如果存在,更新this.id
                this.id = equipmentIdFromRoute;
                // 重新获取设备详情数据
                this.upCallback();
            }
        },
        watch: {
            // 监听$route变化
            $route(to, from) {
                // 更新equipmentId参数
                this.id = to.query.equipmentId;
                console.log('更新后的equipmentId:', this.equipmentId);
            }
        },
        created() {},
        methods: {
    getData() {
      this.$http.get(this.url.stallList, {
        params: {
          pageNo: 999,
          pageSize: 1,
          order: 'asc',
          column: 'createTime',
          id: this.id
        },
      }).then(res => {
        this.announcement1 = res.data.result
        console.log("url", res)
        //设置列表数据
        if (res.data.success) {
          console.log("res", res.data.result.equipmentCode)
          this.formData = this.announcement1
        }
      }).catch(() => {
        //联网失败, 结束加载
      })
    },
            authIncludes(code) {
                return this.authList.some(auth => auth.action === code)
            },
@@ -269,7 +298,6 @@
            uploadFail(e) {
                console.log('上传失败:', e)
            },
            onFileSelect(e) {
@@ -370,11 +398,7 @@
                    console.error('提交失败:', err);
                });
            },
            goHome() {
                uni.reLaunch({
                    url: '/pages/index/index'
                })
            },
            /**
             * 报修
             */
@@ -410,34 +434,7 @@
                    url: `/pages/maintenanceReport/maintenanceReport?equipmentId=${encodeURIComponent(this.id)}`
                });
            },
            upCallback() {
                console.log("id", this.id)
                this.$http.get(this.url.stallList, {
                    params: {
                        pageNo: 999,
                        pageSize: 1,
                        order: 'asc',
                        column: 'createTime',
                        id: this.id
                    },
                }).then(res => {
                    this.announcement1 = res.data.result
                    console.log("url", res)
                    //设置列表数据
                    if (res.data.success) {
                        console.log("res", res.data.result.equipmentCode)
                        this.formData = this.announcement1
                    }
                }).catch(() => {
                    //联网失败, 结束加载
                })
            },
            mescrollInit(mescroll) {
                console.log('mescrollInit')
                this.mescroll = mescroll;
            },
        },
    }
@@ -451,7 +448,6 @@
    }
    .content {
        margin-top: 5px;
    }
@@ -461,7 +457,7 @@
    }
    .popupView {
        margin-top: 85px;
  margin-top: 45px;
        height: auto;
    }
</style>
pages/historicalInspection/historicalInspection.vue
@@ -362,7 +362,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/historicalMaintenance/historicalMaintenance.vue
@@ -336,7 +336,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/historicalRepair/historicalRepair.vue
@@ -320,7 +320,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/home/home.vue
@@ -53,7 +53,10 @@
                <view class="cu-item animation-slide-bottom" :style="[{animationDelay: (index + 1)*0.1 + 's'}]"
                    v-for="(item,index) in osList" :key="index" @tap="goPage(item.page)">
                    <view class="padding text-center">
                        <image :src="item.icon" style="width:28px;height:28px;" />
                        <image :src="item.icon" style="width:28px;height:28px;">
                            <view class="cu-tag badge margin-top-sm" style="margin-left:1.2em"
                                v-if="getTtemDotInfo(item)"></view>
                        </image>
                        <view class="margin-top-xs">{{item.title}}</view>
                    </view>
                </view>
@@ -70,7 +73,10 @@
                <view class="cu-item animation-slide-bottom" :style="[{animationDelay: (index + 1)*0.1 + 's'}]"
                    v-for="(item,index) in wsList" :key="index" @tap="goPage(item.page)">
                    <view class="padding text-center">
                        <image :src="item.icon" style="width:28px;height:28px;" />
                        <image :src="item.icon" style="width:28px;height:28px;">
                            <view class="cu-tag badge margin-top-sm" style="margin-left:1.2em"
                                v-if="getTtemDotInfo(item)"></view>
                        </image>
                        <view class="margin-top-xs">{{item.title}}</view>
                    </view>
                </view>
@@ -96,11 +102,21 @@
        props: {
            cur: String,
        },
        // watch: {
        //     cur: {
        //         immediate: true,
        //         handler: function(val, oldVal) {
        //             console.log('cur', val, oldVal)
        //             this.initMenu()
        //         },
        //     },
        // },
        watch: {
            cur: {
                immediate: true,
                handler: function(val, oldVal) {
                    console.log('cur', val, oldVal)
              // 即使值没有变化,也主动调用 initMenu
                    this.initMenu()
                },
            },
@@ -109,32 +125,27 @@
            return {
                url: {
                    bindingThirdPhone: '/sys/permission/getUserPermissionByToken',
                    countItem: '/assign/flow/taskCountBySelf'
                    countItem: '/assign/flow/taskCountBySelf',
                    waitTiem: 'eam/dashboard/pendingExecOrderCountBySelf'
                },
                swiperList: [{
                        id: 1,
                        type: 'image',
                        url: '/static/banner/eam_banner1.png',
                        url: '/static/banner/fashite-banner.png',
                        link: ''
                    },
                    {
                        id: 2,
                        type: 'image',
                        url: '/static/banner/eam_banner2.png',
                        url: '/static/banner/eam_banner3.png',
                        link: ''
                    },
                    {
                        id: 3,
                        type: 'image',
                        url: '/static/banner/eam_banner3.png',
                        link: ''
                    },
                    {
                        id: 4,
                        type: 'image',
                        url: '/static/banner/eam_banner4.png',
                        link: ''
                    },
                    }
                ],
                middleApps: [{
                        icon: 'line2_icon1.png',
@@ -152,7 +163,9 @@
                wsList: ws.data,
                msgCount: 0,
                toDomsgCount: 0,
                unExecRepairOrderCount: 0,
                unExecInspectionOrderCount: 0,
                unExecMaintenanceOrderCount: 0,
                dot: {
                    mailHome: false
                }
@@ -165,6 +178,7 @@
                this.onSocketReceive()
                this.saveClientId()
                this.taskCountBySelf();
                this.getItemCount();
                this.loadCount(0);
            },
            goPage(page) {
@@ -206,6 +220,22 @@
                    this.toDomsgCount = res.data.result
                })
            },
            getItemCount() {
                this.$http.get(this.url.waitTiem).then(res => {
                    const {
                        unExecRepairOrderCount,
                        unExecInspectionOrderCount,
                        unExecMaintenanceOrderCount
                    } = res.data.result;
                    // 或者单独赋值给不同的数据属性
                    this.unExecRepairOrderCount = unExecRepairOrderCount;
                    this.unExecInspectionOrderCount = unExecInspectionOrderCount;
                    this.unExecMaintenanceOrderCount = unExecMaintenanceOrderCount;
                });
            },
            loadCount(flag) {
                console.log("loadCount::flag", flag)
                let url = '/sys/annountCement/listByUser';
@@ -247,11 +277,17 @@
            },
            getTtemDotInfo(item) {
                if (item.page === 'ToDoList' && this.toDomsgCount > 0) {
                    // return this.toDomsgCount
                    return true
                    return true;
                } else if (item.page === 'maintenanceReport' && this.unExecRepairOrderCount > 0) {
                    return true;
                } else if (item.page === 'checkList' && this.unExecInspectionOrderCount > 0) {
                    return true;
                } else if (item.page === 'baoZhou' && this.unExecMaintenanceOrderCount > 0) {
                    return true;
                }
                return false;
            }
        }
    }
</script>
pages/index/index.vue
@@ -42,9 +42,19 @@
                ++this.commponent3Key
        },
        methods: {
            NavChange: function(e) {
                this.PageCur = e.currentTarget.dataset.cur
            NavChange(e) {
              const cur = e.currentTarget.dataset.cur
              // 如果切换到首页,手动更新 cur 值,触发 watch
              if (cur === 'home') {
                // 假设 home 组件已挂载,可通过 ref 调用方法或更新 prop
                this.$refs.home && this.$refs.home.$emit('update:cur', 'home')
            }
              this.PageCur = cur
            }
            // NavChange: function(e) {
            //     this.PageCur = e.currentTarget.dataset.cur
            // }
        }
    }
pages/login/loginOauth2.vue
@@ -2,7 +2,7 @@
  <view class="zai-box">
    <!-- 登录加载弹窗 -->
    <view class="cu-load load-modal">
      <image src="https://static.jeecg.com/upload/test/login4_1595818039175.png" mode="aspectFit"
      <image src="../../static/logo-lx.png" mode="aspectFit"
             class="round"></image>
      <view class="gray-text">正在登录中...</view>
    </view>
@@ -149,7 +149,7 @@
    /** 后台构造oauth2登录地址 */
    sysOAuth2Login(source) {
            let domainURL = configService.apiUrl;
            let url = `http://houjie.xalxzn.com:8866/jeecg-boot/sys/thirdLogin/oauth2/${source}/login`;
            let url = `https://fastwoke.cn:8087/jeecg-boot/sys/thirdLogin/oauth2/${source}/login`;
            let state = window.location.origin + window.location.search
            url += `?state=${encodeURIComponent(state)}`;
            console.log('sysOAuth2Login====》', url)
pages/maintenanceReport/maintenanceReport.vue
@@ -68,18 +68,22 @@
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">故障描述:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs    text-green   radius text-right">
                                {{item.faultDescription}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">故障开始时间:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-blue   radius text-right">
                                {{item.faultStartTime}}
                            </view>
                        </view>
                    
                        <view class="flex">
                        <view  v-if="authIncludes('eam:repair:collect')"  class="flex">
                            <view class="flex-sub text-light bg-white  padding-xs margin-xs radius">操作:</view>
                            <view v-if="authIncludes('eam:repair:collect')"
                                class="flex-sub bg-blue padding-xs margin-xs radius text-sm text-center"
                            <view class="flex-sub bg-blue padding-xs margin-xs radius text-sm text-center"
                                @click.stop="handleStartWork(item)" hover-class="is-hover">领取</view>
                        </view>
                    </uni-card>
                </view>
@@ -341,7 +345,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/maintenanceReport/maintenanceReportDetils/maintenanceReportDetils.vue
@@ -343,7 +343,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/reportRepair/reportRepair.vue
@@ -22,6 +22,10 @@
                <uni-forms-item required :label-width="100" name="faultDescription" label="故障描述:">
                    <uni-easyinput v-model="formData.faultDescription" />
                </uni-forms-item>
                <uni-forms-item name="outNum" label="报修图片:">
                    <uni-file-picker limit="9" :value="fileLists" :image-styles="imageStyles" :sourceType="sourceType"
                        @select="select" @progress="progress" @success="success" @fail="fail" @delete="deletea" />
                </uni-forms-item>
                <uni-forms-item required name="name" :label-width="100" label="是否停机:">
                    <uni-data-select v-model="formData.breakdownFlag" :localdata="isTrueList" @change="changeisTrueList"
                        placeholder="请选择" />
@@ -30,14 +34,10 @@
                    <uni-datetime-picker type="datetime" v-model="formData.loadTime" />
                </uni-forms-item>
                <uni-forms-item name="outNum" label="报修图片:">
                    <uni-file-picker limit="9" :value="fileLists" :image-styles="imageStyles" :sourceType="sourceType"
                        @select="select" @progress="progress" @success="success" @fail="fail" @delete="deletea" />
                </uni-forms-item>
                <uni-forms-item name="faultDescription" label="备注:">
<!--                 <uni-forms-item name="faultDescription" label="备注:">
                    <uni-easyinput type="textarea" v-model="formData.remark" />
                </uni-forms-item>
                </uni-forms-item> -->
            </uni-group>
        </uni-forms>
@@ -233,7 +233,7 @@
                for (let i = 0; i < this.formData.faultNameList.length; i++) {
                    if (this.formData.faultNameList[i].id === value) {
                        this.formData.faultType = this.formData.faultNameList[i].faultCategory_dictText
                        this.formData.faultDescription = this.formData.faultNameList[i].faultDescription
                        // this.formData.faultDescription = this.formData.faultNameList[i].faultDescription
                    }
                }
@@ -431,7 +431,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/reportRepair/reportRepairDeils/reportRepairDeils.vue
@@ -330,7 +330,7 @@
    }
    .popupView {
        margin-top: 85px;
        margin-top: 45px;
        height: auto;
    }
</style>
pages/spare/spare.vue
@@ -30,7 +30,7 @@
        methods: {
            navigateToDeviceDetails(equipmentId) {
                this.hasNavigated = true; // 标记已经跳转
                uni.navigateTo({
                uni.redirectTo({
                    url: `/pages/device/deviceWebDeils/deviceWebDeils?equipmentId=${encodeURIComponent(equipmentId)}`,
                    success: () => {
                        console.log('Navigated to device details');
pages/user/people.vue
@@ -13,7 +13,10 @@
              <view class="text-xl text-orange">{{personalList.username}}</view>
              <view class="margin-top-sm"><text class="cuIcon-people"></text> 用户</view>
            </view>
            <view class="flex flex-sub flex-direction animation-slide-top" :style="[{animationDelay: '0.2s'}]">
              <view class="text-xl text-blue">{{personalList.workNo?personalList.workNo:'工号'}}</view>
              <view class="margin-top-sm"><text class="cuIcon-activity"></text> 工号</view>
            </view>
            <view class="flex flex-sub flex-direction animation-slide-top" :style="[{animationDelay: '0.2s'}]">
              <view class="text-xl text-green">{{personalList.post?personalList.post:'员工'}}</view>
              <view class="margin-top-sm"><text class="cuIcon-news"></text> 职务</view>
@@ -74,7 +77,8 @@
                  avatar:'',
                  realname:'',
                  username:'',
                  post:''
                  post:'',
                  workNo:''
                },
                  positionUrl:'/sys/position/list',
                  departUrl:'/sys/user/userDepartList',
@@ -124,7 +128,7 @@
                        
                        // let avatar=(perArr.avatar && perArr.avatar.length > 0)? api.getFileAccessHttpUrl(perArr.avatar):'/static/avatar_boy.png'
                        this.personalList.avatar =res.data.result.avatar
                        this.personalList.workNo =res.data.result.workNo
                        // this.personalList.realname = perArr.realname
                        this.personalList.username = res.data.result.realname
                        // this.personalList.depart = perArr.departIds
static/banner/eam_banner1.png
Binary files differ
static/banner/eam_banner2.png
Binary files differ
static/banner/eam_banner3.png

static/banner/eam_banner4.png

store/index.js
@@ -108,6 +108,7 @@
                        const userInfo = result.userInfo
                        uni.setStorageSync(ACCESS_TOKEN, result.token);
                        uni.setStorageSync(USER_INFO, userInfo);
                        uni.setStorageSync("userId", userInfo.id);
                        uni.setStorageSync(X_TENANT_ID, userInfo.loginTenantId);
                        commit('SET_TOKEN', result.token)