Browse Source

流程中随时添加交办单位;供需信息滚动显示;问题描述放开字数限制;

yin_yu820 15 giờ trước cách đây
mục cha
commit
cdfce4e237

+ 1 - 1
jp-console/jeeplus-module/ly/src/main/java/com/jeeplus/dzfoprecord/controller/DzfQuestionOpRecordController.java

@@ -117,7 +117,7 @@ public class DzfQuestionOpRecordController {
 
 			//单个问题 代办人中没有当前用户,继续执行下一个问题提交
 			String des1=op.getDzfQuestionDetilDTOList().get(i).getDes1()+",";
-			if(!des1.contains(userDTO.getLoginName()+",")){
+			if(!des1.contains(userDTO.getLoginName()+",")&&!userDTO.getLoginName().equals("dazoufang")){
 				continue;
 			}
 

+ 1 - 1
jp-mobile/common/config.js

@@ -3,7 +3,7 @@ let APP_SERVER_URL = ""
 if(process.env.NODE_ENV === 'development'){
     // 开发环境    http://47.97.69.114:8088/#/login 
     //APP_SERVER_URL = 'http://47.97.69.114:8088/panhuangly/'
-	APP_SERVER_URL = 'http://192.168.139.27:8071'
+	APP_SERVER_URL = 'http://192.168.139.53:8071'
 }else{
     // 生产环境
     APP_SERVER_URL = '/yd_qycpfb'

+ 58 - 0
jp-mobile/pages/index/index.vue

@@ -51,6 +51,23 @@
 				</view>
 			</view>
 			
+			<!-- <view >
+				<view class="btn-box-1-1 mart-t">
+					最新产品供需
+				</view>
+			</view> -->
+			
+			<view @click="totongxunlu511" style="display: flex;margin-top: 30rpx;margin-left: 20rpx;padding-left:20rpx ;margin-right:20rpx ;background-color: #FFFF0021;height: 92rpx;align-items: center;">
+				<image src="/static/img/news.png" style="width: 72rpx;height: 62rpx;"></image>
+				<swiper class="swiper2" vertical circular  :autoplay="true" :interval="3000" :duration="800">
+				  <swiper-item v-for="(item, index) in news" :key="index">
+				      <view style="color: #F9AE3D; font-size: 28rpx;padding-left: 10rpx;display: flex;align-items: center;"> {{item.des2}}({{item.des5}}) </view>
+				  </swiper-item>
+				</swiper>
+				
+			</view>
+			
+			
 			<view class="center-box">
 				
 				<view class="center-left-box" style="margin-top: 60rpx;">
@@ -265,6 +282,7 @@
 				
 				isLogin:"",
 				pageInfo: {},
+				news:[],
 				loginid:"",
 				
 				stype: "", // 企业 => 3  楼宇 => 2  园区 => 1  zfadmin => 4  admin=> 5
@@ -536,6 +554,20 @@
 				//this.pageInfo.industryc="14/"+this.pageInfo.industryc;
 				
 			  });
+			  
+			  loginService.enterpriseother({
+			  	current: 1,
+			  	size: 5,			  	
+			  	orders: [{ column: 'a.create_date', asc: false }]
+			  }).then(({
+			  	data
+			  }) => {
+			  	let curPageData = data.records
+			  	this.news=curPageData;
+			  }).catch(e => {
+			  	//联网失败, 结束加载
+			  	this.mescroll.endErr();
+			  })
 			
 			
 			},
@@ -621,6 +653,12 @@
 				})
 			},
 			
