fix
pyt
2025-03-18 037d21e2875ec504dbf99c5d724ca97b0896d6dd
fix
12个文件已修改
287 ■■■■■ 已修改文件
H5/components/customPopup.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/manifest.json 167 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/certificationAudit/certificationAudit.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/certificationAudit/service.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/dispatchWorkOrder/dispatchWorkOrder.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/index/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/list/list.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/pages/work-detail/work-detail.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/utils/request.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/src/pages/appeal-management/detail.jsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/src/pages/party/audit/index.jsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
management/src/pages/party/manage/components/addAndEdit.jsx 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
H5/components/customPopup.vue
@@ -68,7 +68,7 @@
                    return
                }
                this.$emit('comfirm')
                this.show = false
                // this.show = false
            },
            showPopup() {
                this.show = true
H5/manifest.json
@@ -1,84 +1,85 @@
{
    "name" : "三个身边",
    "appid" : "__UNI__DB035F5",
    "description" : "",
    "versionName" : "1.0.0",
    "versionCode" : "100",
    "transformPx" : false,
    /* 5+App特有相关 */
    "app-plus" : {
        "usingComponents" : true,
        "nvueStyleCompiler" : "uni-app",
        "compilerVersion" : 3,
        "splashscreen" : {
            "alwaysShowBeforeRender" : true,
            "waiting" : true,
            "autoclose" : true,
            "delay" : 0
        },
        /* 模块配置 */
        "modules" : {},
        /* 应用发布信息 */
        "distribute" : {
            /* android打包配置 */
            "android" : {
                "permissions" : [
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
                    "<uses-feature android:name=\"android.hardware.camera\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                ]
            },
            /* ios打包配置 */
            "ios" : {},
            /* SDK配置 */
            "sdkConfigs" : {}
        }
    },
    /* 快应用特有相关 */
    "quickapp" : {},
    /* 小程序特有相关 */
    "mp-weixin" : {
        "appid" : "",
        "setting" : {
            "urlCheck" : false
        },
        "usingComponents" : true
    },
    "mp-alipay" : {
        "usingComponents" : true
    },
    "mp-baidu" : {
        "usingComponents" : true
    },
    "mp-toutiao" : {
        "usingComponents" : true
    },
    "uniStatistics" : {
        "enable" : false
    },
    "vueVersion" : "2",
    "h5" : {
        "template" : "index.html",
        "title" : "三个身边",
        "optimization" : {
            "treeShaking" : {
                "enable" : false
            }
        },
        "router" : {
            "base" : "./"
        }
    }
}
    "name": "三个身边",
    "appid": "__UNI__DB035F5",
    "description": "",
    "versionName": "1.0.0",
    "versionCode": "100",
    "transformPx": false,
    /* 5+App特有相关 */
    "app-plus": {
        "usingComponents": true,
        "nvueStyleCompiler": "uni-app",
        "compilerVersion": 3,
        "splashscreen": {
            "alwaysShowBeforeRender": true,
            "waiting": true,
            "autoclose": true,
            "delay": 0
        },
        /* 模块配置 */
        "modules": {},
        /* 应用发布信息 */
        "distribute": {
            /* android打包配置 */
            "android": {
                "permissions": [
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
                    "<uses-feature android:name=\"android.hardware.camera\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                ]
            },
            /* ios打包配置 */
            "ios": {},
            /* SDK配置 */
            "sdkConfigs": {}
        }
    },
    "sassImplementationName": "node-sass",
    /* 快应用特有相关 */
    "quickapp": {},
    /* 小程序特有相关 */
    "mp-weixin": {
        "appid": "",
        "setting": {
            "urlCheck": false
        },
        "usingComponents": true
    },
    "mp-alipay": {
        "usingComponents": true
    },
    "mp-baidu": {
        "usingComponents": true
    },
    "mp-toutiao": {
        "usingComponents": true
    },
    "uniStatistics": {
        "enable": false
    },
    "vueVersion": "2",
    "h5": {
        "template": "index.html",
        "title": "三个身边",
        "optimization": {
            "treeShaking": {
                "enable": false
            }
        },
        "router": {
            "base": "./"
        }
    }
}
H5/pages/certificationAudit/certificationAudit.vue
@@ -11,7 +11,7 @@
                <view class="pt-21 px-31 flex a-center j-between font-bold">
                    <view class="flex a-center">
                        <view class="fs-31 lh-38 mr-23">{{item.name}}</view>
                        <view v-if="!item.gender" class="flex a-center pr-19 border3">
                        <view v-if="item.gender" class="flex a-center pr-19 border3">
                            <image src="@/static/man.png" class="w-38 h-38 shrink0" />
                            <view class="fs-23 ml-12">
                                男
H5/pages/certificationAudit/service.js
@@ -2,7 +2,7 @@
// 党员待审核列表
export const getList = (params) => {
    return request.post(`/api/huacheng-sangeshenbian/applet/party-member/pre-audit-list`, params)
    return request.post(`/api/huacheng-sangeshenbian/applet/party-member/pre-audit-list`, params, false, false)
}
// 党员申请审核
H5/pages/dispatchWorkOrder/dispatchWorkOrder.vue
@@ -47,7 +47,7 @@
        <u-popup round="19rpx" :show="showPop" mode="center" @close="close" @open="open">
            <view class="popup-content">
                <view class="title-pop">请选择下派单位</view>
                <view class="pop-label">社区:</view>
                <view class="pop-label">{{['','区县','街道','社区'][accountLevel]}}:</view>
                <uni-data-select :disabled="false" v-model="value" :localdata="range"></uni-data-select>
                <view class="botton-btn">
@@ -73,7 +73,11 @@
                showPop: false,
                value: '',
                range: [],
                accountLevel: 1, //1、市级 2、区县 3、街道 4、社区
            };
        },
        onShow() {
            this.accountLevel = uni.getStorageSync('userInfo').accountLevel || 1
        },
        onLoad(option) {
            // option.id = 1
@@ -202,7 +206,7 @@
                display: flex;
                justify-content: space-between;
                // height: 106rpx;
                background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%);
                background: linear-gradient(270deg, rgba(255, 241, 0, 0.5) 0%, rgba(255, 249, 172, 0.25) 48%, rgba(255, 255, 255, 0.2) 100%, #FFFFFF 100%);
                box-shadow: 0rpx 0rpx 27rpx 0rpx rgba(0, 0, 0, 0.1);
                border-radius: 19rpx;
                align-items: center;
H5/pages/index/index.vue
@@ -73,7 +73,8 @@
                    <image class="w-81 h-77 ml-38" src="/static/home/img8.png" mode=""></image>
                    <text class="ml-37 font-bold">统计分析</text>
                </view>
                <view class="pt-38 pb-38 bg1 w-333 br-19 mt-19 flex a-center" @tap.stop="toCertificationAudit" v-if="showData && userInfo.isAdmin == 1">
                <view class="pt-38 pb-38 bg1 w-333 br-19 mt-19 flex a-center" @tap.stop="toCertificationAudit"
                    v-if="showData && userInfo.isAdmin == 1">
                    <image class="w-81 h-77 ml-38" src="/static/home/Group 2@2x.png" mode=""></image>
                    <text class="ml-37 font-bold">党员审核</text>
                </view>
@@ -238,7 +239,7 @@
        },
        onLoad(e) {
            if (e.token) {
                uni.setStorageSync('token', 'Bearer ' + e.token)
            }
@@ -251,7 +252,9 @@
        methods: {
            // 管理员确认
            comfirm() {
                confirmContent()
                confirmContent().then(res => {
                    this.$refs.confirmPop.closePopup()
                })
            },
            //关闭切换角色弹窗
            closeChangeRole() {
@@ -273,12 +276,15 @@
                } else {
                    this.changeRolePopup = true
                }
                this.$refs.dongjiePop.closePopup()
            },
            // 认证详情
            toRenzhengDetail() {
                uni.navigateTo({
                    url: '/pages/authentication/authentication?detail=1'
                })
                this.$refs.jujuePop.closePopup()
                this.$refs.shenhePop.closePopup()
            },
            // 切换角色
            changeRole(e) {
@@ -304,6 +310,7 @@
                uni.navigateTo({
                    url: '/pages/authentication/authentication'
                })
                this.$refs.renzhengPop.closePopup()
            },
            // 关闭webview
            closeH5() {
@@ -331,7 +338,7 @@
                        })
                        wx.miniProgram.navigateBack()
                    });
                    wx.error((err) => {
                        // 处理错误情况
                        uni.showToast({
@@ -342,7 +349,7 @@
                        })
                    })
                })
            },
            Allread() {
                getread().then(resp => {
H5/pages/list/list.vue
@@ -132,7 +132,7 @@
                        </view>
                    </view>
                    <view v-if="item.evaluateButtonStatus == 0" class="flex a-center j-center fs-23 mt-29 txt-center">
                        <view @click.stop="toEvaluate(item.id)" class="h-58 lh-58 bgColor5 w-192 br-29 color10">
                        <view @click.stop="toEvaluate(item.id)" class="h-58 lh-58 bgColor6 w-192 br-29 color10">
                            评价
                        </view>
                    </view>
H5/pages/work-detail/work-detail.vue
@@ -78,7 +78,7 @@
                        </view>
                        <view class="flex j-between">
                            <view class="label">联系电话</view>
                            <view class="value">{{ orderInfo.contactNumber || '' }}</view>
                            <view class="value">{{ orderInfo.reporterPhone || '' }}</view>
                        </view>
                        <view class="flex j-between" v-if="!isParty">
                            <view class="label">所属部门</view>
@@ -301,8 +301,7 @@
        </view>
        <!-- 上级显示 -->
        <view class="btnButtom"
            v-if="(!isParty)&&orderInfo.listControlsButtonStatus == 0">
        <view class="btnButtom" v-if="(!isParty)&&orderInfo.listControlsButtonStatus == 0">
            <view class="btnDown" @click.stop="toUp" v-if="userInfo.accountLevel > 1"
                :class="[2, 3].includes(userInfo.accountLevel) ? '' : 'partyUp'">问题上报</view>
            <view class="btnDown" @click.stop="toDown" v-if="userInfo.accountLevel < 4"
@@ -310,8 +309,7 @@
            <view class="btnAdd" @click="addProgress">添加办理进度</view>
            <view class="btnAdd" @click="resultEntery">办理结果录入</view>
        </view>
        <view class="btnButtom"
            v-if="orderInfo.auditButtonStatus == 0">
        <view class="btnButtom" v-if="orderInfo.auditButtonStatus == 0">
            <view class="cancel" @click.stop="showPop = true">驳回</view>
            <view class="sure" @click.stop="submitReSolve">审核通过</view>
        </view>
H5/utils/request.js
@@ -23,7 +23,7 @@
        uni.setStorageSync('token',token)
        let header = {
            'content-type': type ? 'application/x-www-form-urlencoded;charset=UTF-8' : 'application/json',
            'Authorization':token,
            'Authorization': token,
            'lang': uni.getStorageSync('locale') === 'zh-Hans' ? 'zh_CN' : 'zh-tw',
        }
        const requestTask = uni.request({
management/src/pages/appeal-management/detail.jsx
@@ -185,7 +185,7 @@
                        </Descriptions>}
                    {detail.complaintComment &&
                        <Descriptions title="办结评价" style={{ marginTop: '20px' }} >
                            <Descriptions.Item span={4}>
                            <Descriptions.Item span={4}>
                                <Card style={{ width: '800px' }} extra={<div style={{ width: '750px', display: 'flex', justifyContent: 'flex-start' }}>
                                    <span>评价打分:{['不满意', '一般', '满意', '非常满意'][detail.complaintComment?.rate]}</span>
                                </div>}>
@@ -199,7 +199,7 @@
                                            ))}
                                        </Descriptions.Item>
                                        <Descriptions.Item label={'上传视频'}>
                                            {detail.complaintComment?.videoUrl && detail.complaintComment?.videoUrl.split(',').map((item, index) => (
                                            {detail.complaintComment?.video && detail.complaintComment?.video.split(',').map((item, index) => (
                                                <video width={280} style={{ marginRight: '10px' }} src={item} key={index} controls></video>
                                            ))}
                                        </Descriptions.Item>
management/src/pages/party/audit/index.jsx
@@ -145,6 +145,7 @@
          const success = await sendRequest(audit, fileds);
          if (success) {
            handleModalVisible(false);
            message.success('当前党员信息审核已通过');
            addViewRef.current.clean()
            actionRef.current.reload();
          }
management/src/pages/party/manage/components/addAndEdit.jsx
@@ -49,12 +49,18 @@
  };
  useEffect(() => {
    let adminInfo = JSON.parse(localStorage.getItem('userInfo'))
    setAdminLevel(() => adminInfo.accountLevel)//角色权限1市级2区县3街道4社区5党员
    regionTree({}).then(res => {
      setItems(() => res.data)
    })
    let adminInfo = JSON.parse(localStorage.getItem('userInfo'))
    setAdminLevel(() => adminInfo.accountLevel)//角色权限1市级2区县3街道4社区5党员
    if (adminInfo.accountLevel == 4) {
      form.setFieldsValue({
        community: [adminInfo.communityId.toString()]
      })
    }
    if (searchParams.get('id')) {
      getDetail(searchParams.get('id')).then(res => {
        setUserInfo(() => res.data)
@@ -131,27 +137,60 @@
  }
  const checkIdCard = (rule, value) => {
    const reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
    if (!reg.test(value)) {
    if ((!reg.test(value)) && value) {
      return Promise.reject('请输入正确的身份证号码');
    }
    return Promise.resolve();
  };
  const checkPhone = (rule, value) => {
  const checkPhone = async (rule, value) => {
    const reg = /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/;
    if (!reg.test(value)) {
    if ((!reg.test(value)) && value) {
      return Promise.reject('请输入正确的手机号码');
    }
    return Promise.resolve();
    if (Object.keys(userInfo).length > 0 && userInfo.phone == value) {
      return Promise.resolve()
    }
    const res = await verifyPhone({ phone:value })
    if (res.data === true) {
      return Promise.reject('该手机号已注册党员信息');
    } else {
      return Promise.resolve();
    }
  };
  const checkPhoneUse = (e) => {
  const checkPhoneUse = async (e) => {
    if (Object.keys(userInfo).length > 0 && userInfo.phone == e.target.value) {
      return Promise.resolve()
    }
    verifyPhone({ phone: e.target.value }).then(res => {
      if (res.code != 200) {
        message.warning('该手机号已注册党员信息')
    try {
      const res = await verifyPhone({ phone: e.target.value })
      if (res.data === false) {
        form.setFields([
          {
            name: 'phone',
            errors: ['该手机号已注册党员信息'],
            // touched: true
          }
        ])
      } else {
        form.setFields([
          {
            name: 'phone',
            errors: [],
            touched: true
          }
        ])
      }
    })
    } catch (error) {
      form.setFields([
        {
          name: 'phone',
          errors: ['验证手机号失败,请重试'],
          touched: true
        }
      ])
    }
  }
@@ -172,9 +211,14 @@
                </Form.Item>
                <Form.Item
                  name="phone"
                  label='联系电话' rules={[{ required: true, message: '请输入党员联系电话' }, { validator: checkPhone }]}
                  label='联系电话'
                  validateTrigger={['onBlur']}
                  rules={[
                    { required: true, message: '请输入党员联系电话' },
                    { validator: checkPhone }
                  ]}
                >
                  <Input disabled={searchParams.get('detail')} placeholder='请输入' maxLength={11} onBlur={checkPhoneUse} ></Input>
                  <Input disabled={searchParams.get('detail')} placeholder='请输入' maxLength={11}></Input>
                </Form.Item>
                <Form.Item
                  name="idNumber"