Просмотр исходного кода

培训班封面图提示修改为:建议上传比例800X500
零售 和 供货商 欠款列表计算【目前发现三个地方】

jiangfeng 5 лет назад
Родитель
Сommit
22d213d808

+ 1 - 1
hdApp/src/admin/billing/affirmGhs.vue

@@ -254,7 +254,7 @@
 				<text class="price-number">
 					¥
 					<text class="large" v-if="form.sendType==1 && !couponSumText">{{ numberAdd(allPrice, Number(form.sendCost))  }}</text>
-					<text class="large" v-else-if="form.sendType==1 && couponSumText">{{ allPrice + Number(form.sendCost) - Number(couponSumText)  }}</text>
+					<text class="large" v-else-if="form.sendType==1 && couponSumText">{{	(allPrice + Number(form.sendCost) - Number(couponSumText)).toFixed(2)  }}</text>
 					<text class="large" v-else-if="form.sendType==2 && !couponSumText">{{ allPrice}}</text>
 					<text class="large" v-else-if="form.sendType==2 && couponSumText">{{ NumberSub(allPrice, Number(couponSumText))}}</text>
 				</text>

+ 495 - 519
hdApp/src/components/app-uploader.vue

@@ -1,541 +1,517 @@
 <template>
-  <view>
-    <div class="upload-box">
-      <slot>
-        <ul>
-          <li
-            class="list_img"
-            v-for="(item,index) in showImgList"
-            :key="index"
-            :style="{ width: size + 'rpx', height: size + 'rpx' }"
-          >
-            <div
-              v-if="isMain"
-              class="main-btn"
-              :class="{'mian': index == 0}"
-              @click.stop="mainImg(index)"
-            >主</div>
-            <view class="iconfont icondelete" @click="delImg(index)"></view>
-            <img
-              :src="item"
-              @click="viewImg(item)"
-              :style="{ width: size + 'rpx', height: size + 'rpx' }"
-              :mode="imgMode"
-              v-if="!prefixShow"
-            />
-            <img
-              :src="`${constant.imgUrl}/${item}`"
-              @click="viewImg(item)"
-              :style="{ width: size + 'rpx', height: size + 'rpx' }"
-              :mode="imgMode"
-              v-if="prefixShow"
-            />
-            
-          </li>
-          <li
-            v-if="showImgList.length < num && (multiple || showImgList.length == 0)"
-            class="uploadImg"
-            @click="chooseImage"
-            :style="{ width: size + 'rpx', height: size + 'rpx' }"
-          >
-            <view class="iconfont icontupiantianjia"></view>
-          </li>
-          <view style="white-space: nowarp;font-size: 24upx; color: #999;">图片大小不得超过1.5M</view>
-        </ul>
-      </slot>
-    </div>
-  </view>
+	<view>
+		<div class="upload-box">
+			<slot>
+				<ul>
+					<li class="list_img" v-for="(item,index) in showImgList" :key="index" :style="{ width: size + 'rpx', height: size + 'rpx' }">
+						<div v-if="isMain" class="main-btn" :class="{'mian': index == 0}" @click.stop="mainImg(index)">主</div>
+						<view class="iconfont icondelete" @click="delImg(index)"></view>
+						<img :src="item" @click="viewImg(item)" :style="{ width: size + 'rpx', height: size + 'rpx' }" :mode="imgMode" v-if="!prefixShow"/>
+						<img :src="`${constant.imgUrl}/${item}`" @click="viewImg(item)" :style="{ width: size + 'rpx', height: size + 'rpx' }" :mode="imgMode" v-if="prefixShow"/>
+
+					</li>
+					<li v-if="showImgList.length < num && (multiple || showImgList.length == 0)"  class="uploadImg" @click="chooseImage" :style="{ width: size + 'rpx', height: size + 'rpx' }">
+						<view class="iconfont icontupiantianjia"></view>
+					</li>
+					<!--<view style="white-space: nowarp;font-size: 24upx; color: #999;">图片大小不得超过1.5M</view>-->
+					<view style="white-space: nowarp;font-size: 24upx; color: #999;">建议上传比例800X500</view>
+				</ul>
+			</slot>
+		</div>
+	</view>
 </template>
 <script>
