2 Angajamente d5fb29e4c4 ... db1a310ca5

Autor SHA1 Permisiunea de a trimite mesaje. Dacă este dezactivată, utilizatorul nu va putea trimite nici un fel de mesaj Data
  single db1a310ca5 改bug:消息详情、供应商-合作详情没有改完整!字体大小不对、字体黑/灰显示不对。 9 luni în urmă
  single 8cba35bb1c 改bug:用户在未提交认证、供应商-审核进行中,也是没有 待处理、已处理的 9 luni în urmă

+ 31 - 6
src/kirin-ui/kirin-form/kirin-form.vue

@@ -2,7 +2,7 @@
  * @Author: PoJun
  * @Date: 2023-10-09 15:51:12
  * @LastEditors: XuanJi
- * @LastEditTime: 2024-05-21 01:54:24
+ * @LastEditTime: 2024-05-22 19:06:00
  * @Message: 表单
 -->
 <template>
@@ -159,7 +159,7 @@
             >
                 <view
                     v-if="item.rv"
-                    :class="{ 'row-left': labelPosition == 'top', 'row-right': labelPosition == 'left' }"
+                  
                 >
                     <uv-qrcode :loading="false" ref="qrcodeDom" size="120px" :value="getQrcodeUrl(item)"></uv-qrcode>
                 </view>
@@ -183,7 +183,7 @@
                 :customStyle="item.customStyle"
                 :labelWidth="item.labelWidth ? item.labelWidth : 150"
             >
-                <view :class="{ 'row-left': labelPosition == 'top', 'row-right': labelPosition == 'left' }">
+                <view>
                     <uv-switch
                         :disabled="!item.canEdit"
                         v-model="item.rv"
@@ -206,6 +206,8 @@
                     :width="item.width"
                     :height="item.height"
                     :disabled="!item.canEdit"
+					:useBeforeRead="true"
+					@beforeRead="beforeRead"
                 ></uv-upload>
             </uv-form-item>
             <!-- 带标题的图片上传 -->
@@ -218,10 +220,10 @@
                 :leftIconStyle="leftIconStyle"
                 :customStyle="item.customStyle"
                 :labelWidth="item.labelWidth ? item.labelWidth : 150"
+                :class="{ 'row-left': labelPosition == 'top', 'row-right': labelPosition == 'left' }"
             >
                 <view
                     class="pj-upload"
-                    :class="{ 'row-left': labelPosition == 'top', 'row-right': labelPosition == 'left' }"
                 >
                     <uv-upload
                         :fileList="getFileList(item.sv)"
@@ -233,6 +235,8 @@
                         :height="item.height"
                         :disabled="!item.canEdit"
                         :deletable="item.canEdit"
+						:useBeforeRead="true"
+						@beforeRead="beforeRead"
                     ></uv-upload>
                 </view>
             </uv-form-item>
@@ -580,6 +584,21 @@ export default {
                 },
             });
         },