+			totongxunlu511(){
+				uni.navigateTo({
+					url: '/pages/product/productList?w=1'
+				})
+			},
+			
 			// ListTouch触摸开始
 			ListTouchStart(e) {
 				this.listTouchStart = e.touches[0].pageX
@@ -1068,4 +1106,24 @@
 	.bg-blue {
 	  background-color: #4285f4; /* 假设这是一个蓝色背景 */
 	}
+	
+	.btn-box-1-1 {
+		height: 30rpx;
+		text-align: left;
+		color: #269ff8;
+		font-size:28rpx; 
+		margin-left:30rpx ;
+		font-weight: 600;
+	}
+	.swiper2 {
+		width: 750rpx;
+		height: 42rpx;
+		
+	}
+	
+	.swiper2-item {
+		width: 750rpx;
+		height: 42rpx;
+		background-color: #F9AE3D;
+	}
 </style>

+ 2 - 0
jp-mobile/pages/policy/policyInfo.vue

@@ -413,6 +413,8 @@
 					data.des2="商务";
 				}else if(data.des2=="5"){
 					data.des2="人才政策";
+				}else if(data.des2=="6"){
+					data.des2="其他";
 				}
 				
 				

+ 1 - 1
jp-mobile/pages/question/questionAdd.vue

@@ -112,7 +112,7 @@
 					<view class="title">
 						问题描述
 					</view>
-					<textarea v-model="item.des" placeholder="请填写问题描述" :disabled="!canedit" ></textarea>
+					<textarea maxlength="-1" v-model="item.des" placeholder="请填写问题描述" :disabled="!canedit" ></textarea>
 				</view>
 				
 				<view class="cu-form-group margin-top" style="border-bottom: 3px solid #eee;">

+ 28 - 14
jp-mobile/pages/question/questionInfo.vue

@@ -110,7 +110,7 @@
 					<view class="title">
 						问题描述
 					</view>
-					<textarea v-model="item.des" placeholder="请填写问题描述" disabled="true" ></textarea>
+					<textarea maxlength="-1" v-model="item.des" placeholder="请填写问题描述" disabled="true" ></textarea>
 				</view>
 				<view class="cu-form-group margin-top" style="border-bottom: 3px solid #eee;" v-if="item.des8">
 					<view class="title">
@@ -203,7 +203,7 @@
 						placeholder=" 请选择"
 						title="请选择交办单位"
 						clearable
-						v-model="item.checkUserList"
+						v-model="item.showCheckUserList"
 						@search="searchEvent"
 						@change="selectChange2"
 					></zqs-select>
@@ -221,14 +221,14 @@
 					<view class="title">
 						交办要求
 					</view>
-					<textarea v-model="item.delyj" placeholder="请填写交办要求"  ></textarea>
+					<textarea maxlength="-1" v-model="item.delyj" placeholder="请填写交办要求"  ></textarea>
 				</view>
 				
 				<view class="cu-form-group margin-top" v-if="(roleIds=='1910175386924417025'||roleIds=='1915280292672946177'||roleIds=='1910175949166673921')&&!item.showjbdw">
 					<view class="title">
 						处理建议
 					</view>
-					<textarea v-model="item.delyj" placeholder="请填写处理建议" :disabled="!item.cansubmit" ></textarea>
+					<textarea maxlength="-1" v-model="item.delyj" placeholder="请填写处理建议" :disabled="!item.cansubmit" ></textarea>
 				</view>
 				
 	<!--			<view class="cu-form-group2 margin-top" style="border-bottom: 3px solid #eee;">
@@ -315,7 +315,7 @@
 						<view class="title">
 							说明
 						</view>
-						<textarea v-model="item.delyj" placeholder="请填写说明"  ></textarea>
+						<textarea maxlength="-1" v-model="item.delyj" placeholder="请填写说明"  ></textarea>
 					</view>
 				</view>
 				