-import { uploadPic } from "@/api/common";
-import { picAdd } from "@/api/img-store";
-export default {
-  name: "app-uploader",
-  props: {
-    // 传入的图片数组
-    imgList: {
-      type: Array,
-      default: () => []
-    },
-    manualDel: {
-      type: Boolean,
-      default: false
-    },
-    // 图片的尺寸
-    size: {
-      type: Number,
-      default: 200
-    },
-    // 上传图片数量
-    num: {
-      type: Number,
-      default: 9
-    },
-    // 压缩图片
-    compress: {
-      type: Boolean,
-      default: true
-    },
-    // 默认限制图片1.5M,单位为M
-    maxSize: {
-      type: String,
-      default: "1.5M"
-    },
-    // 是否记录用户的选择记录
-    isSave: {
-      type: Boolean,
-      default: false
-    },
-    // 记录用户的缓存字段
-    saveStr: {
-      type: String,
-      default: "chooseImage"
-    },
-    // 是否转base64 受数据传输长度限制,不建议在组件中使用,如果一定要使用,在返回结果中自己转换
-    isBase64: {
-      type: Boolean,
-      default: false
-    },
-    multiple: {
-      // 是否多图上传
-      type: Boolean,
-      default: true
-    },
-    disabled: {
-      // 是否只读
-      type: Boolean,
-      default: false
-    },
-    // 图片展示模式
-    imgMode: {
-      type: String,
-      default: "scaleToFill"
-    },
-    // uploadPic: {
-    // 	type: Function,
-    // 	default: uploadPic
-    // },
-    // 是否显示主图切换
-    isMain: {
-      type: Boolean,
-      default: false
-    },
-    //图库图片上传 shish  2020.5.18
-    isStorage: {
-      type: Boolean,
-      default: false
-    },
-    // 是否需要拼接路径  true 需要 false 不需要
-    prefixShow: {
-      type: Boolean,
-      default: false
-    }
-  },
-  data() {
-    return {
-      constant: this.$constant,
-      resultData: {},
-      showImgList: [],
-      base64ImgList: [],
-      xssarr: [
-        "data:",
-        "text",
-        "txt",
-        "html",
-        "js",
-        "css",
-        "json",
-        "exe",
-        "sql",
-        "xml",
-        "doc",
-        "docx"
-      ]
-    };
-  },
-  mounted() {
-    if (this.isSave) {
-      let str = uni.getStorageSync(this.saveStr);
-      if (str !== "") {
-        str = str.split(",");
-        if (str.length > this.num) {
-          str = str.slice(0, this.num);
-        }
-        this.showImgList = str;
-      }
-    } else {
-      uni.removeStorageSync(this.saveStr);
-    }
-    this.showImgList = [...this.imgList];
-  },
-  methods: {
-    chooseImage: async function() {
-      if (this.disabled) {
-        return;
-      }
-      let that = this;
-      let tempFilePaths = await that.getImage();
-      await that.blobToBase64(tempFilePaths);
-      await that.autoUploadImg();
-      await that.postMsg();
-      return this.showImgList;
-    },
-    postMsg() {
-      this.$emit("update:imgList", this.showImgList);
-      this.$emit("chooseImage", this.showImgList);
-      this.$emit("resultData", this.resultData);
-    },
+	import {uploadPic} from "@/api/common";
+	import {picAdd} from "@/api/img-store";
+
+	export default {
+		name: "app-uploader",
+		props: {
+			// 传入的图片数组
+			imgList: {
+				type: Array,
+				default: () => []
+			},
+			manualDel: {
+				type: Boolean,
+				default: false
+			},
+			// 图片的尺寸
+			size: {
+				type: Number,
+				default: 200
+			},
+			// 上传图片数量
+			num: {
+				type: Number,
+				default: 9
+			},
+			// 压缩图片
+			compress: {
+				type: Boolean,
+				default: true
+			},
+			// 默认限制图片1.5M,单位为M
+			maxSize: {
+				type: String,
+				default: "1.5M"
+			},
+			// 是否记录用户的选择记录
+			isSave: {
+				type: Boolean,
+				default: false
+			},
+			// 记录用户的缓存字段
+			saveStr: {
+				type: String,
+				default: "chooseImage"
+			},
+			// 是否转base64 受数据传输长度限制,不建议在组件中使用,如果一定要使用,在返回结果中自己转换
+			isBase64: {
+				type: Boolean,
+				default: false
+			},
+			multiple: {
+				// 是否多图上传
+				type: Boolean,
+				default: true
+			},
+			disabled: {
+				// 是否只读
+				type: Boolean,
+				default: false
+			},
+			// 图片展示模式
+			imgMode: {
+				type: String,
+				default: "scaleToFill"
+			},
+			// uploadPic: {
+			// 	type: Function,
+			// 	default: uploadPic
+			// },
+			// 是否显示主图切换
+			isMain: {
+				type: Boolean,
+				default: false
+			},
+			//图库图片上传 shish  2020.5.18
+			isStorage: {
+				type: Boolean,
+				default: false
+			},
+			// 是否需要拼接路径  true 需要 false 不需要
+			prefixShow: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+				constant: this.$constant,
+				resultData: {},
+				showImgList: [],
+				base64ImgList: [],
+				xssarr: [
+					"data:",
+					"text",
+					"txt",
+					"html",
+					"js",
+					"css",
+					"json",
+					"exe",
+					"sql",
+					"xml",
+					"doc",
+					"docx"
+				]
+			};
+		},
+		mounted() {
+			if (this.isSave) {
+				let str = uni.getStorageSync(this.saveStr);
+				if (str !== "") {
+					str = str.split(",");
+					if (str.length > this.num) {
+						str = str.slice(0, this.num);
+					}
+					this.showImgList = str;
+				}
+			} else {
+				uni.removeStorageSync(this.saveStr);
+			}
+			this.showImgList = [...this.imgList];
+		},
+		methods: {
+			chooseImage: async function () {
+				if (this.disabled) {
+					return;
+				}
+				let that = this;
+				let tempFilePaths = await that.getImage();
+				await that.blobToBase64(tempFilePaths);
+				await that.autoUploadImg();
+				await that.postMsg();
+				return this.showImgList;
+			},
+			postMsg() {
+				this.$emit("update:imgList", this.showImgList);
+				this.$emit("chooseImage", this.showImgList);
+				this.$emit("resultData", this.resultData);
+			},
 
-    autoUploadImg() {
-      let that = this;
-      let base64ImgList = that.base64ImgList;
-      let params = {};
-      if (base64ImgList.length === 1) {
-        params["content"] = base64ImgList[0];
-      } else {
-        base64ImgList.forEach((item, index) => {
-          params[`file[${index}][content]`] = item;
-        });
-      }
-      return new Promise((resolve, reject) => {
-        //这块需要优化,我只是简单复制了下 shish 2020.5.18
-        if (this.isStorage) {
-          picAdd({
-            ...params
-          }).then(res => {
-            let imgArr
-            if (res.code === 1) {
-              if(this.prefixShow) {
-                imgArr = [res.data.shortUrl]
-              } else {
-                imgArr = [res.data.url];
-              }
-              that.showImgList = [...that.showImgList, ...imgArr];
-              that.resultData = res.data;
-              this.$emit("currentUpload", imgArr);
-              this.$emit("getResult", that.showImgList);
-              resolve(that.showImgList);
-            } else {
-              reject(res);
-            }
-          });
-        } else {
-          uploadPic({
-            ...params
-          }).then(res => {
-            let imgArr
-            console.log(this.prefixShow)
-            if (res.code === 1) {
-              if(this.prefixShow) {
-                console.log(11111, res.data.shortUrl)
-                imgArr = [res.data.shortUrl]
-              } else {
-                imgArr = [res.data.url];
-              }
-              that.showImgList = [...that.showImgList, ...imgArr];
-              console.log(222, that.showImgList)
-              that.resultData = res.data;
-              this.$emit("currentUpload", imgArr);
-              this.$emit("getResult", that.showImgList);
-              resolve(that.showImgList);
-            } else {
-              reject(res);
-            }
-          });
-        }
-      });
-    },
-    // 转64
-    async blobToBase64(tempFilePaths) {
-      let that = this;
-      that.base64ImgList = [];
-      let newImgList = [...tempFilePaths];
-      for (let i = 0; i < newImgList.length; i++) {
-        let blob = newImgList[i];
-        // 转64位后可以看文件类型 data:text/
-        // #ifdef H5
-        // 如果是服务器返回的图片不转base64
-        // if (blob.indexOf('blob') !== 0) {
-        // 	that.imgPathList.push(blob)
-        // 	continue
-        // }
-        await that.h5b64(blob).then(res => {
-          let startindex = res.indexOf(":");
-          let endindex = res.indexOf("/");
-          let type = res.substring(startindex + 1, endindex);
-          if (that.xssarr.indexOf(type) === -1) {
-            that.base64ImgList.push(res);
-          }
-        });
-        // #endif
+			autoUploadImg() {
+				let that = this;
+				let base64ImgList = that.base64ImgList;
+				let params = {};
+				if (base64ImgList.length === 1) {
+					params["content"] = base64ImgList[0];
+				} else {
+					base64ImgList.forEach((item, index) => {
+						params[`file[${index}][content]`] = item;
+					});
+				}
+				return new Promise((resolve, reject) => {
+					//这块需要优化,我只是简单复制了下 shish 2020.5.18
+					if (this.isStorage) {
+						picAdd({
+							...params
+						}).then(res => {
+							let imgArr
+							if (res.code === 1) {
+								if (this.prefixShow) {
+									imgArr = [res.data.shortUrl]
+								} else {
+									imgArr = [res.data.url];
+								}
+								that.showImgList = [...that.showImgList, ...imgArr];
+								that.resultData = res.data;
+								this.$emit("currentUpload", imgArr);
+								this.$emit("getResult", that.showImgList);
+								resolve(that.showImgList);
+							} else {
+								reject(res);
+							}
+						});
+					} else {
+						uploadPic({
+							...params
+						}).then(res => {
+							let imgArr
+							console.log(this.prefixShow)
+							if (res.code === 1) {
+								if (this.prefixShow) {
+									console.log(11111, res.data.shortUrl)
+									imgArr = [res.data.shortUrl]
+								} else {
+									imgArr = [res.data.url];
+								}
+								that.showImgList = [...that.showImgList, ...imgArr];
+								console.log(222, that.showImgList)
+								that.resultData = res.data;
+								this.$emit("currentUpload", imgArr);
+								this.$emit("getResult", that.showImgList);
+								resolve(that.showImgList);
+							} else {
+								reject(res);
+							}
+						});
+					}
+				});
+			},
+			// 转64
+			async blobToBase64(tempFilePaths) {
+				let that = this;
+				that.base64ImgList = [];
+				let newImgList = [...tempFilePaths];
+				for (let i = 0; i < newImgList.length; i++) {
+					let blob = newImgList[i];
+					// 转64位后可以看文件类型 data:text/
+					// #ifdef H5
+					// 如果是服务器返回的图片不转base64
+					// if (blob.indexOf('blob') !== 0) {
+					// 	that.imgPathList.push(blob)
+					// 	continue
+					// }
+					await that.h5b64(blob).then(res => {
+						let startindex = res.indexOf(":");
+						let endindex = res.indexOf("/");
+						let type = res.substring(startindex + 1, endindex);
+						if (that.xssarr.indexOf(type) === -1) {
+							that.base64ImgList.push(res);
+						}
+					});
+					// #endif
 
-        // #ifdef MP-WEIXIN
-        // 微信临时文件  http://tmp/wx3a16...
-        // if (blob.indexOf('http://tmp/') !== 0) {
-        // 	that.imgPathList.push(blob)
-        // 	continue
-        // }
-        await that.WEIXINb64(blob).then(res => {
-          that.base64ImgList.push(res);
-        });
-        // #endif
-      }
-    },
-    WEIXINb64(blob) {
-      return new Promise((resolve, reject) => {
-        uni.getFileSystemManager().readFile({
-          filePath: blob, // 选择图片返回的相对路径
-          encoding: "base64", // 编码格式
-          success: function(res) {
-            let b64str = "data:image/jpeg;base64," + res.data;
-            resolve(b64str);
-          },
-          fail: function(err) {
-            console.log(err);
-          }
-        });
-      });
-    },
-    h5b64(blob) {
-      return fetch(blob, {
-        method: "GET",
-        headers: new Headers({
-          "Access-Control-Allow-Origin": "*",
-          "Content-Type": "text/plain"
-        }),
-        mode: "no-cors"
-      })
-        .then(data => {
-          const blob = data.blob();
-          return blob;
-        })
-        .then(async blob => {
-          let reader = new FileReader();
-          reader.readAsDataURL(blob);
-          // return await new Promise((res, reg) => {
-          // 	reader.onloadend = function() {
-          // 		const data = reader.result
-          // 		res(data)
-          // 	}
-          // })
-          return await new Promise((res, reg) => {
-            reader.onloadend = function() {
-              let data = reader.result;
-              let str = data.substring(0, 30);
-              if (str.indexOf(":image/jpeg;") == -1) {
-                data = data.replace("data:;", "data:image/jpeg;");
-              }
-              res(data);
-            };
-          });
-        });
-    },
+					// #ifdef MP-WEIXIN
+					// 微信临时文件  http://tmp/wx3a16...
+					// if (blob.indexOf('http://tmp/') !== 0) {
+					// 	that.imgPathList.push(blob)
+					// 	continue
+					// }
+					await that.WEIXINb64(blob).then(res => {
+						that.base64ImgList.push(res);
+					});
+					// #endif
+				}
+			},
+			WEIXINb64(blob) {
+				return new Promise((resolve, reject) => {
+					uni.getFileSystemManager().readFile({
+						filePath: blob, // 选择图片返回的相对路径
+						encoding: "base64", // 编码格式
+						success: function (res) {
+							let b64str = "data:image/jpeg;base64," + res.data;
+							resolve(b64str);
+						},
+						fail: function (err) {
+							console.log(err);
+						}
+					});
+				});
+			},
+			h5b64(blob) {
+				return fetch(blob, {
+					method: "GET",
+					headers: new Headers({
+						"Access-Control-Allow-Origin": "*",
+						"Content-Type": "text/plain"
+					}),
+					mode: "no-cors"
+				})
+					.then(data => {
+						const blob = data.blob();
+						return blob;
+					})
+					.then(async blob => {
+						let reader = new FileReader();
+						reader.readAsDataURL(blob);
+						// return await new Promise((res, reg) => {
+						// 	reader.onloadend = function() {
+						// 		const data = reader.result
+						// 		res(data)
+						// 	}
+						// })
+						return await new Promise((res, reg) => {
+							reader.onloadend = function () {
+								let data = reader.result;
+								let str = data.substring(0, 30);
+								if (str.indexOf(":image/jpeg;") == -1) {
+									data = data.replace("data:;", "data:image/jpeg;");
+								}
+								res(data);
+							};
+						});
+					});
+			},
 
-    // 上传图片
-    getImage() {
-      let that = this;
-      let showImgList = that.showImgList;
-      let count = that.num - showImgList.length;
-      return new Promise((resolve, reject) => {
-        uni.chooseImage({
-          count: this.multiple ? count : 1, // 默认9
-          sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有
-          sourceType: ["album", "camera"], // 从相册选择
-          success: async function(res) {
-            await that.fileValid(res);
-            var tempFilePaths = res.tempFilePaths;
-            if (that.isSave) {
-              uni.setStorageSync(that.saveStr, showImgList.join(","));
-            }
-            resolve(tempFilePaths);
-          }
-        });
-      });
-    },
-    // 文件过滤
-    fileValid(res) {
-      let tempFiles = res.tempFiles;
-      let tempFilePaths = res.tempFilePaths;
-      let newtempFiles = [];
-      let newtempFilePaths = [];
+			// 上传图片
+			getImage() {
+				let that = this;
+				let showImgList = that.showImgList;
+				let count = that.num - showImgList.length;
+				return new Promise((resolve, reject) => {
+					uni.chooseImage({
+						count: this.multiple ? count : 1, // 默认9
+						sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有
+						sourceType: ["album", "camera"], // 从相册选择
+						success: async function (res) {
+							await that.fileValid(res);
+							var tempFilePaths = res.tempFilePaths;
+							if (that.isSave) {
+								uni.setStorageSync(that.saveStr, showImgList.join(","));
+							}
+							resolve(tempFilePaths);
+						}
+					});
+				});
+			},
+			// 文件过滤
+			fileValid(res) {
+				let tempFiles = res.tempFiles;
+				let tempFilePaths = res.tempFilePaths;
+				let newtempFiles = [];
+				let newtempFilePaths = [];
 
-      for (let i = 0; i < tempFiles.length; i++) {
-        // 大于1.5m就不让上传
-        let fileSize = tempFiles[i].size;
-        if (fileSize > 1024 * 1024 * 1.5) {
-          uni.showToast({
-            title: "过滤不能大于1.5m的文件",
-            duration: 2000,
-            icon: "none"
-          });
-          continue;
-        }
+				for (let i = 0; i < tempFiles.length; i++) {
+					// 大于1.5m就不让上传
+					let fileSize = tempFiles[i].size;
+					if (fileSize > 1024 * 1024 * 1.5) {
+						uni.showToast({
+							title: "过滤不能大于1.5m的文件",
+							duration: 2000,
+							icon: "none"
+						});
+						continue;
+					}
 
-        // 文件类型设置
-        let spl = tempFiles[i].path.split(".");
-        let fileType = spl[spl.length - 1];
-        if (fileType && this.xssarr.indexOf(fileType) >= 0) {
-          uni.showToast({
-            title: "过滤不符合规范文件",
-            duration: 2000,
-            icon: "none"
-          });
-          continue;
-        }
+					// 文件类型设置
+					let spl = tempFiles[i].path.split(".");
+					let fileType = spl[spl.length - 1];
+					if (fileType && this.xssarr.indexOf(fileType) >= 0) {
+						uni.showToast({
+							title: "过滤不符合规范文件",
+							duration: 2000,
+							icon: "none"
+						});
+						continue;
+					}
 
-        newtempFiles.push(tempFiles[i]);
-        newtempFilePaths.push(tempFilePaths[i]);
-      }
-      res.tempFiles = newtempFiles;
-      res.tempFilePaths = newtempFilePaths;
-    },
-    // 设为主图
-    mainImg(index) {
-      return false;
-      if (index == 0){
-         return false;
-      }
-      this.$msg("操作成功!");
-      // let imgArr = JSON.parse(JSON.stringify(this.showImgList))
-      let imgUrl = this.showImgList[index];
-      this.showImgList.splice(index, 1);
-      this.showImgList.unshift(imgUrl);
-      // this.$emit('mainImg', index)
-      this.postMsg();
-    },
-    // 删除
-    async delImg(index) {
-      if (this.disabled) {
-        return;
-      }
-      if (this.isSave) {
-        uni.setStorageSync(this.saveStr, this.showImgList.join(","));
-      }
-      if (!this.manualDel) {
-        this.showImgList.splice(index, 1);
-      } else {
-        this.$emit("delImage", index);
-      }
-      await this.postMsg();
-    },
-    // 预览
-    viewImg(path) {
-      uni.previewImage({
-        urls: this.showImgList,
-        current: path
-      });
-    },
-    // 获取图片信息
-    getImageInfo(image, cb) {
-      uni.getImageInfo({
-        src: image,
-        success: function(image) {
-          cb(image);
-          return image;
-        }
-      });
-    },
-    // 图片压缩
-    compressImage() {
-      uni.compressImage({
-        src: image,
-        quality: 80,
-        complete: res => {}
-      });
-    }
-  },
-  watch: {
-    imgList(val) {
-      this.showImgList = [...val];
-    }
-  }
-};
+					newtempFiles.push(tempFiles[i]);
+					newtempFilePaths.push(tempFilePaths[i]);
+				}
+				res.tempFiles = newtempFiles;
+				res.tempFilePaths = newtempFilePaths;
+			},
+			// 设为主图
+			mainImg(index) {
+				return false;
+				if (index == 0) {
+					return false;
+				}
+				this.$msg("操作成功!");
+				// let imgArr = JSON.parse(JSON.stringify(this.showImgList))
+				let imgUrl = this.showImgList[index];
+				this.showImgList.splice(index, 1);
+				this.showImgList.unshift(imgUrl);
+				// this.$emit('mainImg', index)
+				this.postMsg();
+			},
+			// 删除
+			async delImg(index) {
+				if (this.disabled) {
+					return;
+				}
+				if (this.isSave) {
+					uni.setStorageSync(this.saveStr, this.showImgList.join(","));
+				}
+				if (!this.manualDel) {
+					this.showImgList.splice(index, 1);
+				} else {
+					this.$emit("delImage", index);
+				}
+				await this.postMsg();
+			},
+			// 预览
+			viewImg(path) {
+				uni.previewImage({
+					urls: this.showImgList,
+					current: path
+				});
+			},
+			// 获取图片信息
+			getImageInfo(image, cb) {
+				uni.getImageInfo({
+					src: image,
+					success: function (image) {
+						cb(image);
+						return image;
+					}
+				});
+			},
+			// 图片压缩
+			compressImage() {
+				uni.compressImage({
+					src: image,
+					quality: 80,
+					complete: res => {
+					}
+				});
+			}
+		},
+		watch: {
+			imgList(val) {
+				this.showImgList = [...val];
+			}
+		}
+	};
 </script>
 <style scoped lang="scss">
