Преглед на файлове

修复bug:增加ios使用相机相册时的具体说明。通过配置设置。补充上次bug的文件提交。

single преди 9 месеца
родител
ревизия
8624acf43a
променени са 6 файла, в които са добавени 278 реда и са изтрити 3 реда
  1. 12 0
      Info.plist
  2. 3 3
      src/manifest.json
  3. BIN
      src/static/product_default.png
  4. 70 0
      src/subpkg/home/message-detail.vue
  5. 78 0
      src/subpkg/home/records-detail.vue
  6. 115 0
      src/subpkg/setting/authentication-info.vue

+ 12 - 0
Info.plist

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+  <dict>
+  <key>NSPhotoLibraryUsageDescription</key>
+  <string>盛泰App使用您相机中的照片修改头像、形象图片、营业执照、权威证书,需要获取相册权限</string>
+    <key>NSPhotoLibraryAddUsageDescription</key>
+    <string>盛泰App使用您相机中的照片修改头像、形象图片、营业执照、权威证书,需要获取相册权限</string>
+    <key>NSCameraUsageDescription</key>
+	<string>开启后,您可以使用相机拍摄照片,用于上传头像、形象图片、营业执照、权威证书。如果不允许,将无法使用相机,再次使用前请前往系统设置中开启</string>
+  </dict>
+</plist>

+ 3 - 3
src/manifest.json

@@ -61,9 +61,9 @@
                 "dSYMs" : false,
                 "idfa" : false,
                 "privacyDescription" : {
-                    "NSPhotoLibraryUsageDescription" : "上传资质信息、更改头像信息等模块手动选择上传相册内的照片需要读取相册内容,是否允许读取相册内容",
-                    "NSCameraUsageDescription" : "上传资质信息、更改头像信息等模块拍照上传照片需要使用摄像头,是否允许使用摄像头",
-                    "NSPhotoLibraryAddUsageDescription" : "上传资质信息、更改头像信息等模块需要使用相册功能,是否允许使用相册功能"
+                    "NSPhotoLibraryUsageDescription" : "盛泰App使用您相机中的照片修改头像、形象图片、营业执照、权威证书,需要获取相册权限",
+                    "NSCameraUsageDescription" : "开启后,您可以使用相机拍摄照片,用于上传头像、形象图片、营业执照、权威证书。如果不允许,将无法使用相机,再次使用前请前往系统设置中开启",
+                    "NSPhotoLibraryAddUsageDescription" : "盛泰App使用您相机中的照片修改头像、形象图片、营业执照、权威证书,需要获取相册权限"
                 }
             },
             /* ios打包配置 */

BIN
src/static/product_default.png


+ 70 - 0
src/subpkg/home/message-detail.vue

@@ -0,0 +1,70 @@
+<!--
+ * @Author: XuanJi
+ * @Date: 2024-05-18 20:51:40
+ * @LastEditors: XuanJi
+ * @LastEditTime: 2024-05-27 11:40:41
+ * @Message: Nothing
+-->
+
+<template>
+    <view class="list-datail">
+        <uv-cell-group :border="false">
+            <uv-cell
+                v-for="(item, index) in detail"
+                :key="index"
+                :title="item.name"
+                :label="item.value"
+                :border="false"
+                :cellStyle="{ padding: '15px' }"
+            ></uv-cell>
+        </uv-cell-group>
+    </view>
+</template>
+<script>
+import { getMessage } from "@/config/http.js";
+export default {
+    data() {
+        return {
+            detail: {},
+        };
+    },
+    async onLoad(e) {
+        const id = e.id;
+        const resData = await getMessage(id);
+        console.log(resData);
+        this.detail = [
+            {
+                name: "消息类型",
+                value: resData.type,
+            },
+            {
+                name: "消息标题",
+                value: resData.title,
+            },
+            {
+                name: "消息内容",
+                value: resData.content,
+            },
+            {
+                name: "处理时间",
+                value: resData.gmtCreate,
+            },
+        ];
+    },
+};
+</script>
+<style scoped lang="scss">
+page {
+    background-color: $uv-bg-color;
+}
+.list-datail {
+    background: #fff;
+}
+.uv-cell {
+    /deep/ .uv-cell__title {
+        display: flex;
+        flex-direction: column;
+        justify-content: flex-start;
+    }
+}
+</style>

+ 78 - 0
src/subpkg/home/records-detail.vue

