فهرست منبع

Merge branch 'zdsz3.0' of http://192.168.10.18:3000/wangtong/zd_wechatApp into zdsz3.0

menchuang 1 سال پیش
والد
کامیت
0843a45994

+ 2 - 1
config.js

@@ -26,5 +26,6 @@ module.exports = {
 				url: "https://ruoyi.vip/protocol.html"
 			}
 		]
-	}
+	},
+	
 }

+ 1 - 7
pages.json

@@ -93,13 +93,7 @@
 
 				"enablePullDownRefresh ": true
 			}
-		}, {
-			"path": "pages/notice/noticeDetail",
-			"style": {
-				"navigationBarTitleText": "公告详情"
-
-			}
-		},
+		}, 
 		{
 			"path": "pages/statistics/historyDetails",
 			"style": {

+ 88 - 11
pages/index.vue

@@ -12,10 +12,14 @@
 					</image>
 					<view>公告</view>
 				</view>
-				<yxp-txt-scroll :text="content" fontSize="30" duration="5000" delay="500" txtPadding="10"
-					style=" margin: auto; width: 80%;" @onClick="goDetails"></yxp-txt-scroll>
+				
+				<view class="container-gg">
+					<view class="notice-text-box">
+						<view class="notice-text-con">{{content1}}</view>
+					</view>
+				</view>
 				<view
-					style=" text-align: right;width: 70px;color: #fff; display: flex; justify-content: end;align-items: center;"
+					style=" text-align: right;width: 50px;color: #fff; display: flex; justify-content: end;align-items: center;"
 					@click="more()">
 					更多
 					<image :src="loadImgSrc('icon_right.png')" style="width: 15px;height: 15px;" mode="widthFix" />
@@ -28,8 +32,10 @@
 				<view class="font-forty" style="font-size: 42rpx; font-weight: bold;">
 					{{item.noticeTitle}}
 				</view>
-				<view class="font-twenty-eight gray" style="display: flex; align-items: center; margin-top: 20rpx; color:#777;">				
-				 <image :src="loadImgSrc('time.png')" style="width: 26rpx;height: 26rpx; margin-right: 15rpx;"></image>	{{item.createTime}}
+				<view class="font-twenty-eight gray"
+					style="display: flex; align-items: center; margin-top: 20rpx; color:#777;">
+					<image :src="loadImgSrc('time.png')" style="width: 26rpx;height: 26rpx; margin-right: 15rpx;">
+					</image> {{item.createTime}}
 				</view>
 			</view>
 			<view class="font-thirty-two black" style="margin: 30rpx 0;">
@@ -40,19 +46,17 @@
 </template>
 
 <script>
-	import yxpTxtScroll from '../components/yxp-txt-scroll/yxp-txt-scroll.nvue'
 	import {
 		getNoticeList,
 	} from '@/api/common'
 	export default {
-		components: {
-			yxpTxtScroll
-		},
+		
 		data() {
 
 			return {
 				list: [],
 				content: [],
+				content1: '',
 				noticeDetails: {},
 			}
 		},
@@ -100,6 +104,7 @@
 							this.content.push(
 								res.rows[0]
 							)
+							this.content1 = res.rows[0].noticeTitle
 						} else {
 							this.$modal.msg('暂无数据')
 						}
@@ -144,7 +149,7 @@
 		.gg-body-tt {
 			text-align: left;
 			margin-left: 5px;
-			width: 25%;
+			width: 20%;
 			display: flex;
 			align-items: center;
 			color: #FFFFFF;
@@ -200,7 +205,79 @@
 	}
 
 	.text {
-		border-left: 15rpx solid #3857F3;
+		color: white;
 		padding-left: 20rpx;
 	}
+
+
+	.container-gg {
+		flex: 1;
+		display: flex;
+		flex-direction: column;
+		overflow: hidden;
+		/* #ifndef APP-PLUS */
+		height: 100%;
+		width: 100%;
+		/* #endif */
+	}
+
+	.notice-text-box {
+		display: flex;
+		flex-direction: column;
+		position: relative;
+		/* #ifndef APP-PLUS */
+		height: 100%;
+		width: 100%;
+		/* #endif */
+		flex: 1;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.notice-text-con {
+		flex: 1;
+		display: flex;
+		color: white;
+		flex-direction: row;
+		align-items: center;
+		flex-wrap: nowrap;
+		/* #ifndef APP-PLUS */
+		white-space: pre;
+		-webkit-animation: scroll-left 4s infinite linear;
+		animation: scroll-left 4s infinite linear;
+		left: 0;
+		padding-left: 100%;
+		/* #endif */
+		position: absolute;
+		/* #ifdef APP-NVUE */
+		left: 0;
+		/* #endif */
+	}
+
+	/* #ifndef APP-NVUE */
+	@-webkit-keyframes scroll-left {
+		0% {
+			-webkit-transform: translateX(0);
+			transform: translateX(0);
+		}
+
+		100% {
+			-webkit-transform: translateX(-100%);
+			transform: translateX(-100%);
+		}
+	}
+
+	@keyframes scroll-left {
+		0% {
+			-webkit-transform: translateX(0);
+			transform: translateX(0);
+		}
+
+		100% {
+			-webkit-transform: translateX(-100%);
+			transform: translateX(-100%);
+		}
+	}
+
+	/* #endif */
 </style>

+ 0 - 67
pages/notice/noticeDetail.vue

@@ -1,67 +0,0 @@
-<template>
-	<view>
-		<view class="container">
-			<view class="notice">
-				<view class="justify-content">
-					<view class="font-forty">
-						标题:{{title}}
-					</view>
-					<view class="font-twenty-eight gray" style="margin-top: 10px;">
-						创建时间:{{time}}
-					</view>
-				</view>
-				<view class="font-thirty-two black" style="margin: 30rpx 0;">
-					<rich-text :nodes="text"></rich-text>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				text: '',
-				title: '',
-				time: ''
-			}
-		},
-		onLoad(options) {
-			if ('params' in options) {
-				let e = JSON.parse(decodeURIComponent(options.params));
-				this.text = e.noticeContent;
-				this.title = e.noticeTitle;
-				this.time = e.createTime;
-			}
-		},
-		methods: {
-
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.container {
-		display: flex;
-		margin-left: 10px;
-		margin-top: 10px;
-		margin-right: 10px;
-		align-items: flex-start;
-		justify-content: space-between;
-	}
-
-	.notice {
-		margin: 20rpx;
-		width: 100%;
-		padding: 20rpx;
-		background: #FFFFFF;
-		box-shadow: 0rpx 8rpx 17rpx 0rpx rgba(0, 0, 0, 0.04);
-		border-radius: 10rpx;
-	}
-
-	.text {
-		border-left: 15rpx solid #3857F3;
-		padding-left: 20rpx;
-	}
-</style>

+ 13 - 17
pages/notice/noticeList.vue

@@ -2,10 +2,14 @@
 	<view>
 		<cc-pullScroolView class="pullScrollView" ref="pullScroll" :pullDown="pullDown" :isDownLoading="true">
 			<view class="notice" v-for="(item,index) in list" :key="index">
-				<view class="justify-content" @click="goDetails(item)">
+				<view class="justify-content">
 					<view class="font-forty">
 						{{item.noticeTitle}}
 					</view>
+					
+					<view class="font-thirty-two black" style="margin: 30rpx 0;">
+						<rich-text :nodes="item.noticeContent"></rich-text>
+					</view>
 					<view class="font-twenty-eight gray">
 						{{item.createTime}}
 					</view>
@@ -14,20 +18,12 @@
 
 			</view>
 		</cc-pullScroolView>
-		<!-- 
-
-		<view v-if="isLoadMore">
-			<uni-load-more :status="loadStatus"></uni-load-more>
-		</view>
-	</view>
-	</view> -->
+		
 	</view>
 </template>
 
 <script>
-	// import {
-	// 	onPullDownRefresh
-	// } from '@dcloudio/uni-app' // 下拉刷新
+	
 	import CCBProjectList from '../../uni_modules/cc-pullScroolView/components/cc-pullScroolView/cc-pullScroolView.vue';
 	import {
 		getNoticeList,
@@ -70,12 +66,12 @@
 
 		},
 		methods: {
-			goDetails(item) {
-				uni.navigateTo({
-					url: '/pages/notice/noticeDetail?params=' + encodeURIComponent(JSON.stringify(
-						item))
-				})
-			},
+			// goDetails(item) {
+			// 	uni.navigateTo({
+			// 		url: '/pages/notice/noticeDetail?params=' + encodeURIComponent(JSON.stringify(
+			// 			item))
+			// 	})
+			// },
 
 			// 下拉刷新
 			pullDown(pullScroll) {

+ 61 - 2
pages/statistics/historyDetailsCourtyard.vue

@@ -18,10 +18,11 @@
 								@blur="bindTextAreaBlur($event.target.value,key)"></textarea>
 						</view>
 					</view>
-					<view v-if="title=='开挖前'||title=='开挖后'||title=='焊口照片'||title=='隐蔽工程'">
+					<view
+						v-if="title=='开挖前'||title=='开挖后'||title=='焊口照片'||title=='隐蔽工程'||title=='除锈刷油'||title=='打磨'||title=='全貌照片'">
 						<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px; margin-left: 10px;">
 							<image :src="loadImgSrc('updateimg.png')" mode=""
-								style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('ohter',key)">
+								style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('other',key)">
 							</image>
 							<view v-for="(item,index) in  value.zEngiineeringPhotoBoList" :key="index"
 								style="position: relative;">
@@ -43,6 +44,48 @@
 						</view>
 
 
+						<view v-if="title=='全貌照片'">
+							<view class="cz-style" v-for="(a,index) in value.zEngineeringMaterialBo" :key="index">
+								<view class="uni-media-list-text-top" style=" ">
+									<view class="tit-text">材质:</view>
+
+									<view class="uni-list-cell-db" style="margin-top: 10;"
+										@click="pickerShow('cz',key,index)">
+										<span
+											style="color: black;">{{a.materialQualityName==''?'请选择材质':a.materialQualityName}}</span>
+
+									</view>
+								</view>
+
+								<view class="uni-media-list-text-top" style=" ">
+									<view class="tit-text">规格:</view>
+									<view class="uni-list-cell-db" style="margin-top: 10;"
+										@click="pickerShow('gg',key,index)">
+										<span
+											style="color: black;">{{a.specificationsName==''?'请选择规格':a.specificationsName}}</span>
+
+									</view>
+								</view>
+
+								<view class="uni-media-list-text-top" style="border-bottom: 1px solid #f8f8f8;">
+									<text class="tit-text">米 数</text>
+									<view style="display: flex; justify-content: right; width: 70%;">
+										<input class="uni-input" type="number" :value="getIntegerPart(a.number,0)"
+											@change="setInfoBoNumber(key,index,$event.target.value,0)" maxlength="6"
+											style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+										<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
+
+										<input class="uni-input" type="number" :value="getIntegerPart(a.number,1)"
+											@change="setInfoBoNumber(key,index,$event.target.value,1)" maxlength="1"
+											style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+									</view>
+								</view>
+								<button v-if="index!=0" @click="btnDel(key,index)" class="sc-btn">删除</button>
+
+							</view>
+							<button @click="btnAdd(key,index)" class="tj-btn">添加</button>
+
+						</view>
 					</view>
 
 
@@ -792,6 +835,22 @@
 					})
 				} else {
 
+					if (this.title == '全貌照片') {
+						this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList.forEach((res) => {
+
+							res.zEngineeringMaterialBo.forEach((itme) => {
+								if (itme.specifications == '') {
+									this.$modal.msg("请选择规格");
+									isSubmit = false;
+								}
+								if (itme.number == '') {
+									this.$modal.msg("请输入米数");
+									isSubmit = false;
+								}
+							})
+
+						})
+					}
 
 					this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList.forEach((res) => {
 						if (res.zEngiineeringPhotoBoList.length == 0) {

+ 1 - 1
pages/statistics/statistics.vue

@@ -458,7 +458,7 @@
 					})
 				} else if (this.nodeType == 'overhead') { //架空
 					uni.navigateTo({
-						url: '/pages/statistics/historyDetails?params=' + encodeURIComponent(JSON
+						url: '/pages/statistics/historyDetailsCourtyard?params=' + encodeURIComponent(JSON
 							.stringify(
 								obj))
 					})

+ 0 - 366
static/scss/colorui.css

@@ -28,372 +28,6 @@ image {
 }
 
 
-/* ==================
-         开关
- ==================== */
-
-switch,
-checkbox,
-radio {
-	position: relative;
-}
-
-switch::after,
-switch::before {
-	font-family: "cuIcon";
-/* 	content: "\e645"; */
-	position: absolute;
-	color: #ffffff !important;
-	top: 0%;
-	left: 0upx;
-	font-size: 26upx;
-	line-height: 26px;
-	width: 50%;
-	text-align: center;
-	pointer-events: none;
-	transform: scale(0, 0);
-	transition: all 0.3s ease-in-out 0s;
-	z-index: 9;
-	bottom: 0;
-	height: 26px;
-	margin: auto;
-}
-
-switch::before {
-	/* content: "\e646"; */
-	right: 0;
-	transform: scale(1, 1);
-	left: auto;
-}
-
-switch[checked]::after,
-switch.checked::after {
-	transform: scale(1, 1);
-}
-
-switch[checked]::before,
-switch.checked::before {
-	transform: scale(0, 0);
-}
-
-/* #ifndef MP-ALIPAY */
-radio::before,
-checkbox::before {
-	font-family: "cuIcon";
-	/* content: "\e645"; */
-	position: absolute;
-	color: #ffffff !important;
-	top: 50%;
-	margin-top: -8px;
-	right: 5px;
-	font-size: 32upx;
-	line-height: 16px;
-	pointer-events: none;
-	transform: scale(1, 1);
-	transition: all 0.3s ease-in-out 0s;
-	z-index: 9;
-}
-
-radio .wx-radio-input,
-checkbox .wx-checkbox-input,
-radio .uni-radio-input,
-checkbox .uni-checkbox-input {
-	margin: 0;
-	width: 24px;
-	height: 24px;
-}
-
-checkbox.round .wx-checkbox-input,
-checkbox.round .uni-checkbox-input {
-	border-radius: 100upx;
-}
-
-/* #endif */
-
-switch[checked]::before {
-	transform: scale(0, 0);
-}
-
-switch .wx-switch-input,
-switch .uni-switch-input {
-	border: none;
-	padding: 0 24px;
-	width: 48px;
-	height: 26px;
-	margin: 0;
-	border-radius: 100upx;
-}
-
-switch .wx-switch-input:not([class*="bg-"]),
-switch .uni-switch-input:not([class*="bg-"]) {
-	background: #8799a3 !important;
-}
-
-switch .wx-switch-input::after,
-switch .uni-switch-input::after {
-	margin: auto;
-	width: 26px;
-	height: 26px;
-	border-radius: 100upx;
-	left: 0upx;
-	top: 0upx;
-	bottom: 0upx;
-	position: absolute;
-	transform: scale(0.9, 0.9);
-	transition: all 0.1s ease-in-out 0s;
-}
-
-switch .wx-switch-input.wx-switch-input-checked::after,
-switch .uni-switch-input.uni-switch-input-checked::after {
-	margin: auto;
-	left: 22px;
-	box-shadow: none;
-	transform: scale(0.9, 0.9);
-}
-
-radio-group {
-	display: inline-block;
-}
-
-
-
-switch.radius .wx-switch-input::after,
-switch.radius .wx-switch-input,
-switch.radius .wx-switch-input::before,
-switch.radius .uni-switch-input::after,
-switch.radius .uni-switch-input,
-switch.radius .uni-switch-input::before {
-	border-radius: 10upx;
-}
-
-switch .wx-switch-input::before,
-radio.radio::before,
-checkbox .wx-checkbox-input::before,
-radio .wx-radio-input::before,
-switch .uni-switch-input::before,
-radio.radio::before,
-checkbox .uni-checkbox-input::before,
-radio .uni-radio-input::before {
-	display: none;
-}
-
-radio.radio[checked]::after,
-radio.radio .uni-radio-input-checked::after {
-	content: "";
-	background-color: transparent;
-	display: block;
-	position: absolute;
-	width: 8px;
-	height: 8px;
-	z-index: 999;
-	top: 0upx;
-	left: 0upx;
-	right: 0;
-	bottom: 0;
-	margin: auto;
-	border-radius: 200upx;
-	/* #ifndef MP */
-	border: 7px solid #ffffff !important;
-	/* #endif */
-
-	/* #ifdef MP */
-	border: 8px solid #ffffff !important;
-	/* #endif */
-}
-
-.switch-sex::after {
-	content: "\e71c";
-}
-
-.switch-sex::before {
-	content: "\e71a";
-}
-
-.switch-sex .wx-switch-input,
-.switch-sex .uni-switch-input {
-	background: #e54d42 !important;
-	border-color: #e54d42 !important;
-}
-
-.switch-sex[checked] .wx-switch-input,
-.switch-sex.checked .uni-switch-input {
-	background: #0081ff !important;
-	border-color: #0081ff !important;
-}
-
-switch.red[checked] .wx-switch-input.wx-switch-input-checked,
-checkbox.red[checked] .wx-checkbox-input,
-radio.red[checked] .wx-radio-input,
-switch.red.checked .uni-switch-input.uni-switch-input-checked,
-checkbox.red.checked .uni-checkbox-input,
-radio.red.checked .uni-radio-input {
-	background-color: #e54d42 !important;
-	border-color: #e54d42 !important;
-	color: #ffffff !important;
-}
-
-switch.orange[checked] .wx-switch-input,
-checkbox.orange[checked] .wx-checkbox-input,
-radio.orange[checked] .wx-radio-input,
-switch.orange.checked .uni-switch-input,
-checkbox.orange.checked .uni-checkbox-input,
-radio.orange.checked .uni-radio-input {
-	background-color: #f37b1d !important;
-	border-color: #f37b1d !important;
-	color: #ffffff !important;
-}
-
-switch.yellow[checked] .wx-switch-input,
-checkbox.yellow[checked] .wx-checkbox-input,
-radio.yellow[checked] .wx-radio-input,
-switch.yellow.checked .uni-switch-input,
-checkbox.yellow.checked .uni-checkbox-input,
-radio.yellow.checked .uni-radio-input {
-	background-color: #fbbd08 !important;
-	border-color: #fbbd08 !important;
-	color: #333333 !important;
-}
-
-switch.olive[checked] .wx-switch-input,
-checkbox.olive[checked] .wx-checkbox-input,
-radio.olive[checked] .wx-radio-input,
-switch.olive.checked .uni-switch-input,
-checkbox.olive.checked .uni-checkbox-input,
-radio.olive.checked .uni-radio-input {
-	background-color: #8dc63f !important;
-	border-color: #8dc63f !important;
-	color: #ffffff !important;
-}
-
-switch.green[checked] .wx-switch-input,
-switch[checked] .wx-switch-input,
-checkbox.green[checked] .wx-checkbox-input,
-checkbox[checked] .wx-checkbox-input,
-radio.green[checked] .wx-radio-input,
-radio[checked] .wx-radio-input,
-switch.green.checked .uni-switch-input,
-switch.checked .uni-switch-input,
-checkbox.green.checked .uni-checkbox-input,
-checkbox.checked .uni-checkbox-input,
-radio.green.checked .uni-radio-input,
-radio.checked .uni-radio-input {
-	background-color: #39b54a !important;
-	border-color: #39b54a !important;
-	color: #ffffff !important;
-	border-color: #39B54A !important;
-}
-
-switch.cyan[checked] .wx-switch-input,
-checkbox.cyan[checked] .wx-checkbox-input,
-radio.cyan[checked] .wx-radio-input,
-switch.cyan.checked .uni-switch-input,
-checkbox.cyan.checked .uni-checkbox-input,
-radio.cyan.checked .uni-radio-input {
-	background-color: #1cbbb4 !important;
-	border-color: #1cbbb4 !important;
-	color: #ffffff !important;
-}
-
-switch.blue[checked] .wx-switch-input,
-checkbox.blue[checked] .wx-checkbox-input,
-radio.blue[checked] .wx-radio-input,
-switch.blue.checked .uni-switch-input,
-checkbox.blue.checked .uni-checkbox-input,
-radio.blue.checked .uni-radio-input {
-	background-color: #0081ff !important;
-	border-color: #0081ff !important;
-	color: #ffffff !important;
-}
-
-switch.purple[checked] .wx-switch-input,
-checkbox.purple[checked] .wx-checkbox-input,
-radio.purple[checked] .wx-radio-input,
-switch.purple.checked .uni-switch-input,
-checkbox.purple.checked .uni-checkbox-input,
-radio.purple.checked .uni-radio-input {
-	background-color: #6739b6 !important;
-	border-color: #6739b6 !important;
-	color: #ffffff !important;
-}
-
-switch.mauve[checked] .wx-switch-input,
-checkbox.mauve[checked] .wx-checkbox-input,
-radio.mauve[checked] .wx-radio-input,
-switch.mauve.checked .uni-switch-input,
-checkbox.mauve.checked .uni-checkbox-input,
-radio.mauve.checked .uni-radio-input {
-	background-color: #9c26b0 !important;
-	border-color: #9c26b0 !important;
-	color: #ffffff !important;
-}
-
-switch.pink[checked] .wx-switch-input,
-checkbox.pink[checked] .wx-checkbox-input,
-radio.pink[checked] .wx-radio-input,
-switch.pink.checked .uni-switch-input,
-checkbox.pink.checked .uni-checkbox-input,
-radio.pink.checked .uni-radio-input {
-	background-color: #e03997 !important;
-	border-color: #e03997 !important;
-	color: #ffffff !important;
-}
-
-switch.brown[checked] .wx-switch-input,
-checkbox.brown[checked] .wx-checkbox-input,
-radio.brown[checked] .wx-radio-input,
-switch.brown.checked .uni-switch-input,
-checkbox.brown.checked .uni-checkbox-input,
-radio.brown.checked .uni-radio-input {
-	background-color: #a5673f !important;
-	border-color: #a5673f !important;
-	color: #ffffff !important;
-}
-
-switch.grey[checked] .wx-switch-input,
-checkbox.grey[checked] .wx-checkbox-input,
-radio.grey[checked] .wx-radio-input,
-switch.grey.checked .uni-switch-input,
-checkbox.grey.checked .uni-checkbox-input,
-radio.grey.checked .uni-radio-input {
-	background-color: #8799a3 !important;
-	border-color: #8799a3 !important;
-	color: #ffffff !important;
-}
-
-switch.gray[checked] .wx-switch-input,
-checkbox.gray[checked] .wx-checkbox-input,
-radio.gray[checked] .wx-radio-input,
-switch.gray.checked .uni-switch-input,
-checkbox.gray.checked .uni-checkbox-input,
-radio.gray.checked .uni-radio-input {
-	background-color: #f0f0f0 !important;
-	border-color: #f0f0f0 !important;
-	color: #333333 !important;
-}
-
-switch.black[checked] .wx-switch-input,
-checkbox.black[checked] .wx-checkbox-input,
-radio.black[checked] .wx-radio-input,
-switch.black.checked .uni-switch-input,
-checkbox.black.checked .uni-checkbox-input,
-radio.black.checked .uni-radio-input {
-	background-color: #333333 !important;
-	border-color: #333333 !important;
-	color: #ffffff !important;
-}
-
-switch.white[checked] .wx-switch-input,
-checkbox.white[checked] .wx-checkbox-input,
-radio.white[checked] .wx-radio-input,
-switch.white.checked .uni-switch-input,
-checkbox.white.checked .uni-checkbox-input,
-radio.white.checked .uni-radio-input {
-	background-color: #ffffff !important;
-	border-color: #ffffff !important;
-	color: #333333 !important;
-}
-
-
 
 
 

+ 0 - 18
uni_modules/uni-notice-bar/changelog.md

@@ -1,18 +0,0 @@
-## 1.2.1(2022-09-05)
-- 新增 属性 fontSize,可修改文字大小。
-## 1.2.0(2021-11-19)
-- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-notice-bar](https://uniapp.dcloud.io/component/uniui/uni-notice-bar)
-## 1.1.1(2021-11-09) 
-- 新增 提供组件设计资源,组件样式调整
-## 1.1.0(2021-07-30)
-- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
-## 1.0.9(2021-05-12)
-- 新增 组件示例地址
-## 1.0.8(2021-04-21)
-- 优化 添加依赖 uni-icons, 导入后自动下载依赖
-## 1.0.7(2021-02-05)
-- 优化 组件引用关系,通过uni_modules引用组件
-
-## 1.0.6(2021-02-05)
-- 调整为uni_modules目录规范

+ 0 - 426
uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue

@@ -1,426 +0,0 @@
-<template>
-	<view v-if="show" class="uni-noticebar" :style="{ backgroundColor }" @click="onClick">
-		<uni-icons v-if="showIcon === true || showIcon === 'true'" class="uni-noticebar-icon" type="sound"
-			:color="color" :size="fontSize * 1.5" />
-		<view ref="textBox" class="uni-noticebar__content-wrapper"
-			:class="{
-				'uni-noticebar__content-wrapper--scrollable': scrollable,
-				'uni-noticebar__content-wrapper--single': !scrollable && (single || moreText)
-			}"
-			:style="{ height: scrollable ? fontSize * 1.5 + 'px' : 'auto' }"
-		>
-			<view :id="elIdBox" class="uni-noticebar__content"
-				:class="{
-					'uni-noticebar__content--scrollable': scrollable,
-					'uni-noticebar__content--single': !scrollable && (single || moreText)
-				}"
-			>
-				<text :id="elId" ref="animationEle" class="uni-noticebar__content-text" 
-					:class="{
-						'uni-noticebar__content-text--scrollable': scrollable,
-						'uni-noticebar__content-text--single': !scrollable && (single || showGetMore)
-					}" 
-					:style="{
-						color: color,
-						fontSize: fontSize + 'px',
-						lineHeight: fontSize * 1.5 + 'px',
-						width: wrapWidth + 'px',
-						'animationDuration': animationDuration,
-						'-webkit-animationDuration': animationDuration,
-						animationPlayState: webviewHide ? 'paused' : animationPlayState,
-						'-webkit-animationPlayState': webviewHide ? 'paused' : animationPlayState,
-						animationDelay: animationDelay,
-						'-webkit-animationDelay': animationDelay
-					}"
-				>{{text}}</text>
-			</view>
-		</view>
-		<view v-if="isShowGetMore" class="uni-noticebar__more uni-cursor-point"
-			@click="clickMore">
-			<text v-if="moreText.length > 0" :style="{ color: moreColor, fontSize: fontSize + 'px' }">{{ moreText }}</text>
-			<uni-icons v-else type="right" :color="moreColor" :size="fontSize * 1.1" />
-		</view>
-		<view class="uni-noticebar-close uni-cursor-point" v-if="isShowClose">
-			<uni-icons type="closeempty" :color="color" :size="fontSize * 1.1" @click="close" />
-		</view>
-	</view>
-</template>
-
-<script>
-	// #ifdef APP-NVUE
-	const dom = weex.requireModule('dom');
-	const animation = weex.requireModule('animation');
-	// #endif
-
-	/**
-	 * NoticeBar 自定义导航栏
-	 * @description 通告栏组件
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=30
-	 * @property {Number} speed 文字滚动的速度,默认100px/秒
-	 * @property {String} text 显示文字
-	 * @property {String} backgroundColor 背景颜色
-	 * @property {String} color 文字颜色
-	 * @property {String} moreColor 查看更多文字的颜色
-	 * @property {String} moreText 设置“查看更多”的文本
-	 * @property {Boolean} single = [true|false] 是否单行
-	 * @property {Boolean} scrollable = [true|false] 是否滚动,为true时,NoticeBar为单行
-	 * @property {Boolean} showIcon = [true|false] 是否显示左侧喇叭图标
-	 * @property {Boolean} showClose = [true|false] 是否显示左侧关闭按钮
-	 * @property {Boolean} showGetMore = [true|false] 是否显示右侧查看更多图标,为true时,NoticeBar为单行
-	 * @event {Function} click 点击 NoticeBar 触发事件
-	 * @event {Function} close 关闭 NoticeBar 触发事件
-	 * @event {Function} getmore 点击”查看更多“时触发事件
-	 */
-
-	export default {
-		name: 'UniNoticeBar',
-		emits: ['click', 'getmore', 'close'],
-		props: {
-			text: {
-				type: String,
-				default: ''
-			},
-			moreText: {
-				type: String,
-				default: ''
-			},
-			backgroundColor: {
-				type: String,
-				default: '#FFF9EA'
-			},
-			speed: {
-				// 默认1s滚动100px
-				type: Number,
-				default: 100
-			},
-			color: {
-				type: String,
-				default: '#FF9A43'
-			},
-			fontSize: {
-				type: Number,
-				default: 14
-			},
-			moreColor: {
-				type: String,
-				default: '#FF9A43'
-			},
-			single: {
-				// 是否单行
-				type: [Boolean, String],
-				default: false
-			},
-			scrollable: {
-				// 是否滚动,添加后控制单行效果取消
-				type: [Boolean, String],
-				default: false
-			},
-			showIcon: {
-				// 是否显示左侧icon
-				type: [Boolean, String],
-				default: false
-			},
-			showGetMore: {
-				// 是否显示右侧查看更多
-				type: [Boolean, String],
-				default: false
-			},
-			showClose: {
-				// 是否显示左侧关闭按钮
-				type: [Boolean, String],
-				default: false
-			}
-		},
-		data() {
-			const elId = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
-			const elIdBox = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
-			return {
-				textWidth: 0,
-				boxWidth: 0,
-				wrapWidth: '',
-				webviewHide: false,
-				// #ifdef APP-NVUE
-				stopAnimation: false,
-				// #endif
-				elId: elId,
-				elIdBox: elIdBox,
-				show: true,
-				animationDuration: 'none',
-				animationPlayState: 'paused',
-				animationDelay: '0s'
-			}
-		},
-		computed: {
-			isShowGetMore() {
-				return this.showGetMore === true || this.showGetMore === 'true'
-			},
-			isShowClose() {
-				return (this.showClose === true || this.showClose === 'true') 
-					&& (this.showGetMore === false || this.showGetMore === 'false')
-			}
-		},
-		mounted() {
-			// #ifdef APP-PLUS
-			var pages = getCurrentPages();
-			var page = pages[pages.length - 1];
-			var currentWebview = page.$getAppWebview();
-			currentWebview.addEventListener('hide', () => {
-				this.webviewHide = true
-			})
-			currentWebview.addEventListener('show', () => {
-				this.webviewHide = false
-			})
-			// #endif
-			this.$nextTick(() => {
-				this.initSize()
-			})
-		},
-		// #ifdef APP-NVUE
-		beforeDestroy() {
-			this.stopAnimation = true
-		},
-		// #endif
-		methods: {
-			initSize() {
-				if (this.scrollable) {
-					// #ifndef APP-NVUE
-					let query = [],
-						boxWidth = 0,
-						textWidth = 0;
-					let textQuery = new Promise((resolve, reject) => {
-						uni.createSelectorQuery()
-							// #ifndef MP-ALIPAY
-							.in(this)
-							// #endif
-							.select(`#${this.elId}`)
-							.boundingClientRect()
-							.exec(ret => {
-								this.textWidth = ret[0].width
-								resolve()
-							})
-					})
-					let boxQuery = new Promise((resolve, reject) => {
-						uni.createSelectorQuery()
-							// #ifndef MP-ALIPAY
-							.in(this)
-							// #endif
-							.select(`#${this.elIdBox}`)
-							.boundingClientRect()
-							.exec(ret => {
-								this.boxWidth = ret[0].width
-								resolve()
-							})
-					})
-					query.push(textQuery)
-					query.push(boxQuery)
-					Promise.all(query).then(() => {
-						this.animationDuration = `${this.textWidth / this.speed}s`
-						this.animationDelay = `-${this.boxWidth / this.speed}s`
-						setTimeout(() => {
-							this.animationPlayState = 'running'
-						}, 1000)
-					})
-					// #endif
-					// #ifdef APP-NVUE
-					dom.getComponentRect(this.$refs['animationEle'], (res) => {
-						let winWidth = uni.getSystemInfoSync().windowWidth
-						this.textWidth = res.size.width
-						animation.transition(this.$refs['animationEle'], {
-							styles: {
-								transform: `translateX(-${winWidth}px)`
-							},
-							duration: 0,
-							timingFunction: 'linear',
-							delay: 0
-						}, () => {
-							if (!this.stopAnimation) {
-								animation.transition(this.$refs['animationEle'], {
-									styles: {
-										transform: `translateX(-${this.textWidth}px)`
-									},
-									timingFunction: 'linear',
-									duration: (this.textWidth - winWidth) / this.speed * 1000,
-									delay: 1000
-								}, () => {
-									if (!this.stopAnimation) {
-										this.loopAnimation()
-									}
-								});
-							}
-						});
-					})
-					// #endif
-				}
-				// #ifdef APP-NVUE
-				if (!this.scrollable && (this.single || this.moreText)) {
-					dom.getComponentRect(this.$refs['textBox'], (res) => {
-						this.wrapWidth = res.size.width
-					})
-				}
-				// #endif
-			},
-			loopAnimation() {
-				// #ifdef APP-NVUE
-				animation.transition(this.$refs['animationEle'], {
-					styles: {
-						transform: `translateX(0px)`
-					},
-					duration: 0
-				}, () => {
-					if (!this.stopAnimation) {
-						animation.transition(this.$refs['animationEle'], {
-							styles: {
-								transform: `translateX(-${this.textWidth}px)`
-							},
-							duration: this.textWidth / this.speed * 1000,
-							timingFunction: 'linear',
-							delay: 0
-						}, () => {
-							if (!this.stopAnimation) {
-								this.loopAnimation()
-							}
-						});
-					}
-				});
-				// #endif
-			},
-			clickMore() {
-				this.$emit('getmore')
-			},
-			close() {
-				this.show = false;
-				this.$emit('close')
-			},
-			onClick() {
-				this.$emit('click')
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.uni-noticebar {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		width: 100%;
-		box-sizing: border-box;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		padding: 10px 12px;
-		margin-bottom: 10px;
-	}
-
-	.uni-cursor-point {
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-noticebar-close {
-		margin-left: 8px;
-		margin-right: 5px;
-	}
-
-	.uni-noticebar-icon {
-		margin-right: 5px;
-	}
-
-	.uni-noticebar__content-wrapper {
-		flex: 1;
-		flex-direction: column;
-		overflow: hidden;
-	}
-
-	.uni-noticebar__content-wrapper--single {
-		/* #ifndef APP-NVUE */
-		line-height: 18px;
-		/* #endif */
-	}
-
-	.uni-noticebar__content-wrapper--single,
-	.uni-noticebar__content-wrapper--scrollable {
-		flex-direction: row;
-	}
-
-	/* #ifndef APP-NVUE */
-	.uni-noticebar__content-wrapper--scrollable {
-		position: relative;
-	}
-
-	/* #endif */
-
-	.uni-noticebar__content--scrollable {
-		/* #ifdef APP-NVUE */
-		flex: 0;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		flex: 1;
-		display: block;
-		overflow: hidden;
-		/* #endif */
-	}
-
-	.uni-noticebar__content--single {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		flex: none;
-		width: 100%;
-		justify-content: center;
-		/* #endif */
-	}
-
-	.uni-noticebar__content-text {
-		font-size: 14px;
-		line-height: 18px;
-		/* #ifndef APP-NVUE */
-		word-break: break-all;
-		/* #endif */
-	}
-
-	.uni-noticebar__content-text--single {
-		/* #ifdef APP-NVUE */
-		lines: 1;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		display: block;
-		width: 100%;
-		white-space: nowrap;
-		/* #endif */
-		overflow: hidden;
-		text-overflow: ellipsis;
-	}
-
-	.uni-noticebar__content-text--scrollable {
-		/* #ifdef APP-NVUE */
-		lines: 1;
-		padding-left: 750rpx;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		position: absolute;
-		display: block;
-		height: 18px;
-		line-height: 18px;
-		white-space: nowrap;
-		padding-left: 100%;
-		animation: notice 10s 0s linear infinite both;
-		animation-play-state: paused;
-		/* #endif */
-	}
-
-	.uni-noticebar__more {
-		/* #ifndef APP-NVUE */
-		display: inline-flex;
-		/* #endif */
-		flex-direction: row;
-		flex-wrap: nowrap;
-		align-items: center;
-		padding-left: 5px;
-	}
-
-	@keyframes notice {
-		100% {
-			transform: translate3d(-100%, 0, 0);
-		}
-	}
-</style>

+ 0 - 87
uni_modules/uni-notice-bar/package.json

@@ -1,87 +0,0 @@
-{
-  "id": "uni-notice-bar",
-  "displayName": "uni-notice-bar 通告栏",
-  "version": "1.2.1",
-  "description": "NoticeBar 通告栏组件,常用于展示公告信息,可设为滚动公告",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "通告栏",
-    "公告",
-    "跑马灯"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "无",
-      "data": "无",
-      "permissions": "无"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "微信浏览器(Android)": "y",
-          "QQ浏览器(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "小程序": {
-          "微信": "y",
-          "阿里": "y",
-          "百度": "y",
-          "字节跳动": "y",
-          "QQ": "y"
-        },
-        "快应用": {
-          "华为": "u",
-          "联盟": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}

+ 0 - 13
uni_modules/uni-notice-bar/readme.md

@@ -1,13 +0,0 @@
-
-
-## NoticeBar 通告栏
-> **组件名:uni-notice-bar**
-> 代码块: `uNoticeBar`
-
-
-通告栏组件 。
-
-### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-notice-bar)
-#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 
-
-