liujiaxin 1 день назад
Родитель
Сommit
c672cc69ad

+ 4 - 11
components/StatisticsTable.vue

@@ -34,19 +34,12 @@
             :key="colIndex"
             :style="{ width: column.width }"
           >
-            <!-- 使用渲染函数或条件判断代替动态插槽 -->
-            <template v-if="column.key === 'statusText' && column.slot">
-              <slot name="statusText" :item="item" :index="index">
-                {{ item[column.key]||'' }}
-              </slot>
-            </template>
-            <template v-else-if="column.key === 'operation' && column.slot">
-              <slot name="operation" :item="item" :index="index">
-              {{ item[column.key] ||'' }}
-              </slot>
+            <!-- 直接显示数据,不使用插槽,避免同名插槽警告 -->
+            <template v-if="column.key === 'statusText'">
+              <text class="status-tag" :class="item.status">{{ item[column.key]||'' }}</text>
             </template>
             <template v-else>
-              {{ item[column.key] ||'s'}}
+              {{ item[column.key] ||''}}
             </template>
           </view>
         </view>

+ 1 - 1
manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "壹柒玖康养集团",
+    "name" : "企业端",
     "appid" : "__UNI__DBD2079",
     "description" : "",
     "versionName" : "1.0.0",

+ 2 - 2
pages/auth/login.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="container">
 		<!-- #ifdef MP-WEIXIN -->
-		<image class="bg" src="/static/image/bg_login.png" mode="widthFix"></image>
+		<image class="bg" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/bg_login.png" mode="widthFix"></image>
 		<view class="force-login-wrap">
 			<view :style="{height:menuButtonInfo.height,marginTop:menuButtonInfo.top}" class="backImg">
 				<image @tap="goBack()" src="/static/images/back.png"></image>
@@ -32,7 +32,7 @@
 							<input class="input-field code-input" type="text" :password="showPassword"
 								v-model="password" placeholder="请输入密码" />
 							<image @click="closePwd"
-								:src="showPassword?'/static/image/icon_invisible.png':'/static/image/icon_visible.png'"
+								:src="showPassword?'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_invisible.png':'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_visible.png'"
 								mode="aspectFill"></image>
 						</view>
 						<view v-if="current == 0" class="get-code-btn" @click="getVerifyCode">

+ 1 - 1
pages/auth/setting.vue

@@ -4,7 +4,7 @@
 			<view class="info-item" @click="toChangePassword">
 				<view class="label">修改密码</view>
 				<view class="right">
-					<image class="w36 h36" src="@/static/image/icon_my_more.png" mode=""></image>
+					<image class="w36 h36" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png" mode=""></image>
 				</view>
 			</view>
 			<view class="info-item">

+ 1 - 1
pages/common/launch.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="content">
 		<view class="loadding" v-if="loadding==true">
-			<image src="https://user.test.ylrztop.com/images/logo.png"></image>
+			<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/logo.png"></image>
 			<text class="text">企业端</text>
 		</view>
 	</view>

+ 16 - 0
pages/home/index.vue

@@ -54,6 +54,22 @@
 
 		},
 		onReachBottom() {},
