2 Komitmen 20b1e1fe89 ... 5509b593f3

Pembuat SHA1 Pesan Tanggal
  wangtao 5509b593f3 Merge branch '165' of http://47.111.81.118:3000/uskycloud/usky-web-mobile into wangtao 2 bulan lalu
  wangtao d6d86bd4b2 跳转至项目概览页面完成 2 bulan lalu

+ 14 - 6
src/pages/business/common/projectMange/list/index.vue

@@ -73,11 +73,11 @@
             <view class="content-area-row_wrap-view"> 负责人: {{ proxy.$common.mapping("nickName", "userId", base.projectHead, userDate) }} </view>
             <view class="content-area-row_wrap-view">
               状态:
-              <view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 1" style="background-color: #909399"> 未开始 </view>
-              <view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 2" style="background-color: #23dedc"> 进行中 </view>
-              <view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 3" style="background-color: #16bf00"> 已完成 </view>
-              <view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 4" style="background-color: #f9ae3d"> 已暂停 </view>
-              <view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 5" style="background-color: #f56c6c"> 已作废 </view>
+              <uni-tag :text='proxy.$common.mapping("label", "value", base.projectStatus, project_status)' :type='proxy.$common.mapping("elTagType", "value", base.projectStatus, project_status)' />
+            </view>
+            <view class="content-area-row_wrap-view">
+              类型:
+              <uni-tag :text='proxy.$common.mapping("label", "value", base.projectStatus, project_type)' :type='proxy.$common.mapping("elTagType", "value", base.projectStatus, project_type)' />
             </view>
             <view class="content-area-row_wrap-view" style="display: block">
               成员:<span>{{ proxy.$common.mapping("nickName", "userId", base.projectMember, userDate) }} </span>
@@ -198,8 +198,10 @@ import { useStores } from "@/store/modules/index";
 /*----------------------------------公共方法引入-----------------------------------*/
 /*----------------------------------公共变量-----------------------------------*/
 const { proxy } = getCurrentInstance();
+
 const useStore = useStores();
-const {  project_type } = proxy.useDict("project_type");
+const { project_type,project_status } = proxy.useDict("project_type","project_status");
+
 /*----------------------------------变量声明-----------------------------------*/
 const state = reactive({
   loading: false,
@@ -517,4 +519,10 @@ onLoad((options) => {});
     }
   }
 }
+:deep(.uni-tag){
+  padding:0px 2px;
+  height:20px;
+  line-height: 20px !important;
+  border-radius: 10px;
+}
 </style>

+ 7 - 6
src/pages/business/common/projectMange/overview/components/echarts.vue