-.uni-system-preview-image {
-  background-color: rgba(0, 0, 0, 0.9);
+	.uni-system-preview-image {
+		background-color: rgba(0, 0, 0, 0.9);
 
-  .uni-preview-image {
-    max-width: 100%;
-  }
-}
+		.uni-preview-image {
+			max-width: 100%;
+		}
+	}
 
-.upload-box {
-  padding: 0 30px;
-  &:first-child {
-    padding-left: 0;
-  }
+	.upload-box {
+		padding: 0 30px;
+		&:first-child {
+			padding-left: 0;
+		}
 
-  & > ul {
-    display: inline-block;
-    display: flex;
-    flex-wrap: wrap;
+		& > ul {
+			display: inline-block;
+			display: flex;
+			flex-wrap: wrap;
 
-    & > li {
-      list-style: none;
-      width: 210px;
-      height: 210px;
-      margin: 0 20px 20px 0;
-      position: relative;
-      background-color: #fff;
+			& > li {
+				list-style: none;
+				width: 210px;
+				height: 210px;
+				margin: 0 20px 20px 0;
+				position: relative;
+				background-color: #fff;
 
-      .icondelete {
-        font-size: 25px;
-        z-index: 999;
-        position: absolute;
-        right: 0;
-        bottom: 0;
-        color: #fff;
-        padding: 0 2px;
-        background-color: rgba(0, 0, 0, 0.45);
-      }
+				.icondelete {
+					font-size: 25px;
+					z-index: 999;
+					position: absolute;
+					right: 0;
+					bottom: 0;
+					color: #fff;
+					padding: 0 2px;
+					background-color: rgba(0, 0, 0, 0.45);
+				}
 
-      .main-btn {
-        position: absolute;
-        top: 0;
-        left: 0;
-        z-index: 999;
-        @include disFlex(center, center);
-        width: 44px;
-        height: 44px;
-        background-color: #ccc;
-        color: #fff;
-        &.mian {
-          background-color: $mainColor;
-          color: #fff;
-        }
-      }
-    }
-  }
+				.main-btn {
+					position: absolute;
+					top: 0;
+					left: 0;
+					z-index: 999;
+					@include disFlex(center, center);
+					width: 44px;
+					height: 44px;
+					background-color: #ccc;
+					color: #fff;
+					&.mian {
+						background-color: $mainColor;
+						color: #fff;
+					}
+				}
+			}
+		}
 
-  & .list_img {
-    & > img {
-      width: 100%;
-      height: 100%;
-    }
-  }
+		& .list_img {
+			& > img {
+				width: 100%;
+				height: 100%;
+			}
+		}
 
-  & .uploadImg {
-    border: 1px dashed #e5e5e5;
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    justify-content: center;
-    box-sizing: border-box;
+		& .uploadImg {
+			border: 1px dashed #e5e5e5;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: center;
+			box-sizing: border-box;
 
-    .upload_ipt {
-      position: absolute;
-      width: 100%;
-      height: 100%;
-      /*overflow:hidden;*/
-      cursor: pointer;
-      opacity: 0;
-    }
+			.upload_ipt {
+				position: absolute;
+				width: 100%;
+				height: 100%;
+				/*overflow:hidden;*/
+				cursor: pointer;
+				opacity: 0;
+			}
 
-    .iconfont {
-      color: rgb(150, 151, 153);
-      font-size: 40px;
-    }
-  }
-}
+			.iconfont {
+				color: rgb(150, 151, 153);
+				font-size: 40px;
+			}
+		}
+	}
 </style>

+ 1 - 1
hdApp/src/pagesArrears/details.vue

@@ -131,7 +131,7 @@ export default {
           }
         }
       }
-      return amount;
+      return amount.toFixed(2);
     }
   },
   methods: {

+ 1 - 1
hdApp/src/pagesPurchase/gathering.vue

@@ -113,7 +113,7 @@ export default {
           }
         }
       }
-      return amount;
+      return amount.toFixed(2);
     },
     // allTotalAmount () {
     //   let amount = 0;