Mr.Shi
2023-09-12 1c7a0f0f76551c5a5360b1c54e5bd7fec44d9cae
小程序
已添加1个文件
已修改11个文件
286 ■■■■■ 文件已修改
h5_standard/.env 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_standard/.env.production 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_standard/public/redirect.html 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_standard/src/views/tabPage/my.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/components/Preview.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages.json 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages/changePassword/changePassword.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages/personal/personal.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages/plannedDistribution/plannedDistribution.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_adjust/pages/forgotPassword/forgotPassword.vue 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
minipro_standard/pages_inspect/pages/equipmentInspection/equipmentInspection.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_standard/.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_standard/.env
@@ -1,5 +1,5 @@
# æŽ¥å£å‰ç¼€  _api
VUE_APP_API_PREFIX = '/doumeeplant_api_test'
# æŽ¥å£å‰ç¼€  _api_api_test
VUE_APP_API_PREFIX = '/doumeeplant'
# ä¸Šä¸‹æ–‡è·¯å¾„ --> é»˜è®¤./(可以部署在服务器任意路径)
VUE_APP_CONTEXT = './'
h5_standard/.env.production
@@ -18,7 +18,9 @@
# VUE_APP_API = 'https://hsky.doumee.com/doumeeplant_api/'
# æµ‹è¯•
VUE_APP_API = 'https://dmtest.ahapp.net/doumeeplant_api_test/'
# VUE_APP_API = 'https://dmtest.ahapp.net/doumeeplant_api_test/'
VUE_APP_API = 'https://127.0.0.1/doumeeplant/'
# æ¼”示
#VUE_APP_API = 'https://www.mes.red/doumeeplant/'
h5_standard/public/redirect.html
@@ -10,12 +10,14 @@
  if (url.indexOf('?code') === -1) {
    let query = url.split('?')[1]
    // let tempUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://www.mes.red/h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect`
    let tempUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://dmtest.ahapp.net/doumeeplant_h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect`
    // let tempUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://dmtest.ahapp.net/doumeeplant_h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect`
    let tempUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://lingyang.mes.show:1801/h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect`
    window.location.replace(tempUrl)
  } else {
    var code = url.substring(url.indexOf('?') + 6, url.indexOf('&'))
    // let href1 = `https://www.mes.red/h5/#/wxLogin?code=${code}`
    let href1 = `https://dmtest.ahapp.net/doumeeplant_h5/#/wxLogin?code=${code}`
    // let href1 = `https://dmtest.ahapp.net/doumeeplant_h5/#/wxLogin?code=${code}`
    let href1 = `https://lingyang.mes.show:1801/h5/#/wxLogin?code=${code}`
    window.location.replace(href1)
  }
</script>
h5_standard/src/views/tabPage/my.vue
@@ -79,7 +79,8 @@
            if (res.code === 200) {
                // window.parent.postMessage('阿康', '*')
                // let href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://www.mes.red/h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect'
                let href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://dmtest.ahapp.net/doumeeplant_h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect'
                // let href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://dmtest.ahapp.net/doumeeplant_h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect'
                let href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://lingyang.mes.show:1801/h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect'
                window.open(href)
            }
        })
minipro_standard/components/Preview.vue
@@ -4,7 +4,7 @@
            <u-icon name="close" size="20"></u-icon>
        </div>
        <div class="preview_content">
            <u-swiper :list="list" :current="current"></u-swiper>
            <u-swiper :list="list" :autoplay="false" :height="300" bgColor="rgba(0,0,0,0)" :current="current"></u-swiper>
        </div>
    </div>