@@ -422,7 +422,7 @@
 		computed: {
 		    // 动态计算选中的 label
 		    selectedLabels() {
-		      return this.item.checkUserList
+		      return this.item.showCheckUserList
 		        .map((value) => {
 		          const item = this.pickerData.find((option) => option.value === value);
 		          return item ? item.label : value; // 如果找不到,返回 value
@@ -472,8 +472,8 @@
 				
 				
 				//判断是否显示提交,暂存按钮
-
-				if(data2.data.states=='1'&&data2.data.des1.includes($auth.getUserInfo().loginName)){
+				//状态为提交且待办人中有当前账号的    ,2025-7-3 添加或者账号是大走访办公室
+				if(data2.data.states=='1'&&(data2.data.des1.includes($auth.getUserInfo().loginName)||$auth.getUserInfo().loginName=='dazoufang')){
 					this.cansubmit=true;
 				}
 				
@@ -490,7 +490,7 @@
 						//当前登录人
 						if (data2.data.dzfQuestionDetilDTOList[i].oplist[j].createBy.id === this.uid) {
 							//问题处理
-							console.log("问题:"+data2.data.dzfQuestionDetilDTOList[i].oplist[j].opType)
+							
 							
 							if(data2.data.dzfQuestionDetilDTOList[i].oplist[j].opType=='3'){								
 								//挂钩干部
@@ -551,6 +551,7 @@
 						
 					
 					}
+													
 					
 					//办结时间就是显示最后一条处理意见的办结时间
 					if(data2.data.dzfQuestionDetilDTOList[i].oplist[opsize-1].des5!=undefined&&data2.data.dzfQuestionDetilDTOList[i].oplist[opsize-1].des5!=''){
@@ -570,7 +571,19 @@
 					}
 					
 					
-					data2.data.dzfQuestionDetilDTOList[i].checkUserList=[];
+					data2.data.dzfQuestionDetilDTOList[i].checkUserList="";
+					data2.data.dzfQuestionDetilDTOList[i].showCheckUserList=[];
+					
+					//2025-7-3 添加是大走访时都能添加修改交办单位
+					//当前问题没有办结,即可修改
+					if(data2.data.dzfQuestionDetilDTOList[i].states!='0'&&data2.data.dzfQuestionDetilDTOList[i].states!=undefined&&this.roleIds=='1910175386924417025'){
+						console.log("问题:"+data2.data.dzfQuestionDetilDTOList[i].states)
+						data2.data.dzfQuestionDetilDTOList[i].showjbdw2=false;
+						data2.data.dzfQuestionDetilDTOList[i].showjbdw=true;
+											
+						data2.data.dzfQuestionDetilDTOList[i].showCheckUserList=data2.data.dzfQuestionDetilDTOList[i].des1.split(',');
+					}
+					
 					data2.data.dzfQuestionDetilDTOList[i].picLists=[];	
 					data2.data.dzfQuestionDetilDTOList[i].picLists2=[];		
 					data2.data.dzfQuestionDetilDTOList[i].picUrl=[];		
@@ -617,6 +630,7 @@
 			selectChange2() {
 			  // 此处为点击的事件
 			  this.pickerData=this.pickerDataOld;
+			  console.log(this.questionList[0].showCheckUserList);
 			},
 			searchEvent(val) {
 			  this.pickerData=this.filteredItems(val);
@@ -932,7 +946,7 @@
 				});
 			},
 			save(){
-				console.log("交办单位:"+this.checkUserList)
+				//console.log("交办单位:"+this.checkUserList)
 				
 				// this.inputForm.des10="";
 				// this.inputForm.dzfQuestionDetilDTOList=this.questionList;
@@ -979,16 +993,16 @@
 				//将交办单位的名称带出
 				for (let i = 0; i < this.questionList.length; i++) {
 					
-					if (this.questionList[i].checkUserList != []) {
+					if (this.questionList[i].showCheckUserList != []) {
 						
-						this.questionList[i].checkUserListName=this.questionList[i].checkUserList.map((value) => {
+						this.questionList[i].checkUserListName=this.questionList[i].showCheckUserList.map((value) => {
 						          const item = this.pickerData.find((option) => option.value === value);
 						          return item ? item.label : value; // 如果找不到,返回 value
 						        })
 						        .join(",");
 
 					}
-					this.questionList[i].checkUserList=this.questionList[i].checkUserList.join(",");
+					this.questionList[i].checkUserList=this.questionList[i].showCheckUserList.join(",");
 					
 					
 					//附件处理

+ 4 - 4
jp-mobile/pages/question/questionInfo2.vue

@@ -110,7 +110,7 @@
 					<view class="title">
 						问题描述
 					</view>
-					<textarea v-model="item.des" placeholder="请填写问题描述" disabled="true" ></textarea>
+					<textarea maxlength="-1" v-model="item.des" placeholder="请填写问题描述" disabled="true" ></textarea>
 				</view>
 				<view class="cu-form-group margin-top" style="border-bottom: 3px solid #eee;" v-if="item.des8">
 					<view class="title">
@@ -210,14 +210,14 @@
 					<view class="title">
 						交办要求
 					</view>
-					<textarea v-model="item.delyj" placeholder="请填写交办要求"  ></textarea>
+					<textarea maxlength="-1" v-model="item.delyj" placeholder="请填写交办要求"  ></textarea>
 				</view>
 				
 				<view class="cu-form-group margin-top" v-if="(roleIds=='1910175386924417025'||roleIds=='1915280292672946177'||roleIds=='1910175949166673921')&&!item.showjbdw">
 					<view class="title">
 						处理建议
 					</view>
-					<textarea v-model="item.delyj" placeholder="请填写处理建议" :disabled="!item.cansubmit" ></textarea>
+					<textarea maxlength="-1" v-model="item.delyj" placeholder="请填写处理建议" :disabled="!item.cansubmit" ></textarea>
 				</view>
 				
 	<!--			<view class="cu-form-group2 margin-top" style="border-bottom: 3px solid #eee;">
@@ -303,7 +303,7 @@
 						<view class="title">
 							说明
 						</view>
-						<textarea v-model="item.delyj" placeholder="请填写说明"  ></textarea>
+						<textarea maxlength="-1" v-model="item.delyj" placeholder="请填写说明"  ></textarea>
 					</view>
 				</view>
 				

BIN
jp-mobile/static/img/news.png


+ 35 - 8
jp-ui/src/views/modules/enterpriseinfo/EnterpriseInfoList.vue

@@ -325,14 +325,41 @@
         this.copyTextToClipboard(ss1+","+ss2)
         this.$message.success('用户名,初始密码 已经复制到剪切板,直接粘贴发送给用户!')
       },
-      async copyTextToClipboard (text) {
-        try {
-          await navigator.clipboard.writeText(text)
-          console.log('Text copied to clipboard')
-        } catch (err) {
-          console.error('Failed to copy: ', err)
-        }
-      },
+      // async copyTextToClipboard (text) {
+      //   try {
+      //     await navigator.clipboard.writeText(text)
+      //     console.log('Text copied to clipboard')
+      //   } catch (err) {
+      //     console.error('Failed to copy: ', err)
+      //   }
+      // },
+
+
+
+ copyTextToClipboard(text) {
+  if (navigator.clipboard) {
+    // 使用现代 API
+    navigator.clipboard.writeText(text)
+      .then(() => console.log("Text copied to clipboard"))
+      .catch(err => console.error("Failed to copy: ", err));
+  } else {
+    // 降级到传统方法
+    const textarea = document.createElement("textarea");
+    textarea.value = text;
+    textarea.style.position = "fixed"; // 避免滚动到底部
+    document.body.appendChild(textarea);
+    textarea.focus();
+    textarea.select();
+    try {
+      document.execCommand("copy");
+      console.log("Text copied to clipboard (fallback)");
+    } catch (err) {
+      console.error("Failed to copy (fallback): ", err);
+    } finally {
+      document.body.removeChild(textarea);
+    }
+  }
+},
 
 
       async fetchData() {