@@ -32,7 +32,7 @@ let option = {
     // data: ["邮件营销"],
   },
   grid: {
-    top: "8%",
+    top: "15%",
     left: "3%",
     right: "8%",
     bottom: "3%",
@@ -42,14 +42,14 @@ let option = {
     type: "category",
     boundaryGap: true,
     axisLabel: {
-      color: "rgba(0,0,0,0.2)",
+      color: "rgba(0,0,0,0.4)",
       fontSize:props.xAxisDataList.length>10?8:10, //标签字体大小
       rotate: -30,  //文字过多时,倾斜角度
     },
     axisLine: {
       show: true,
       lineStyle: {
-        color: "rgba(0,0,0,0.1)",
+        color: "rgba(0,0,0,0.4)",
       },
     },
     axisTick: {
@@ -60,13 +60,14 @@ let option = {
   yAxis: {
     type: "value",
     name: '工时(小时)',
+    color: "rgba(0,0,0,0.4)",
     axisLabel: {
-      color: "rgba(0,0,0,0.2)",
+      color: "rgba(0,0,0,0.4)",
     },
     axisLine: {
       show: true,
       lineStyle: {
-        color: "rgba(0,0,0,0.1)",
+        color: "rgba(0,0,0,0.4)",
       },
     },
     splitLine: {
@@ -92,7 +93,7 @@ let option = {
           },
           {
             offset: 1,
-            color: "rgba(73, 185, 245, 0.3)",
+            color: "rgba(73, 185, 245, 0.4)",
           },
         ]),
       },

+ 8 - 3
src/pages/business/common/projectMange/overview/index.vue

@@ -20,13 +20,14 @@
     :refresherBackground="'#f5f6f7'"
     :scrollIntoView="scrollIntoView"
     :data-theme="'theme-' + proxy.$settingStore.themeColor.name"
+    style="height: calc(100% - 44px);"
   >
   <view class="projectName">{{ project.projectName }}</view>
     <view>
       <view class="menu-list" style="font-size: 15px; line-height: 30px;padding:0;">
         <view class="list-cell" style="color: #666666;padding:10px;">
           <view class="menu-item">
-            <span style="color:#559AFF;font-weight:bold;font-size: 16px;">丨 项目概况</span>
+            <span style="color:#559AFF;font-weight:bold;font-size: 15px;">丨 项目概况</span>
           </view>
           <view class="tableType4" style="margin-top:10px;">
             <u-row v-for="(item, index) in overviewData" :key="index">
@@ -47,7 +48,7 @@
             <span style="color:#559AFF;font-weight:bold;">丨 项目背景</span>
           </view>
           <view class="menu-item">
-            <span>{{ project.projectDescribe ? project.projectDescribe : "项目背景" }}</span>
+            <span>{{ project.projectDescribe ? project.projectDescribe : "无" }}</span>
           </view>
         </view>
       </view>
@@ -59,7 +60,7 @@
           <view class="menu-item">
             <view class="example-body" style="width:100%">
               <uni-datetime-picker v-model="range" type="daterange" @change="changeTime"  style="margin:10px 0;"/>
-              <lineEcharts :xAxisDataList="xAxisDataList" :seriesDataList="seriesDataList" style="width:100%;" v-if="xAxisDataList.length>0"></lineEcharts>
+              <lineEcharts :xAxisDataList="xAxisDataList" :seriesDataList="seriesDataList" style="width:100%;margin-top:10px;" v-if="xAxisDataList.length>0"></lineEcharts>
             </view>
           </view>
         </view>
@@ -249,8 +250,12 @@ onNavigationBarButtonTap((e) => {
 }
 </style>
 <style>
+/* 时间样式 */
   :deep(.uni-date-editor--x){
     border-radius: 20px !important;
     width:100% !important;
   }
+  :deep(.uni-date-x){
+    background-color: transparent !important;
+  }
 </style>

+ 26 - 18
src/pages/business/common/projectMange/record/details.vue

@@ -1,5 +1,5 @@
 <template>
-  <u-navbar :titleStyle="{ color: '#000' }" :autoBack="true" :title="state.options.createBy + '的日报'" :placeholder="true" :safeAreaInsetTop="true" bgColor="#fff">
+  <u-navbar :titleStyle="{ color: '#000' }" :autoBack="true" :title="dataList[0]?.createBy + '的日报'" :placeholder="true" :safeAreaInsetTop="true" bgColor="#fff">
     <template #left>
       <view class="u-navbar__content__left__item">
         <u-icon name="arrow-left" size="20" color="#000"></u-icon>
@@ -26,7 +26,7 @@
     :data-theme="'theme-' + proxy.$settingStore.themeColor.name"
   >
     <template #default>
-      <view class="content-area radius bg-white" v-for="(item, ind) in state.dataList" :key="ind">
+      <view class="content-area radius bg-white" v-for="(item,index) in dataList" :key="index">
         <view class="content-area-header flex mb10">
           <u-avatar
             class="content-area-header-avatar mr10"
@@ -45,7 +45,7 @@
 
         <view class="content-area-center mb10" v-for="child in item.workContents" :key="child">
           <view class="content-area-center-top flex">
-            <view class="content-area-center-top-title mr10">{{ child.projectName ? child.projectName : " " }}</view>
+            <view class="content-area-center-top-title mr10" style="color: #559AFF;" @click="toProjectMange(child.projectId)">{{ child.projectName ? child.projectName : " " }}</view>
             <view class="content-area-center-top-time" :style="{ color: proxy.$settingStore.themeColor.color }">{{ child.workTime }}h</view>
           </view>
           <u-text :text="child.workContent" color="#000000" size="14"></u-text>
@@ -60,7 +60,7 @@
         </view>
         <view class="content-area-center mb10">
           <view class="content-area-center-top">抄送人 </view>
-          <u-text :text="item.ccTo" color="#000000" size="14"></u-text>
+          <u-text :text='item.ccTo ? proxy.$common.mapping("nickName", "userId", item.ccTo, userData) : "无"' color="#000000" size="14"></u-text>
         </view>
 
 
@@ -77,6 +77,7 @@ import { onLoad, onShow, onReady, onHide, onLaunch, onBackPress, onUnload, onNav
 import { ref, reactive, computed, getCurrentInstance, toRefs, inject } from "vue";
 /*----------------------------------接口引入-----------------------------------*/
 import { projectApi } from "@/api/business/project.js";
+import { dUserList } from "@/api/system/user.js";
 /*----------------------------------组件引入-----------------------------------*/
 /*----------------------------------store引入-----------------------------------*/
 /*----------------------------------公共方法引入-----------------------------------*/
@@ -85,40 +86,47 @@ const { proxy } = getCurrentInstance();
 /*----------------------------------变量声明-----------------------------------*/
 const state = reactive({
   loading: true,
-  dataList: [],
-  pageSize: 10,
-  current: 1,
-  total: 0,
-
-  options: {
+  dataList: [],//日报列表
+  options: {//日报详情参数
     reportId: "",
-    createBy: "",
   },
+  userData:[],//用户列表
 });
 
-const { dataList, pageSize, current, total} = toRefs(state);
+const { dataList, userData} = toRefs(state);
 
 
 /**
  * @初始化
  */
 function init() {
-  state.dataList = [];
+  dataList.value = [];
   state.loading = true;
-  projectApi()
-    .ReportRecordDetails({
+  dUserList().then(res=>{
+    userData.value = res.data;
+    projectApi()
+    .ReportRecord({
       reportId: state.options.reportId,
+      pageNum: 1,
+      pageSize: 1,
     })
     .then((requset) => {
-      state.options.createBy = requset.data[0].createBy;
-      state.dataList = requset.data;
+      dataList.value = requset.data.records;
       state.loading = false;
     })
     .catch((err) => {
       state.loading = false;
     });
-}
+  })
 
+}
+/**
+ * 跳转项目概览
+ * @param id 项目id
+ */
+function toProjectMange(id) {
+  proxy.$tab.navigateTo(`/pages/business/common/projectMange/overview/index?id=${id}`);
+}
 onReady(() => {});
 
 onShow(() => {