</template>
@@ -30,5 +30,39 @@
</script>
<style lang="scss" scoped>
.preview {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    .preview_close {
        position: fixed;
        right: 50rpx;
        top: 50rpx;
        width: 70rpx;
        height: 70rpx;
        border-radius: 50%;
        background: #B2B2B2;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 99999;
    }
    .preview_content::v-deep {
        position: relative;
        top: 50%;
        left: 0;
        transform: translate(0, -50%);
        .u-swiper {
            width: 100%;
            height: 300rpx !important;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
}
</style>
minipro_standard/pages.json
@@ -123,7 +123,7 @@
            }
        }
    ],
    ],
    "subPackages": [{
            "root": "pages_adjust",
            "pages": [{
@@ -141,6 +141,14 @@
                    }
                },
                {
                    "path" : "pages/forgotPassword/forgotPassword",
                    "style" :
                    {
                        "navigationBarTitleText": "忘记密码",
                        "enablePullDownRefresh": false
                    }
                },
                {
                    "path": "pages/newTransfer/newTransfer",
                    "style": {
                        "navigationBarTitleText": "新建转库",
minipro_standard/pages/changePassword/changePassword.vue
@@ -10,6 +10,7 @@
                <view class="password_list_item_box">
                    <input type="password" v-model="form.originalPassword" maxlength="20" placeholder="请输入原密码">
                </view>
                <text class="password_list_item_btn" @click="forgotPassword">忘记密码</text>
            </view>
            <view class="password_list_item">
                <text>新密码</text>
@@ -47,7 +48,9 @@
        methods: {
            // å¿˜è®°å¯†ç 
            forgotPassword() {
                uni.navigateTo({
                    url: '/pages_adjust/pages/forgotPassword/forgotPassword'
                });
            },
            // æäº¤ä¿®æ”¹
            submit() {
@@ -116,6 +119,13 @@
                    font-weight: 400;
                    color: #222222;
                }
                .password_list_item_btn {
                    text-align: right;
                    font-size: 26rpx;
                    font-family: PingFangSC-Regular, PingFang SC;
                    font-weight: 400;
                    color: #4275FC;
                }
                .password_list_item_box {
                    display: flex;
                    justify-content: space-between;
minipro_standard/pages/personal/personal.vue
@@ -2,7 +2,7 @@
    <view class="info">
        <view class="info_portrait">
            <image :src="userInfo.avatar ? userInfo.avatar : avatar" mode="widthFix" />
            <text>用户名</text>
            <text>{{userInfo.companyUser ? userInfo.companyUser.name : ''}}</text>
        </view>
        <view class="info_list">
            <view class="info_list_item">
minipro_standard/pages/plannedDistribution/plannedDistribution.vue
@@ -17,7 +17,12 @@
            :style="{height: height}">
                <view class="fp_list_item" v-for="(item, i) in list" :key="item.id" @click="clickItem(i)">
                    <view class="fp_list_item_header">
                        <u-checkbox :checked="item.isActive"></u-checkbox>
                        <view class="fp_list_item_header_xz">
                            <u-checkbox-group>
                                <u-checkbox :checked="item.isActive"></u-checkbox>
                            </u-checkbox-group>
                            <view class="fp_list_item_header_xz_f"></view>
                        </view>
                        <text v-if="item.mmodel">{{item.mmodel.name}}</text>
                        <view class="tags" v-if="item.urgent">优先{{item.urgent}}</view>
                        <view class="warning" v-if="item.type === 2">返工</view>
@@ -312,6 +317,19 @@
                .fp_list_item_header {
                    display: flex;
                    align-items: center;
                    .fp_list_item_header_xz {
                        width: 40rpx;
                        height: 40rpx;
                        position: relative;
                        .fp_list_item_header_xz_f {
                            position: absolute;
                            top: 0;
                            left: 0;
                            width: 100%;
                            height: 100%;
                            z-index: 99;
                        }
                    }
                    text {
                        max-width: 64%;
                        overflow: hidden;
minipro_standard/pages_adjust/pages/forgotPassword/forgotPassword.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,168 @@
<template>
    <view class="password">
        <view class="password_tip">
            <image src="@/static/password_ic_tip@2x.png" alt="" />
            <text>密码由6-20个英文字母、数字或符号组成</text>
        </view>
        <view class="password_list">
            <view class="password_list_item">
                <text>当前绑定</text>
                <view class="password_list_item_box">
                    <input type="number" disabled v-model="userInfo.companyUser.phone" maxlength="11">
                </view>
            </view>
            <view class="password_list_item">
                <text>验证码</text>
                <view class="password_list_item_box">
                    <input type="text" v-model="form.verificationCode" maxlength="4" placeholder="请输入手机验证码">
                    <p @click="getVerificationCode" v-if="!code.isOpen">获取验证码</p>
                    <p v-else>{{code.num}}</p>
                </view>
            </view>
            <view class="password_list_item">
                <text>新密码</text>
                <view class="password_list_item_box">
                    <input type="text" v-model="form.newPhone" maxlength="11" placeholder="请输入新密码">
                </view>
            </view>
            <view class="password_list_item">
                <text>确认密码</text>
                <view class="password_list_item_box">
                    <input type="text" v-model="form.newPhone" maxlength="11" placeholder="再次输入新密码">
                </view>
            </view>
        </view>
        <view class="password_footer">
            <button v-preventReClick class="password_footer_submit" @click="submit">
                <text>完成</text>
            </button>
        </view>
    </view>
</template>
<script>
    import { mapState } from 'vuex'
    import { phoneRegular } from '@/common/config.js'
    export default {
        data() {
            return {
                form: {
                    newPhone: '',
                    verificationCode: ''
                },
                code: {
                    num: 60,
                    isOpen: false,
                    timer: 0
                }
            };
        },
        computed: mapState([
            'userInfo'
        ]),
        methods: {
            // èŽ·å–éªŒè¯ç 
            getVerificationCode() {
                this.code.isOpen = true
                this.code.timer = setInterval(() => {
                    if (this.code.num === 0) {
                        clearInterval(this.code.timer)
                        this.code.isOpen = false
                        this.code.num = 60
                    }
                    this.code.num = this.code.num - 1
                }, 1000)
            },
            // æäº¤ä¿®æ”¹
            submit() {
                // if (!this.form.newPhone) {
                //     uni.showToast({ title: '新手机号不能为空', icon: 'none', duration: 2000 });
                // } else if (!phoneRegular.test(this.form.newPhone)) {
                //     uni.showToast({ title: '手机号不合法', icon: 'none', duration: 2000 });
                // } else if (!this.form.verificationCode) {
                //     uni.showToast({ title: '验证码不能为空', icon: 'none', duration: 2000 });
                // } else {
                //     console.log('可以提交')
                // }
            }
        }
    }
</script>
<style lang="scss" scoped>
    .password {
        width: 100%;
        .password_tip {
            padding: 20rpx 30rpx;
            display: flex;
            background: #F7F7F7;
            box-sizing: border-box;
            image {
                width: 24rpx;
                height: 24rpx;
                margin-right: 10rpx;
                margin-top: 8rpx;
            }
            text {
                font-size: 24rpx;
                font-weight: 400;
                color: #666666;
            }
        }
        .password_list {
            padding: 0 30rpx;
            .password_list_item {
                display: flex;
                align-items: center;
                height: 90rpx;
                border-bottom: 1rpx solid #E5E5E5;
                text {
                    width: 150rpx;
                    flex-shrink: 0;
                    font-size: 30rpx;
                    font-weight: 400;
                    color: #222222;
                }
                .password_list_item_box {
                    display: flex;
                    justify-content: space-between;
                    flex: 1;
                    input {
                        border: none;
                        font-size: 30rpx;
                    }
                    input::-webkit-input-placeholder {
                        font-size: 28rpx;
                        font-weight: 400;
                        color: #B2B2B2;
                    }
                    p {
                        font-size: 26rpx;
                        font-weight: 400;
                        color: #4275FC;
                    }
                }
            }
        }
        .password_footer {
            margin-top: 80rpx;
            padding: 0 30rpx;
            .password_footer_submit {
                width: 100%;
                height: 88rpx;
                border: none;
                background: #4275FC;
                box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
                border-radius: 8rpx;
                display: flex;
                align-items: center;
                justify-content: center;
                text {
                    font-size: 30rpx;
                    font-weight: 500;
                    color: #FFFFFF;
                }
            }
        }
    }
</style>
minipro_standard/pages_inspect/pages/equipmentInspection/equipmentInspection.vue
@@ -70,7 +70,7 @@
            <button class="box_footer_submit" v-preventReClick @click="submit">提交</button>
        </view>
        <!-- æŸ¥çœ‹å¤§å›¾ -->
        <Preview :list="form.files" :current="current" v-if="isOpen" />
        <Preview :list="form.files.map(item => item.url)" :current="current" @close="isOpen = false" v-if="isOpen" />
        <!-- é€‰æ‹©è®¾å¤‡ -->
        <ytyDataPicker :show="show" :dataList="columns" @select="handleSelect" @search="handleSearch" @close="show = false" />
        <!-- é€‰æ‹©æ—¶é—´ -->
@@ -86,16 +86,11 @@
    import { setTime, judgmentType } from '@/util/utils.js'
    import { mapState } from 'vuex'
    import ytyDataPicker from '@/components/yty-data-picker/yty-data-picker.vue'
    import Preview from '@/components/Preview/Preview.vue'
    import Preview from '@/components/Preview.vue'
    export default {
        data() {
            return {
                list1: [
                    'https://cloudfactory.oss-cn-hangzhou.aliyuncs.com/deviceCheck/20230911/e228a809-0a6b-443c-9a2c-78d5c1b1b633.mp4',
                    'https://cdn.uviewui.com/uview/swiper/swiper2.png',
                    'https://cdn.uviewui.com/uview/swiper/swiper3.png',
                ],
                status: [{
                        name: '正常',
                        active: true,
@@ -108,6 +103,7 @@
                    }
                ],
                columns: [],
                isOpen: false,
                path: '',
                show: false,
                showTime: false,
@@ -136,6 +132,11 @@
            ...mapState(['session'])
        },
        methods: {
            // æŸ¥çœ‹å¤§å›¾/视频
            seeBigFile(i) {
                this.current = i
                this.isOpen = true
            },
            // åˆ é™¤æŒ‡å®šæ–‡ä»¶
            dele(i) {
                this.form.files.splice(i, 1)
web_standard/.env.development
@@ -18,11 +18,11 @@
# VUE_APP_BASE_URL = 'http://192.168.0.134:10021/'
# ä»»åº·æœ¬åœ°
VUE_APP_BASE_URL = 'http://192.168.0.15:10021/'
# VUE_APP_BASE_URL = 'http://192.168.0.15:10021/'
# æ±Ÿè
# VUE_APP_BASE_URL = 'http://192.168.0.35:10021/'
# æµ‹è¯•服务器
# VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'