+		// 分享给朋友
+		onShareAppMessage(res) {
+			return {
+				title: '研究型互联网医院',
+				path: '/pages/home/index',
+				imageUrl: '/static/image/logo.png'
+			}
+		},
+		// 分享朋友圈
+		onShareTimeline() {
+			return {
+				title: '研究型互联网医院',
+				query: '',
+				imageUrl: '/static/image/logo.png'
+			}
+		},
 		methods: {
 			navTo(url) {
 				uni.navigateTo({

+ 6 - 6
pages/user/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<view>
 		<view class="top-cont">
-			<image class="bg" src="/static/image/bg_mine.png" mode="widthFix"></image>
+			<image class="bg" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/bg_mine.png" mode="widthFix"></image>
 			<view class="top-inner">
 				<!-- 这里是状态栏 -->
 				<view class="status_bar" :style="{height: statusBarHeight}"></view>
@@ -9,11 +9,11 @@
 					<view class="user-info">
 						<view class="left">
 							<view class="head-img">
-								<image :src="userInfo.avatar?userInfo.avatar:'/static/image/my_heads_icon.png'"
+								<image :src="userInfo.avatar?userInfo.avatar:'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png'"
 									mode="aspectFill">
 								</image>
 								<image class="gender"
-									:src="isGirl==null?'/static/image/icon_girl.png':'/static/image/icon_boy.png'"
+									:src="isGirl==null?'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_girl.png':'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_boy.png'"
 									mode="aspectFill"></image>
 							</view>
 							<view class="name-phone">
@@ -34,7 +34,7 @@
 								<view class="title-l">{{item.name||''}}</view>
 							</view>
 							<view class="right">
-								<image src="/static/image/icon_my_more.png" mode=""></image>
+								<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png" mode=""></image>
 							</view>
 						</view>
 					</view>
@@ -62,13 +62,13 @@
 					{
 						name: '个人信息',
 						num: 3,
-						icon: '/static/image/icon_my_information.png',
+						icon: 'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_information.png',
 						url: '/pages_user/userInfo'
 					},
 					{
 						name: '设置中心',
 						num: 8,
-						icon: '/static/image/icon_my_set.png',
+						icon: 'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_set.png',
 						url: '/pages/auth/setting'
 					},
 				],

+ 7 - 7
pages_speaker/gradeApplication.vue

@@ -17,7 +17,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.academicTitle }"
 						@click="showPicker('学术头衔', 'doctor_academic_title')">
 						{{ formData.academicTitle || '请选择' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 
@@ -29,7 +29,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.academicPositions }"
 						@click="showPicker('学术任职', 'doctor_academic_position')">
 						{{ formData.academicPositions || '请选择' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 				<view class="form-item">
@@ -54,7 +54,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.researchAreas }"
 						@click="showPicker('学术研究', 'doctor_research_area')">
 						{{ formData.researchAreas || '请选择' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 				<view class="form-item">
@@ -72,7 +72,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.degree }"
 						@click="showPicker('学位', 'doctor_degree')">
 						{{ formData.degree || '请选择' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 				<view class="form-item">
@@ -83,7 +83,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.applicationLevel }"
 						@click="showPicker('申请级别', 'doctor_apply_level')">
 						{{ formData.applicationLevel || '请选择' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 
@@ -101,11 +101,11 @@
 								<view class="image-delete" @click.stop="deleteProofImage(index)">×</view>
 							</view>
 							<view class="upload-placeholder">
-								<image src="/static/image/icon_camera.png" mode="aspectFill"></image>
+								<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_camera.png" mode="aspectFill"></image>
 							</view>
 						</view>
 						<view v-else class="upload-placeholder">
-							<image src="/static/image/icon_camera.png" mode="aspectFill"></image>
+							<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_camera.png" mode="aspectFill"></image>
 						</view>
 					</view>
 				</view>

+ 9 - 9
pages_speaker/index.vue

@@ -2,11 +2,11 @@
 	<view class="container">
 		<view class="top-box">
 			<view class="input-item">
-				<image class="icon" src="@/static/image/search.png" mode=""></image>
+				<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/search.png" mode=""></image>
 				<input class="" placeholder="请输入讲者姓名" placeholder-class="placeholder" v-model="searchName" />
 			</view>
 			<view class="filter-item" @click="showFilter = true">
-				<image class="w32 h32 mr4" src="@/static/image/icon_select.png" mode=""></image>
+				<image class="w32 h32 mr4" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_select.png" mode=""></image>
 				<text>筛选</text>
 			</view>
 		</view>
@@ -23,7 +23,7 @@
 				<view class="filter-divider"></view>
 				<view class="filter-btn" @click="showMemberPopup = true">
 					<text>{{ selectedMemberOption || '全员' }}</text>
-					<image class="w32 h32" src="@/static/image/icon_down.png" mode=""></image>
+					<image class="w32 h32" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_down.png" mode=""></image>
 				</view>
 			</view>
 			<!-- 成员筛选弹窗 -->
@@ -63,13 +63,13 @@
 
 
 				<view class="row">
-					<image class="icon" src="@/static/image/icon_hospital.png" mode=""></image>
+					<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_hospital.png" mode=""></image>
 					<text>{{ item.institution ||'-'}}</text>
 					<view class="line"></view>
 					<text>{{ item.department ||'-'}}</text>
 				</view>
 				<view class="row">
-					<image class="icon" src="/static/image/icon_user.png" mode=""></image>
+					<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_user.png" mode=""></image>
 					<view class="txt-container">
 						<text class="txt" :class="{ 'expanded': expandedItems[index] }">
 							<text v-for="(value,idx) in (item.doctorProducts || [])" :key="idx">
@@ -80,7 +80,7 @@
 					</view>
 					<image v-if="item.doctorProducts && item.doctorProducts.length > 0" class="icon expand-icon"
 						:class="{ 'expanded': expandedItems[index] }" @click.stop="expand(index)"
-						src="/static/image/icon_expand.png" mode=""></image>
+						src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_expand.png" mode=""></image>
 				</view>
 
 				<view class="card-warning" v-if="item.warning">
@@ -89,7 +89,7 @@
 				</view>
 
 				<view class="card-rejection" v-if="item.rejectReason">
-					<image class="w28 h28 mr8" src="@/static/image/icon_wrong.png" mode=""></image>
+					<image class="w28 h28 mr8" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_wrong.png" mode=""></image>
 					<text>驳回原因: {{ item.rejectReason }}</text>
 				</view>
 				<view class="card-tags">
@@ -107,7 +107,7 @@
 			<view class="filter-content" @click.stop>
 				<view class="filter-header">
 					<view class="filter-title">筛选</view>
-					<image class="filter-close-btn" src="@/static/image/icon_close.png" @click="closeFilter" mode="">
+					<image class="filter-close-btn" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_close.png" @click="closeFilter" mode="">
 					</image>
 				</view>
 
@@ -137,7 +137,7 @@
 			<view class="filter-content correlation-content" @click.stop>
 				<view class="filter-header">
 					<view class="filter-title">关联产品</view>
-					<image class="filter-close-btn" src="@/static/image/icon_close.png" @click="showCorrelation = false"
+					<image class="filter-close-btn" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_close.png" @click="showCorrelation = false"
 						mode="">
 					</image>
 				</view>

+ 4 - 8
pages_speaker/lecturerDetail.vue

@@ -2,11 +2,11 @@
 	<view class="container">
 		<view class="status-bar" :style="{ height: statusBarHeight + 'px' }"></view>
 		<view class="top">
-			<image class="return" @click="goBack" src="/static/image/back_white.png"></image>
+			<image class="return" @click="goBack" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/back_white.png"></image>
 			<text>讲者信息</text>
 			<view class="top-right">
-				<image class="icon" src="/static/image/icon_more.png"></image>
-				<image class="icon" src="/static/image/icon_scan.png"></image>
+				<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
+				<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_scan.png"></image>
 			</view>
 		</view>
 		<scroll-view class="content" scroll-y>
@@ -91,16 +91,12 @@
 						<text class="qualification-label">医师执业证</text>
 						<view class="image-grid">
 							<image class="qualification-image"  :src=" lecturerInfo.licenseImage"></image>
-
-							<!-- <image class="qualification-image" v-for="(img, index) in lecturerInfo.qualifications.medicalLicense" :key="index" :src="img"></image> -->
 						</view>
 					</view>
 					<view class="qualification-item">
 						<text class="qualification-label">医师职称证/工牌</text>
 						<view class="image-grid">
 							<image class="qualification-image"  :src=" lecturerInfo.titleCertImage"></image>
-
-							<!-- <image class="qualification-image" v-for="(img, index) in lecturerInfo.qualifications.titleLicense" :key="index" :src="img"></image> -->
 						</view>
 					</view>
 				</view>
@@ -162,7 +158,7 @@
 					name: '',
 					identity: '',
 					phone: '',
-					avatar: '/static/image/doctor_avatar.png',
+					avatar: 'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/doctor_avatar.png',
 					idCard: '',
 					company: '',
 					institution: '',

+ 5 - 5
pages_speaker/speakerInvitation.vue

@@ -1,26 +1,26 @@
 <template>
 	<view class="container">
-		<image class="bg" src="/static/image/bg_invite.png" mode="aspectFill"></image>
+		<image class="bg" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/bg_invite.png" mode="aspectFill"></image>
 		<!-- 状态栏占位(微信小程序原生适配) -->
 		<view class="status-bar" :style="{ height: statusBarHeight + 'px' }"></view>
 		<view class="return">
-			<image class="return-img" @click="goBack" src="/static/image/back_white.png" mode="aspectFill"></image>
+			<image class="return-img" @click="goBack" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/back_white.png" mode="aspectFill"></image>
 
 		</view>
 		<!-- 核心内容区:居中布局 -->
 		<view class="main-content">
 			<!-- 页面大标题:讲者邀请 -->
 			<view class="page-title">
-				<image class="title-img" src="@/static/image/img_title.png" mode="aspectFill"></image>
+				<image class="title-img" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/img_title.png" mode="aspectFill"></image>
 				<text class="title-txt">讲者邀请</text>
-				<image class="title-img rotate180" src="@/static/image/img_title.png" mode="aspectFill"></image>
+				<image class="title-img rotate180" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/img_title.png" mode="aspectFill"></image>
 			</view>
 			<!-- 邀请卡片:白色背景+圆角+轻微阴影(1:1匹配UI) -->
 			<view class="invite-card">
 
 				<!-- 邀请人信息区 -->
 				<view class="inviter-section">
-					<image class="inviter-avatar" src="@/static/image/my_heads_icon.png" mode="aspectFill"></image>
+					<image class="inviter-avatar" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png" mode="aspectFill"></image>
 					<text class="inviter-name">王小明</text>
 					<text class="invite-desc">邀请你成为讲者</text>
 				</view>

+ 1 - 1
pages_task/activityDetail.vue

@@ -6,7 +6,7 @@
 		<!-- 顶部导航栏 -->
 		<view class="header">
 			<view class="back-btn" @click="goBack">
-				<image src="@/static/image/back.png" mode="aspectFill"></image>
+				<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/back.png" mode="aspectFill"></image>
 			</view>
 			<view class="title">活动详情</view>
 			<view class="header-right">

+ 4 - 4
pages_task/approvalCenter.vue

@@ -3,7 +3,7 @@
 		<!-- 搜索+筛选栏 -->
 		<view class="top-box">
 			<view class="input-item">
-					<image class="icon search-icon" src="@/static/image/search.png" mode="widthFix"></image>
+					<image class="icon search-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/search.png" mode="widthFix"></image>
 					<input v-model="searchKeywords" @input="handleSearchInput" placeholder="请输入发起人姓名、手机号" placeholder-class="placeholder" />
 				</view>
 		</view>
@@ -23,7 +23,7 @@
 				<view class="sub-tab-item" :class="{ active: currentSubTab === item.value }" @click="popShow = !popShow"
 					v-for="(item, index) in currentSubTabsList" :key="index">
 					<text>{{ item.label }}</text>
-					<image class="icon" src="/static/image/icon_expand.png" mode="widthFix"></image>
+					<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_expand.png" mode="widthFix"></image>
 				</view>
 			</view>
 			<!-- 使用tab-popup组件 -->
@@ -54,7 +54,7 @@
 					<!-- 操作按钮 -->
 					<view class="operate-btn-group">
 						<view class="share-btn" @click="handleShare(item)">
-							<image class="share-icon" src="/static/image/icon_user.png" mode="widthFix"></image>
+							<image class="share-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_user.png" mode="widthFix"></image>
 							<text>{{ item.initiatorName || '未命名' }}</text>
 						</view>
 						<view class="date">
@@ -70,7 +70,7 @@
 			<view class="filter-content" @click.stop>
 				<view class="filter-header">
 					<view class="filter-title">筛选</view>
-					<image class="filter-close-btn" src="@/static/image/icon_close.png" @click="closeFilter"
+					<image class="filter-close-btn" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_close.png" @click="closeFilter"
 						mode="widthFix"></image>
 				</view>
 

Разница между файлами не показана из-за своего большого размера
+ 672 - 235
pages_task/approvalTaskDetail.vue


+ 1 - 1
pages_task/caseCollection.vue

@@ -6,7 +6,7 @@
 		<!-- 顶部导航栏 -->
 		<view class="header">
 			<view class="back-btn" @click="goBack">
-				<image src="@/static/image/back.png" mode="aspectFill"></image>
+				<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/back.png" mode="aspectFill"></image>
 			</view>
 			<view class="title">病例征集</view>
 			<view class="header-right">

+ 12 - 15
pages_task/createTask.vue

@@ -18,7 +18,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.deptId }"
 						@click="showPicker('任务归属',companyData)">
 						{{ institutionDisplayText || '请选择任务归属' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 
@@ -30,7 +30,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.projectId }"
 						@click="showPicker('归属项目',companyList)">
 						{{ belongingProjectDisplayText || '请选择归属项目' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 				<view class="form-item">
@@ -41,7 +41,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.productId }"
 						@click="showPicker('产品代码',productList)">
 						{{ productNameDisplayText || '请选择产品代码' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 				<view class="form-item">
@@ -52,7 +52,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.costShareId }"
 						@click="showPicker('费用分摊',companyData)">
 						{{ costAllocationDisplayText || '请选择费用分摊主体' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 
@@ -73,7 +73,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.belongType }"
 						@click="showPicker('归属类型',dictTypeColumns)">
 						{{ belongTypeDisplayText || '请选择归属类型' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 
@@ -85,7 +85,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.taskType }"
 						@click="showPicker('任务类型',taskTypeColumns)">
 						{{ taskTypeDisplayText || '请选择任务类型' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 
@@ -97,7 +97,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.planStartTime }"
 						@click="showStartTimePicker = true">
 						{{ formData.planStartTime || '请选择计划开始时间' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 
@@ -109,7 +109,7 @@
 					<view class="form-input picker-input" :class="{ placeholder: !formData.planEndTime }"
 						@click="showEndTimePicker = true">
 						{{ formData.planEndTime || '请选择计划结束时间' }}
-						<image class="icon" src="/static/image/icon_more.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
 					</view>
 				</view>
 			</view>
@@ -134,7 +134,7 @@
 				</view>
 
 				<view class="search-box">
-					<image class="icon" src="/static/image/search.png"></image>
+					<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/search.png"></image>
 					<u-input v-model="searchKeyword" placeholder="请输入归属项目" border="none" clearable />
 				</view>
 
@@ -142,7 +142,7 @@
 					<view v-for="(project, index) in filteredProjects" :key="index" class="project-item"
 						:class="{ active: selectedIndex === index }" @tap="selectProject(project, index)">
 						<text class="project-name">{{ project.name }}</text>
-						<image class="icon" src="/static/image/icon_right.png"></image>
+						<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_right.png"></image>
 					</view>
 				</scroll-view>
 			</view>
@@ -152,7 +152,7 @@
 			<view class="popup-content">
 				<view class="popup-header">
 					<text class="popup-title">任务归属</text>
-					<image class="close-icon" src="/static/image/icon_cross.png" @click="showTaskPopup=false"></image>
+					<image class="close-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_cross.png" @click="showTaskPopup=false"></image>
 				</view>
 				<view class="two-level-container">
 					<scroll-view class="primary-list" scroll-y>
@@ -303,14 +303,11 @@ import utils from '@/utils/common.js'
 			}
 
 
-				this.userInfo=JSON.parse(uni.getStorageSync("userInfo"))||''
+				this.userInfo=uni.getStorageSync("userInfo")||''
 			if (options.rejectionInfo) {
 				this.rejectionInfo = decodeURIComponent(options.rejectionInfo)
 			}
 			// 获取用户信息
-			const userInfoStr = uni.getStorageSync('userInfo')
-			this.userInfo = userInfoStr ? JSON.parse(userInfoStr) : {}
-			console.log(this.userInfo);
 			// 加载信息
 			this.companyId = this.userInfo.companyId || 1
 			// 设置默认日期为当天

+ 2 - 2
pages_task/science.vue

@@ -14,7 +14,7 @@
 			</view>
 			<view class="filter-divider"></view>
 			<view class="filter-btn" @click="showFilter = true">
-				<image class="w32 h32" src="@/static/image/icon_select.png" mode=""></image>
+				<image class="w32 h32" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_select.png" mode=""></image>
 			</view>
 		</view>
 		
@@ -29,7 +29,7 @@
 				</view>
 				<view class="card-tags">
 					<view class="tag-item video-tag" v-if="item.videoType">
-						<image class="w28 h28 mr10" src="@/static/image/icon_longvideo.png" mode=""></image>
+						<image class="w28 h28 mr10" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_longvideo.png" mode=""></image>
 						<text>{{ item.videoType }}</text>
 					</view>
 					<view class="tag-item" v-if="item.category">

+ 57 - 110
pages_task/statistics.vue

@@ -21,12 +21,12 @@
 		<!-- 日期范围和筛选 -->
 		<view class="date-filter-bar mb16">
 			<view class="date-range" @click="showDatePicker = true">
-				<image class="w32 h32" src="@/static/image/icon_time.png" mode=""></image>
+				<image class="w32 h32" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_time.png" mode=""></image>
 				<text class="date-text">{{ dateRangeText }}</text>
 				<text class="arrow-down">▼</text>
 			</view>
 			<view class="filter-btn" @click="showFilter = true">
-				<image class="w32 h32" src="@/static/image/icon_select.png" mode=""></image>
+				<image class="w32 h32" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_select.png" mode=""></image>
 				<text>筛选</text>
 			</view>
 		</view>
@@ -66,10 +66,6 @@
 				:loading="loading.service" 
 				@load-more="loadMore('service')"
 			>
-				<!-- 状态列自定义插槽 -->
-						<template #statusText="{ item }">
-							<text class="status-tag" :class="item.status">{{ item.statusText }}</text>
-						</template>
 			</statistics-table>
 
 			<statistics-table 
@@ -80,10 +76,6 @@
 				:loading="loading.service" 
 				@load-more="loadMore('service')"
 			>
-				<!-- 状态列自定义插槽 -->
-						<template #statusText="{ item }">
-							<text class="status-tag" :class="item.status">{{ item.statusText }}</text>
-						</template>
 			</statistics-table>
 		</template>
 
@@ -117,7 +109,7 @@
 			<view class="filter-content" @click.stop>
 				<view class="filter-header">
 					<view class="filter-title">筛选</view>
-					<image class="filter-close-btn" src="/static/image/icon_cross.png" @click="closeFilter"></image>
+					<image class="filter-close-btn" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_cross.png" @click="closeFilter"></image>
 				</view>
 
 				<!-- 根据统计类型显示不同的筛选条件 -->
@@ -126,9 +118,9 @@
 					<view class="filter-group">
 						<view class="group-label">任务类型</view>
 						<view class="filter-tags">
-							<view class="filter-tag" :class="{ active: tempSelectedTaskType === item.value }"
-								v-for="(item, index) in taskTypeOptions" :key="index" @click="selectTaskType(item.value)">
-								{{ item.label }}
+							<view class="filter-tag" :class="{ active: tempSelectedTaskType.includes(item.dictValue) }"
+								v-for="(item, index) in taskTypeDict" :key="index" @click="toggleTaskType(item.dictValue)">
+								{{ item.dictLabel }}
 							</view>
 						</view>
 					</view>
@@ -137,10 +129,9 @@
 					<view class="filter-group">
 						<view class="group-label">任务状态</view>
 						<view class="filter-tags">
-							<view class="filter-tag" :class="{ active: tempSelectedTaskStatus === item.value }"
-								v-for="(item, index) in taskStatusOptions" :key="index"
-								@click="selectTaskStatus(item.value)">
-								{{ item.label }}
+							<view class="filter-tag" :class="{ active: tempSelectedTaskStatus.includes(item.dictValue) }"
+								v-for="(item, index) in taskStatusDict" :key="index" @click="toggleTaskStatus(item.dictValue)">
+								{{ item.dictLabel }}
 							</view>
 						</view>
 					</view>
@@ -182,6 +173,7 @@
 </template>
 
 <script>
+import utils from '@/utils/common.js'
 	import StatisticsTable from '@/components/StatisticsTable.vue'
 	import { getTaskCompleteStats, getTaskCreateStats } from '@/api/task.js'
 	export default {
@@ -190,6 +182,7 @@
 		},
 		data() {
 			return {
+				userInfo: uni.getStorageSync("userInfo")||'',
 				statusBarHeight: uni.getSystemInfoSync().statusBarHeight + 'px',
 				showDatePicker: false,
 				showFilter: false,
@@ -206,10 +199,10 @@
 				},
 				
 				// 任务统计筛选
-				selectedTaskType: 'academicLecture',
-				selectedTaskStatus: '',
-				tempSelectedTaskType: 'academicLecture',
-				tempSelectedTaskStatus: '',
+				selectedTaskType: [],
+				selectedTaskStatus: [],
+				tempSelectedTaskType: [],
+				tempSelectedTaskStatus: [],
 				
 				// 服务单统计筛选
 				selectedServiceType: 'all',
@@ -217,76 +210,6 @@
 				tempSelectedServiceType: 'all',
 				tempSelectedServiceStatus: '',
 				
-				// 任务类型选项
-				taskTypeOptions: [{
-						label: '医生坐诊',
-						value: 'doctorConsultation'
-					},
-					{
-						label: '科普讲座',
-						value: 'popularScienceLecture'
-					},
-					{
-						label: '学术讲座',
-						value: 'academicLecture'
-					},
-					{
-						label: '科普文章',
-						value: 'popularScienceArticle'
-					},
-					{
-						label: '科普短视频',
-						value: 'popularScienceShortVideo'
-					},
-					{
-						label: '科普长视频',
-						value: 'popularScienceLongVideo'
-					},
-					{
-						label: '空中课堂',
-						value: 'airClassroom'
-					},
-					{
-						label: '用药调研',
-						value: 'medicationSurvey'
-					},
-					{
-						label: '问卷调研',
-						value: 'questionnaireSurvey'
-					},
-					{
-						label: '社群咨询',
-						value: 'communityConsultation'
-					},
-					{
-						label: '健康问答',
-						value: 'healthQA'
-					}
-				],
-				
-				// 任务状态选项
-				taskStatusOptions: [{
-						label: '未完成',
-						value: 'uncompleted'
-					},
-					{
-						label: '待审核',
-						value: 'pendingReview'
-					},
-					{
-						label: '已驳回',
-						value: 'rejected'
-					},
-					{
-						label: '已完成',
-						value: 'completed'
-					},
-					{
-						label: '已完结',
-						value: 'finished'
-					}
-				],
-				
 				// 服务单类型选项
 				serviceTypeOptions: [{
 						label: '全部类型',
@@ -455,6 +378,8 @@
 				}
 				]
 			},
+			taskTypeDict: [],//任务类型
+			taskStatusDict: [],//任务状态
 			
 			// 加载状态
 				loading: {
@@ -473,8 +398,8 @@
 				if (newVal) {
 					// 打开弹窗时,同步临时选择值
 					if (this.currentStatType === 'task') {
-						this.tempSelectedTaskType = this.selectedTaskType
-						this.tempSelectedTaskStatus = this.selectedTaskStatus
+						this.tempSelectedTaskType = [...this.selectedTaskType]
+						this.tempSelectedTaskStatus = [...this.selectedTaskStatus]
 					} else {
 						this.tempSelectedServiceType = this.selectedServiceType
 						this.tempSelectedServiceStatus = this.selectedServiceStatus
@@ -488,8 +413,15 @@
 				this.loadData()
 			}
 		},
-		onLoad() {
-			this.loadData()
+		onLoad: async function(options) {
+			try {
+				this.taskTypeDict = await utils.getDicts("task_type");//任务类型
+				this.taskStatusDict = await utils.getDicts("task_status");//任务状态
+			} catch (e) {
+				console.log('获取字典数据失败:', e)
+			}
+		this.loadData()
+			
 		},
 		onReachBottom() {
 			this.loadMore(this.currentStatType)
@@ -549,19 +481,25 @@
 			},
 			
 			// 任务筛选相关方法
-			selectTaskType(value) {
-				if (this.tempSelectedTaskType === value) {
-					this.tempSelectedTaskType = ''
+			toggleTaskType(value) {
+				const index = this.tempSelectedTaskType.indexOf(value);
+				if (index > -1) {
+					// 已选中,取消选择
+					this.tempSelectedTaskType.splice(index, 1);
 				} else {
-					this.tempSelectedTaskType = value
+					// 未选中,添加选择
+					this.tempSelectedTaskType.push(value);
 				}
 			},
 			
-			selectTaskStatus(value) {
-				if (this.tempSelectedTaskStatus === value) {
-					this.tempSelectedTaskStatus = ''
+			toggleTaskStatus(value) {
+				const index = this.tempSelectedTaskStatus.indexOf(value);
+				if (index > -1) {
+					// 已选中,取消选择
+					this.tempSelectedTaskStatus.splice(index, 1);
 				} else {
-					this.tempSelectedTaskStatus = value
+					// 未选中,添加选择
+					this.tempSelectedTaskStatus.push(value);
 				}
 			},
 			
@@ -584,8 +522,8 @@
 			
 			resetFilters() {
 				if (this.currentStatType === 'task') {
-					this.tempSelectedTaskType = ''
-					this.tempSelectedTaskStatus = ''
+					this.tempSelectedTaskType = []
+					this.tempSelectedTaskStatus = []
 				} else {
 					this.tempSelectedServiceType = 'all'
 					this.tempSelectedServiceStatus = ''
@@ -594,8 +532,8 @@
 			
 			confirmFilters() {
 				if (this.currentStatType === 'task') {
-					this.selectedTaskType = this.tempSelectedTaskType
-					this.selectedTaskStatus = this.tempSelectedTaskStatus
+					this.selectedTaskType = [...this.tempSelectedTaskType]
+					this.selectedTaskStatus = [...this.tempSelectedTaskStatus]
 				} else {
 					this.selectedServiceType = this.tempSelectedServiceType
 					this.selectedServiceStatus = this.tempSelectedServiceStatus
@@ -614,8 +552,7 @@
 					if (this.currentStatType === 'task') {
 						// 加载任务统计数据
 						// 获取用户信息
-						const userInfoStr = uni.getStorageSync('userInfo')
-						const userInfo = userInfoStr ? JSON.parse(userInfoStr) : {}
+						const userInfo = uni.getStorageSync('userInfo')
 						
 						// 构建请求参数
 						const params = {
@@ -624,6 +561,16 @@
 							pageSize: 10
 						}
 						
+						// 如果有选中的任务类型,添加到请求参数中
+						if (this.selectedTaskType && this.selectedTaskType.length > 0) {
+							params.taskTypes = this.selectedTaskType.join(',')
+						}
+						
+						// 如果有选中的任务状态,添加到请求参数中
+						if (this.selectedTaskStatus && this.selectedTaskStatus.length > 0) {
+							params.taskStatuses = this.selectedTaskStatus.join(',')
+						}
+						
 						// 调用任务完成统计接口
 						const completeStatsRes = await getTaskCompleteStats(params)
 						// 调用任务创建统计接口

+ 1 - 1
pages_task/taskCompleteSuccess.vue

@@ -6,7 +6,7 @@
 		<!-- 顶部导航栏 -->
 		<view class="header">
 			<view class="back-btn" @click="goBack">
-				<image src="@/static/image/back.png" mode="aspectFill"></image>
+				<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/back.png" mode="aspectFill"></image>
 			</view>
 			<view class="title">完成任务</view>
 			<view class="header-right">

+ 11 - 11
pages_task/taskDetail.vue

@@ -2,7 +2,7 @@
 	<view class="container">
 		<view class="status-bar" :style="{ height: statusBarHeight + 'px' }"></view>
 		<view class="top">
-			<image class="return" @click="goBack" src="/static/image/back_white.png"></image>
+			<image class="return" @click="goBack" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/back_white.png"></image>
 			<text>任务详情</text>
 		</view>
 		<scroll-view class="content" scroll-y>
@@ -121,7 +121,7 @@
 				<view class="client-list">
 					<view class="client-item" >
 						<view class="client-info">
-							<image class="avatar" src="/static/image/my_heads_icon.png"></image>
+							<image class="avatar" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png"></image>
 							<view class="client-txt">
 								<view class="client-name">
 									{{ detail.doctorVO.doctorName||'-' }}
@@ -166,14 +166,14 @@
 								<text class="info-label">附件:</text>
 								<view class="attachment-item" v-if="material.materialLink">
 									<view class="left">
-										<image class="img" src="/static/image/icon_attachment.png"></image>
+										<image class="img" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_attachment.png"></image>
 										<view class="txt-item">
 											<view class="attachment-name">{{ material.materialLink || '-' }}</view>
 											<view class="attachment-size">{{ formatFileSize(material.fileSize || 0) }}</view>
 										</view>
 									</view>
 									<image class="download-btn" @click="downloadAttachment(material.materialLink)"
-										src="/static/image/icon_downlad.png"></image>
+										src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_downlad.png"></image>
 								</view>
 							</view>
 						</view>
@@ -198,10 +198,10 @@
 					<view class="approval-item" v-for="(item, index) in currentApprovalInfo" :key="index">
 						<view class="left">
 							<view class="avatar-box">
-								<image class="avatar" src="/static/image/my_heads_icon.png"></image>
-								<image class="icon" v-if="item.status=='待审核'" src="/static/image/icon_wait.png"></image>
-								<image class="icon" v-if="item.status=='已通过'" src="/static/image/icon_pass.png"></image>
-								<image class="icon" v-if="item.status=='已驳回'" src="/static/image/icon_refuse.png"></image>
+								<image class="avatar" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png"></image>
+								<image class="icon" v-if="item.status=='待审核'" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_wait.png"></image>
+								<image class="icon" v-if="item.status=='已通过'" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_pass.png"></image>
+								<image class="icon" v-if="item.status=='已驳回'" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_refuse.png"></image>
 							</view>
 							<view class="approval-user">
 								<view class="user-name">{{ item.name }}</view>
@@ -221,11 +221,11 @@
 		<view class="bottom-bar" v-if="auditStatus==1">
 			<view class="action-buttons">
 				<view class="btn btn-cancel" @click="openRejectPopup">
-					<image class="icon" src="/static/image/icon_approval_no.png"></image>
+					<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_approval_no.png"></image>
 					<text>驳回</text>
 				</view>
 				<view class="btn btn-submit" @click="handleNext">
-					<image class="icon" src="/static/image/icon_approval_yes.png"></image>
+					<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_approval_yes.png"></image>
 					<text>通过</text>
 				</view>
 			</view>
@@ -235,7 +235,7 @@
 			<view class="reject-popup-content">
 				<view class="popup-header">
 					<text class="popup-title">驳回</text>
-					<image @click="showRejectPopup = false;" class="close" src="/static/image/icon_close.png"></image>
+					<image @click="showRejectPopup = false;" class="close" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_close.png"></image>
 				</view>
 
 				<view class="input-area">

+ 13 - 13
pages_task/xlTask.vue

@@ -3,11 +3,11 @@
 		<!-- 搜索+筛选栏 -->
 		<view class="top-box">
 			<view class="input-item">
-				<image class="icon search-icon" src="/static/image/search.png" mode="widthFix"></image>
+				<image class="icon search-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/search.png" mode="widthFix"></image>
 				<input placeholder="请输入客户姓名/机构名称" placeholder-class="placeholder" />
 			</view>
 			<view class="filter-item" @click="showFilter = true">
-				<image class="filter-icon" src="/static/image/icon_select.png" mode="widthFix"></image>
+				<image class="filter-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_select.png" mode="widthFix"></image>
 				<text>筛选</text>
 			</view>
 		</view>
@@ -50,7 +50,7 @@
 
 						<!-- 医院+科室 -->
 						<view class="org-info">
-							<image class="org-icon" src="/static/image/icon_hospital.png" mode="widthFix"></image>
+							<image class="org-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_hospital.png" mode="widthFix"></image>
 							<text>{{ item.deptName ||'-' }}</text>
 							<view class="line"></view>
 							<text>{{ item.deptName||'-' }}</text>
@@ -60,7 +60,7 @@
 						<view class="card-tags">
 							<view class="tag-left-group">
 								<view class="tag-item video-tag" v-if="item.taskTypeName">
-									<image class="video-tag-icon" src="/static/image/icon_longvideo.png" mode="widthFix">
+									<image class="video-tag-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_longvideo.png" mode="widthFix">
 									</image>
 									<text>{{ item.taskTypeName ||'-'}}</text>
 								</view>
@@ -95,7 +95,7 @@
 						<!-- 操作按钮 -->
 						<view class="operate-btn-group">
 							<view class="share-btn" @click="handleShare(item)">
-								<image class="share-icon" src="/static/image/icon_share.png" mode="widthFix"></image>
+								<image class="share-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_share.png" mode="widthFix"></image>
 								<text>分享</text>
 							</view>
 							<view class="btn-group">
@@ -129,7 +129,7 @@
 
 						<!-- 医院+科室 -->
 						<view class="org-info">
-							<image class="org-icon" src="/static/image/icon_hospital.png" mode="widthFix"></image>
+							<image class="org-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_hospital.png" mode="widthFix"></image>
 							<text>{{ item.businessData.taskInfo.doctorVO.institution ||'-' }}</text>
 							<view class="line"></view>
 							<text>{{ item.businessData.taskInfo.doctorVO.department||'-' }}</text>
@@ -139,7 +139,7 @@
 						<view class="card-tags">
 							<view class="tag-left-group">
 								<view class="tag-item video-tag" v-if="item.businessData.taskInfo.taskTypeName">
-									<image class="video-tag-icon" src="/static/image/icon_longvideo.png" mode="widthFix">
+									<image class="video-tag-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_longvideo.png" mode="widthFix">
 									</image>
 									<text>{{ item.businessData.taskInfo.taskTypeName ||'-'}}</text>
 								</view>
@@ -167,7 +167,7 @@
 						<!-- 操作按钮 -->
 						<view class="operate-btn-group">
 							<view class="share-btn" @click="handleShare(item)">
-								<image class="share-icon" src="/static/image/icon_user.png" mode="widthFix"></image>
+								<image class="share-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_user.png" mode="widthFix"></image>
 								<text>{{ item.initiatorName || '未命名' }}</text>
 							</view>
 							<view class="btn-group">
@@ -185,10 +185,10 @@
 		</scroll-view>
 		<view class="side">
 			<view class="side-item"  >
-				<image class="icon" @click="goCreate" src="/static/image/btn_add.png"></image>
+				<image class="icon" @click="goCreate" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/btn_add.png"></image>
 			</view>
 			<view class="side-item" >
-				<image class="icon" @click="goData" src="/static/image/btn_data.png"></image>
+				<image class="icon" @click="goData" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/btn_data.png"></image>
 			</view>
 		</view>
 		<!-- 筛选弹窗 -->
@@ -196,7 +196,7 @@
 			<view class="filter-content" @click.stop>
 				<view class="filter-header">
 					<view class="filter-title">筛选</view>
-					<image class="filter-close-btn" src="/static/image/icon_close.png" @click="closeFilter"
+					<image class="filter-close-btn" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_close.png" @click="closeFilter"
 						mode="widthFix"></image>
 				</view>
 
@@ -466,7 +466,7 @@ import { getPendingAuditList } from '@/api/audit.js';
 									statusClass: this.getAuditStatusClass(item.status),
 									doctorName: taskInfo.doctorName || item.initiatorName || '未知',
 									initiatorId: item.initiatorId || '',
-									sealImg: item.status === 1 ? '/static/image/img_finish.png' : '/static/image/img_unfinish.png',
+									sealImg: item.status === 1 ? 'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/img_finished.png' : 'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/img_unfinish.png',
 									businessData: item.businessData || {},
 									// 从taskInfo中获取其他需要的字段
 									taskTitle: taskInfo.taskName || item.auditName,
@@ -616,7 +616,7 @@ import { getPendingAuditList } from '@/api/audit.js';
 								finishAuditTime: item.finishAuditTime || '-',
 								auditStatus: this.getAuditStatusText(item.finishAuditStatus),
 								showDelete: true,
-								sealImg: item.taskStatus === 1 ? '/static/image/img_finish.png' : '/static/image/img_unfinish.png',
+								sealImg: item.taskStatus === 1 ? 'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/img_finish.png' : 'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/img_unfinish.png',
 								finishAuditInstanceId: item.finishAuditInstanceId || '-',
 								createAuditInstanceId: item.createAuditInstanceId || '-',
 							}));

+ 14 - 31
pages_user/userInfo.vue

@@ -10,7 +10,7 @@
 					<view class="info-item">
 						<view class="label">头像</view>
 						<view class="right">
-							<image class="head" :src="formData.avatar||'/static/image/my_heads_icon.png'"></image>
+							<image class="head" :src="formData.avatar||'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png'"></image>
 							<button class="wx-head" type="balanced" open-type="chooseAvatar"
 								@chooseavatar="onChooseAvatar"></button>
 						</view>
@@ -26,7 +26,7 @@
 						<view class="label">性别</view>
 						<view class="right">
 							<text class="txt">{{formData.sex==1?'男':'女'}}</text>
-							<image class="icon" src="/static/image/icon_my_more.png" mode=""></image>
+							<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png" mode=""></image>
 						</view>
 					</view>
 				</view>
@@ -40,21 +40,21 @@
 						<view class="label">部门</view>
 						<view class="right">
 							<text class="txt" :class="{ash:!formData.deptName}">{{formData.deptName||'请选择部门'}}</text>
-							<image class="icon" src="/static/image/icon_my_more.png" mode=""></image>
+							<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png" mode=""></image>
 						</view>
 					</view>
 					<view class="info-item" @click="toSelect('post')">
 							<view class="label">岗位</view>
 							<view class="right">
 								<text class="txt" :class="{ash:!formData.postNames}">{{formData.postNames||'请选择岗位'}}</text>
-								<image class="icon" src="/static/image/icon_my_more.png" mode=""></image>
+								<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png" mode=""></image>
 							</view>
 						</view>
 					<view class="info-item" @click="toSelect('product')">
 						<view class="label">产品</view>
 						<view class="right">
 							<text class="txt" :class="{ash:!formData.productNames}">{{formData.productNames||'请选择产品'}}</text>
-							<image class="icon" src="/static/image/icon_my_more.png" mode=""></image>
+							<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png" mode=""></image>
 						</view>
 					</view>
 					<view class="info-item" @click="toSelect('superior')">
@@ -62,7 +62,7 @@
 						<view class="right">
 							<text class="txt"
 								:class="{ash:!formData.supervisorName}">{{formData.supervisorName||'请选择'}}</text>
-							<image class="icon" src="/static/image/icon_my_more.png" mode=""></image>
+							<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png" mode=""></image>
 						</view>
 					</view>
 
@@ -81,11 +81,11 @@
 									<view class="image-delete" @click.stop="deleteProofImage(index)">×</view>
 								</view>
 								<view class="upload-placeholder">
-									<image src="/static/image/icon_camera.png" mode="aspectFill"></image>
+									<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_camera.png" mode="aspectFill"></image>
 								</view>
 							</view>
 							<view v-else class="upload-placeholder">
-								<image src="/static/image/icon_camera.png" mode="aspectFill"></image>
+								<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_camera.png" mode="aspectFill"></image>
 							</view>
 						</view>
 					</view>
@@ -189,30 +189,13 @@
 				this.loadData('post', getPostList, 'postId', 'postName', '');
 				// 加载上级列表
 				this.loadData('superior', getCompanyUserList, 'userId', 'nickName', '');
-				// 加载产品列表(如果userInfo已加载)
-				if (this.userInfo && this.userInfo.productList) {
-					this.loadData('product', null, 'code', 'name', 'code');
-				}
+				// 加载产品列表
+				this.loadData('product', getProductList, 'productCode', 'productName', 'productCode');
 			},
 			// 加载指定类型的数据
 			async loadData(type, api, idField, nameField, codeField) {
 				try {
-					if (type === 'product' && this.userInfo && this.userInfo.productList) {
-						// 产品数据从userInfo.productList中获取
-						const list = this.userInfo.productList.map(item => ({
-							id: item.code,
-							title: item.name,
-							code: item.code
-						}));
-						this.dataCache[type + 'List'] = list;
-					} else if (type === 'post' && this.post) {
-						// 岗位数据从this.post中获取
-						const list = this.post.map((item, index) => ({
-							id: index + 1,
-							title: item
-						}));
-						this.dataCache[type + 'List'] = list;
-					} else if (api) {
+					if (api) {
 						const res = await api();
 						if (res.code === 200 && res.data && res.data.length > 0) {
 							let filteredData = res.data;
@@ -313,7 +296,7 @@
 				
 				const params = {
 					avatar: this.formData.avatar,
-					nicknName: this.formData.nickname,
+					nickName: this.formData.nickname,
 					sex: this.formData.sex,
 					deptId: this.formData.deptId,
 					postIds: postIdsArray,
@@ -601,8 +584,8 @@
 					}
 				} else if (this.currentMultiSelectType === 'post') {
 					this.formData.postNames = selectedNames;
-					// 岗位数据直接使用名称数组
-					this.formData.postIds = this.selectedItems;
+					// 岗位数据使用对应的postId数组
+					this.formData.postIds = selectedIds;
 				} else if (this.currentMultiSelectType === 'product') {
 					this.formData.productNames = selectedNames;
 					// 获取选中的产品代码

+ 35 - 0
project.config.json

@@ -0,0 +1,35 @@
+{
+  "setting": {
+    "es6": true,
+    "postcss": true,
+    "minified": true,
+    "uglifyFileName": false,
+    "enhance": true,
+    "packNpmRelationList": [],
+    "babelSetting": {
+      "ignore": [],
+      "disablePlugins": [],
+      "outputPath": ""
+    },
+    "useCompilerPlugins": false,
+    "minifyWXML": true,
+    "compileWorklet": false,
+    "uploadWithSourceMap": true,
+    "packNpmManually": false,
+    "minifyWXSS": true,
+    "localPlugins": false,
+    "disableUseStrict": false,
+    "condition": false,
+    "swc": false,
+    "disableSWC": true
+  },
+  "compileType": "miniprogram",
+  "simulatorPluginLibVersion": {},
+  "packOptions": {
+    "ignore": [],
+    "include": []
+  },
+  "appid": "wx322a4922f7b81924",
+  "editorSetting": {},
+  "libVersion": "3.14.2"
+}

+ 21 - 0
project.private.config.json

@@ -0,0 +1,21 @@
+{
+  "libVersion": "3.14.2",
+  "projectname": "rtliveCompany",
+  "setting": {
+    "urlCheck": true,
+    "coverView": true,
+    "lazyloadPlaceholderEnable": false,
+    "skylineRenderEnable": false,
+    "preloadBackgroundData": false,
+    "autoAudits": false,
+    "showShadowRootInWxmlPanel": true,
+    "compileHotReLoad": true,
+    "useApiHook": true,
+    "useStaticServer": false,
+    "useLanDebug": false,
+    "showES6CompileOption": false,
+    "checkInvalidKey": true,
+    "ignoreDevUnusedFiles": true,
+    "bigPackageSizeSupport": false
+  }
+}

BIN
static/image/logo.png


Некоторые файлы не были показаны из-за большого количества измененных файлов