@@ -0,0 +1,78 @@
+<!--
+ * @Author: XuanJi
+ * @Date: 2024-05-18 20:51:40
+ * @LastEditors: XuanJi
+ * @LastEditTime: 2024-05-25 23:50:09
+ * @Message: Nothing
+-->
+
+<template>
+    <view class="list-datail" v-cloak>
+        <uv-cell-group :border="false">
+            <uv-cell
+                title="合作内容"
+                :label="detail.content"
+                :border="false"
+                :cellStyle="{ padding: '15px' }"
+            ></uv-cell>
+            <uv-cell title="时间" :label="detail.time" :border="false" :cellStyle="{ padding: '15px' }"></uv-cell>
+            <uv-cell
+                title="关联产品"
+                :label="getShowNames(detail.product)"
+                :border="false"
+                :cellStyle="{ padding: '15px' }"
+            ></uv-cell>
+        </uv-cell-group>
+    </view>
+</template>
+<script>
+import { getSrmCooperate } from "@/config/http.js";
+export default {
+    data() {
+        return {
+            detail: {},
+        };
+    },
+    async onLoad(e) {
+        const id = e.id;
+        const resData = await getSrmCooperate(id);
+        console.log(resData);
+        this.detail = resData;
+    },
+    computed: {
+        getShowNames() {
+            return (rv = []) => {
+                if (!rv || !rv.length) return "";
+                let names = [];
+                this.vuex_products.map(item => {
+                    let itemNs = [];
+                    if (item.children && item.children.length) {
+                        item.children.map(v => {
+                            if (rv.includes(v.id)) {
+                                itemNs.push(v.name);
+                            }
+                        });
+                    }
+                    names = names.concat(itemNs);
+                });
+                return names.join(",");
+            };
+        },
+    },
+};
+</script>
+<style scoped lang="scss">
+page {
+    background-color: $uv-bg-color;
+}
+.list-datail {
+    background: #fff;
+}
+.uv-cell {
+    /deep/ .uv-cell__title {
+        display: flex;
+        flex-direction: column;
+        justify-content: flex-start;
+    }
+}
+</style>

+ 115 - 0
src/subpkg/setting/authentication-info.vue

@@ -0,0 +1,115 @@
+<!--
+ * @Author: XuanJi
+ * @Date: 2024-05-20 15:42:30
+ * @LastEditors: XuanJi
+ * @LastEditTime: 2024-05-22 17:52:15
+ * @Message: 角色认证界面
+-->
+<template>
+    <view class="authentication">
+        <view class="authentication-cont">
+            <kirin-form v-if="current == 0" ref="form" :list="list" labelPosition="top"></kirin-form>
+            <kirin-form v-else-if="current == 1" ref="form" :list="list" labelPosition="top"></kirin-form>
+        </view>
+    </view>
+</template>
+
+<script>
+import { authenticationFormList } from "./constant";
+import formBasicMixin from "@/utils/form-basic-mixin.js";
+import { getAffairInfo } from "@/config/http.js";
+
+export default {
+    mixins: [formBasicMixin],
+    data() {
+        return {
+            list: [],
+            infoList: [],
+            authenticationFormList,
+            current: 0,
+        };
+    },
+    async onLoad() {
+        await this.initDictList("sex,supplierType");
+        this.initFormData();
+    },
+    methods: {
+        async initFormData() {
+            if (this.vuex_userInfo.attr.affairType == "SupplierJoin" && this.vuex_userInfo.attr.auditState == 1) {
+                this.current = 1;
+                const resData = await getAffairInfo(this.vuex_userInfo.attr.affairId);
+                const data = resData.data;
+                this.list = [...this.authenticationFormList];
+                this.list.map(item => {
+                    item.canEdit = item.required = false;
+                    item.rv = item.sv = data[item.code];
+                });
+            } else if (
+                (this.vuex_userInfo.attr.affairType == "UserJoinOrg" &&
+                    [1, 2].includes(this.vuex_userInfo.attr.auditState)) ||
+                ([0].includes(this.vuex_userInfo.attr.auditState) &&
+                    this.vuex_userInfo.attr.BusinessRole == "orgMember")
+            ) {
+                this.current = 0;
+                const { OrgUnit } = this.vuex_userInfo.attr;
+                this.infoList = [
+                    {
+                        type: "input",
+                        label: "组织名称",
+                        code: "orgName",
+                        sv: OrgUnit.name,
+                        rv: OrgUnit.name,
+                        canShow: true,
+                        canEdit: false,
+                    },
+                    {
+                        type: "input",
+                        label: "用户名称",
+                        code: "name",
+                        sv: null,
+                        rv: null,
+                        canShow: true,
+                        canEdit: true,
+                        required: true,
+                    },
+                    {
+                        type: "input",
+                        label: "联系方式",
+                        code: "phone",
+                        sv: null,
+                        rv: null,
+                        canShow: true,
+                        canEdit: true,
+                        required: true,
+                    },
+                ];
+                let resData, data;
+                this.list = [...this.infoList];
+                if (this.vuex_userInfo.attr.auditState !== 0) {
+                    resData = await getAffairInfo(this.vuex_userInfo.attr.affairId);
+                    data = resData.data;
+                    this.list.map(item => {
+                        item.canEdit = item.required = false;
+                        item.rv = item.sv = data[item.code];
+                    });
+                } else {
+                    this.list.map(item => {
+                        item.canEdit = item.required = false;
+                        if (this.vuex_userInfo[item.code]) {
+                            item.rv = item.sv = this.vuex_userInfo[item.code];
+                        }
+                    });
+                }
+            }
+        },
+    },
+};
+</script>
+
+<style lang="scss">
+.authentication {
+    &-cont {
+        padding: 25rpx;
+    }
+}
+</style>