+		beforeRead(){
+			console.log('点击图片');
+			// console.log(plus.getConfig());
+			// uni.getSetting({
+			// 	success(res){
+			// 		if(!res.authSetting['scope.camera']){
+			// 			// 没有相机权限
+			// 			console.log("没有");
+			// 		}else{
+			// 			console.log("有");
+			// 		}
+			// 	}
+			// })
+			
+		},
         /**
          * @description: 删除图片
          * @param {*} event
@@ -687,9 +706,15 @@ export default {
 
 <style lang="scss" scoped>
 .row-left {
-    text-align: left;
+    /deep/ .uv-form-item__body__right__content__slot{
+
+        justify-content: flex-start;
+    }
 }
 .row-right {
-    text-align: right;
+    /deep/ .uv-form-item__body__right__content__slot{
+        justify-content: flex-end; 
+
+}
 }
 </style>

+ 6 - 1
src/manifest.json

@@ -59,7 +59,12 @@
             },
             "ios" : {
                 "dSYMs" : false,
-                "idfa" : false
+                "idfa" : false,
+                "privacyDescription" : {
+                    "NSPhotoLibraryUsageDescription" : "上传资质信息、更改头像信息等模块手动选择上传相册内的照片需要读取相册内容,是否允许读取相册内容",
+                    "NSCameraUsageDescription" : "上传资质信息、更改头像信息等模块拍照上传照片需要使用摄像头,是否允许使用摄像头",
+                    "NSPhotoLibraryAddUsageDescription" : "上传资质信息、更改头像信息等模块需要使用相册功能,是否允许使用相册功能"
+                }
             },
             /* ios打包配置 */
             "sdkConfigs" : {

+ 60 - 16
src/pages/index/components/home-chart.vue

@@ -2,14 +2,25 @@
  * @Author: PoJun
  * @Date: 2023-12-19 14:57:48
  * @LastEditors: XuanJi
- * @LastEditTime: 2024-05-21 11:32:29
+ * @LastEditTime: 2024-05-25 23:20:58
  * @Message: 柱形图
 -->
 <template>
     <view class="data-charts">
         <view class="uv-font-md uv-weight-700 uv-m-25">产品-供应商数量</view>
-        <view v-show="showChart" class="charts-box">
-            <qiun-data-charts type="column" :ontouch="true" :opts="opts" :chartData="chartData" :reshow="showChart" />
+        <view class="charts-content">
+            <view v-show="showChart" class="charts-box">
+                <qiun-data-charts
+                    type="column"
+                    :ontouch="true"
+                    :opts="opts"
+                    :chartData="chartData"
+                    :reshow="showChart"
+                    @complete="chartComplete = true"
+                />
+            </view>
+            <!-- 由于组件的bug,x轴滚动时,x轴标题显示有问题,自行模拟实现 -->
+            <!-- <view v-if="chartComplete" class="imitate-xAxis-title">产品</view> -->
         </view>
     </view>
 </template>
@@ -17,9 +28,6 @@
 <script>
 import { getHomeChartData } from "@/config/http.js";
 export default {
-    // components: {
-    //     QiunDataCharts: () => import("@/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue"),
-    // },
     props: {
         times: {
             type: Number,
@@ -32,9 +40,10 @@ export default {
     },
     data() {
         return {
+            chartComplete: false,
             chartData: {},
             opts: {
-                padding: [15, 15, 5, 15],
+                padding: [15, 30, 10, 15],
                 fontSize: 12,
                 touchMoveLimit: 24,
                 enableScroll: true,
@@ -44,12 +53,21 @@ export default {
                 xAxis: {
                     disableGrid: true,
                     scrollShow: false,
-                    itemCount: 5,
+                    itemCount: 5, //单屏幕数据点数量
+                    rotateLabel: true,
+                    marginTop: 4,
+                    title: "产品",
+                    titleOffsetY: -8,
+                    titleOffsetX: 0,
                 },
                 yAxis: {
+                    showTitle: true,
                     data: [
                         {
                             min: 0,
+                            title: "数量",
+                            titleOffsetY: -7,
+                            titleOffsetX: -8,
                         },
                     ],
                     splitNumber: 5,
@@ -62,6 +80,17 @@ export default {
                         activeBgOpacity: 0.08,
                         width: 20,
                     },
+                    tooltip: {
+                        showBox: true,
+                        showArrow: true,
+                        showCategory: false,
+                        legendShow: false,
+                        legendShape: "auto",
+                        splitLine: false,
+                        horizentalLine: false,
+                        xAxisLabel: true,
+                        yAxisLabel: false,
+                    },
                 },
             },
         };
@@ -73,12 +102,17 @@ export default {
                 const categories = data.map(item => item.name);
                 const series = [
                     {
-                        name: "供应商数量",
+                        name: "数量",
                         data: data.map(item => item.c),
                     },
                 ];
 
                 this.$nextTick(() => {
+                    if (categories.length > 5) {
+                        this.opts.xAxis.scrollShow = true;
+                    } else {
+                        this.opts.xAxis.scrollShow = false;
+                    }
                     this.chartData = JSON.parse(JSON.stringify({ categories, series }));
                 });
             } catch (error) {
@@ -90,24 +124,34 @@ export default {
         times: {
             immediate: true,
             handler: function () {
-
-                    this.init();
+                this.init();
             },
         },
     },
     onLoad() {
         console.log(this.showChart);
-    }
+    },
 };
 </script>
 
 <style lang="scss" scoped>
 .data-charts {
     width: 100%;
-    height: 300px;
-    .charts-box {
-        width: 750rpx;
-        height: 300px;
+    height: 340px;
+    .charts-content {
+        display: flex;
+        align-items: flex-end;
+        .charts-box {
+            width: 710rpx;
+            height: 300px;
+        }
+        .imitate-xAxis-title {
+            font-size: 13px;
+            color: #666666;
+            position: relative;
+            top: -11px;
+            transform: scale(0.9);
+        }
     }
 }
 </style>

+ 16 - 13
src/pages/index/index.vue

@@ -2,7 +2,7 @@
  * @Author: PoJun
  * @Date: 2023-05-15 19:59:55
  * @LastEditors: XuanJi
- * @LastEditTime: 2024-05-21 12:51:31
+ * @LastEditTime: 2024-05-24 12:37:03
  * @Message: Nothing
 -->
 <template>
@@ -32,7 +32,7 @@
                     <uv-grid col="2">
                         <uv-grid-item>
                             <uv-tags
-                                :text="score"
+                                :text="score ? score : '无'"
                                 plain
                                 shape="circle"
                                 type="error"
@@ -102,6 +102,7 @@ export default {
     },
 
     onShow() {
+        this.loadData();
         if (this.vuex_userInfo) {
             this.showChart = true;
             this.times++;
@@ -125,20 +126,22 @@ export default {
             // console.log("登录成功后触发");
             this.showChart = false;
         },
+        async loadData() {
+            if (this.vuex_userInfo) {
+                this.showChart = true;
+                if (this.vuex_userInfo.attr.BusinessRole == "supplier") {
+                    const res = await getMySupplierInfo();
+                    this.score = res.mark;
+                }
+            } else {
+                this.showChart = false;
+            }
+            uni.$on("triggerMethod", this.methodToTrigger);
+        },
     },
-    async onLoad() {
+    onLoad() {
         checkAppUpdate();
         console.log("首页onload");
-        if (this.vuex_userInfo) {
-            this.showChart = true;
-            if (this.vuex_userInfo.attr.BusinessRole == "supplier") {
-                const res = await getMySupplierInfo();
-                this.score = res.mark;
-            }
-        } else {
-            this.showChart = false;
-        }
-        uni.$on("triggerMethod", this.methodToTrigger);
     },
     onUnload() {
         console.log("首页unload");

+ 31 - 5
src/pages/mine/index.vue

@@ -2,7 +2,7 @@
  * @Author: XuanJi
  * @Date: 2024-05-08 17:23:25
  * @LastEditors: XuanJi
- * @LastEditTime: 2024-05-21 02:54:57
+ * @LastEditTime: 2024-05-27 11:18:54
  * @Message: Nothing
 -->
 <!--
@@ -37,7 +37,7 @@
             </view>
         </view>
         <view class="mine-cont">
-            <template v-if="vuex_userInfo && vuex_userInfo.attr.BusinessRole !== 'supplier'">
+            <template v-if="vuex_userInfo && vuex_userInfo.attr.BusinessRole == 'orgMember'">
                 <cols-container :list="managementTabs" :col="2" @click="tabClick"></cols-container>
             </template>
 
@@ -65,8 +65,10 @@
                     ></uv-cell>
                     <uv-cell
                         v-if="
-                            vuex_userInfo.attr.affairType == 'SupplierJoin' &&
-                            [2].includes(vuex_userInfo.attr.auditState)
+                            (vuex_userInfo.attr.affairType == 'SupplierJoin' &&
+                                [2].includes(vuex_userInfo.attr.auditState)) ||
+                            ([0].includes(vuex_userInfo.attr.auditState) &&
+                                vuex_userInfo.attr.BusinessRole == 'supplier')
                         "
                         title="角色认证"
                         :border="false"
@@ -98,6 +100,23 @@
                             </text>
                         </template>
                     </uv-cell>
+                    <uv-cell
+                        v-else-if="
+                            [0].includes(vuex_userInfo.attr.auditState) &&
+                            vuex_userInfo.attr.BusinessRole == 'orgMember'
+                        "
+                        title="角色认证"
+                        :border="false"
+                        :cellStyle="{ padding: '15px' }"
+                        :isLink="true"
+                        arrow-direction="right"
+                        url="/subpkg/setting/authentication-info"
+                    >
+                        <template v-slot:value>
+                            <text>组织成员-已认证</text>
+                        </template>
+                    </uv-cell>
+
                     <uv-cell
                         v-else-if="[0, 3].includes(vuex_userInfo.attr.auditState)"
                         title="角色认证"
@@ -106,7 +125,14 @@
                         url="/subpkg/setting/authentication"
                         :border="false"
                         :cellStyle="{ padding: '15px' }"
-                    ></uv-cell>
+                    >
+                        <template v-slot:value>
+                            <text>{{ vuex_userInfo.attr.affairType == "UserJoinOrg" ? "组织成员" : "供应商" }}-</text>
+                            <text>
+                                {{ vuex_userInfo.attr.auditState == 3 ? "认证失败" : "未认证" }}
+                            </text>
+                        </template>
+                    </uv-cell>
                     <uv-cell
                         v-if="vuex_userInfo.attr.auditState == 2 && vuex_userInfo.attr.BusinessRole == 'supplier'"
                         title="评分申诉"

+ 3 - 3
src/subpkg/home/products.vue

@@ -2,7 +2,7 @@
  * @Author: PoJun
  * @Date: 2023-09-28 10:38:11
  * @LastEditors: XuanJi
- * @LastEditTime: 2024-05-19 16:28:48
+ * @LastEditTime: 2024-05-23 17:27:06
  * @Message: 产品列表
 -->
 <template>
@@ -15,11 +15,11 @@
                         v-for="(item2, index2) in item.children"
                         :key="index2"
                     >
-                        <uv-image :src="getImageUrl(item2.image)" width="60px" height="60px"></uv-image>
+                        <uv-image :src="getImageUrl(item2.image)" width="64px" height="64px"></uv-image>
                         <view class="uv-m-l-26 uv-flex-1">
                             <view class="uv-font-28">{{ item2.name }}</view>
                             <view class="uv-font-26 uv-m-t-12 uv-info">{{ item2.code }}</view>
-                            <view class="uv-font-26 uv-m-t-22 uv-info">{{ item2.remark }}</view>
+                            <view v-if="item2.remark" class="uv-font-24 uv-m-t-22 uv-info">{{ item2.remark }}</view>
                         </view>
                     </view>
                     <view v-if="index < vuex_products.length - 1">