Roebin 3 лет назад
Родитель
Сommit
2d84998a97
100 измененных файлов с 2273 добавлено и 858 удалено
  1. 53 0
      components/file-img-upload/upload.js
  2. 459 0
      components/file-img-upload/w-upload.vue
  3. 244 198
      pages/acceptor/acceptor.vue
  4. 278 118
      pages/alldeatil/addbill.vue
  5. 225 15
      pages/alldeatil/billdetail.vue
  6. 225 50
      pages/alldeatil/contractdetail.vue
  7. 309 183
      pages/alldeatil/upcontract.vue
  8. 22 10
      pages/bsinessadmin/setpassword.vue
  9. 43 6
      pages/drawer/drawer.vue
  10. 301 236
      pages/index/index.vue
  11. 6 0
      pages/login/login.vue
  12. 5 5
      pages/mine/mine.vue
  13. 74 25
      pages/supplier/supplier.vue
  14. 1 1
      store/index.js
  15. 12 7
      uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue
  16. 0 0
      unpackage/dist/build/mp-weixin/common/main.wxss
  17. 0 0
      unpackage/dist/build/mp-weixin/common/vendor.js
  18. 0 0
      unpackage/dist/build/mp-weixin/pages/acceptor/acceptor.js
  19. 0 0
      unpackage/dist/build/mp-weixin/pages/acceptor/acceptor.wxml
  20. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/addbill.js
  21. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/addbill.wxml
  22. 0 1
      unpackage/dist/build/mp-weixin/pages/alldeatil/billdetail.js
  23. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/billdetail.wxml
  24. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/contractdetail.js
  25. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/contractdetail.wxml
  26. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/contractdetail.wxss
  27. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/supplierdetail.js
  28. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/supplierdetail.wxml
  29. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/supplierdetail.wxss
  30. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/upcontract.js
  31. 0 0
      unpackage/dist/build/mp-weixin/pages/alldeatil/upcontract.wxml
  32. 0 0
      unpackage/dist/build/mp-weixin/pages/bsinessadmin/register.js
  33. 0 0
      unpackage/dist/build/mp-weixin/pages/bsinessadmin/register.wxml
  34. 1 1
      unpackage/dist/build/mp-weixin/pages/bsinessadmin/register.wxss
  35. 0 0
      unpackage/dist/build/mp-weixin/pages/bsinessadmin/setpassword.js
  36. 0 0
      unpackage/dist/build/mp-weixin/pages/bsinessadmin/setpassword.wxml
  37. 0 0
      unpackage/dist/build/mp-weixin/pages/bsinessadmin/setpassword.wxss
  38. 0 0
      unpackage/dist/build/mp-weixin/pages/bsinessadmin/supplierges.js
  39. 0 0
      unpackage/dist/build/mp-weixin/pages/bsinessadmin/supplierges.wxml
  40. 0 0
      unpackage/dist/build/mp-weixin/pages/bsinessadmin/supplierges.wxss
  41. 0 0
      unpackage/dist/build/mp-weixin/pages/drawer/drawer.js
  42. 0 0
      unpackage/dist/build/mp-weixin/pages/drawer/drawer.wxml
  43. 0 0
      unpackage/dist/build/mp-weixin/pages/drawer/drawer.wxss
  44. 0 0
      unpackage/dist/build/mp-weixin/pages/index/index.js
  45. 0 0
      unpackage/dist/build/mp-weixin/pages/index/index.wxml
  46. 0 0
      unpackage/dist/build/mp-weixin/pages/login/login.js
  47. 0 0
      unpackage/dist/build/mp-weixin/pages/login/login.wxml
  48. 0 0
      unpackage/dist/build/mp-weixin/pages/login/login.wxss
  49. 0 0
      unpackage/dist/build/mp-weixin/pages/mine/mine.js
  50. 0 0
      unpackage/dist/build/mp-weixin/pages/mine/mine.wxml
  51. 0 0
      unpackage/dist/build/mp-weixin/pages/supplier/supplier.js
  52. 0 0
      unpackage/dist/build/mp-weixin/pages/supplier/supplier.wxml
  53. 13 0
      unpackage/dist/build/mp-weixin/static/css/flex.scss
  54. 0 0
      unpackage/dist/build/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js
  55. 0 0
      unpackage/dist/build/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml
  56. 1 1
      unpackage/dist/build/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss
  57. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  58. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  59. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/componet/tabbar/tabbar.js.map
  60. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map
  61. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-checkbox/u-checkbox.js.map
  62. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-datetime-picker/u-datetime-picker.js.map
  63. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-form-item/u-form-item.js.map
  64. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-icon/u-icon.js.map
  65. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js.map
  66. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-line/u-line.js.map
  67. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-loading-icon/u-loading-icon.js.map
  68. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-overlay/u-overlay.js.map
  69. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-picker/u-picker.js.map
  70. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-popup/u-popup.js.map
  71. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-safe-bottom/u-safe-bottom.js.map
  72. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-status-bar/u-status-bar.js.map
  73. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-toolbar/u-toolbar.js.map
  74. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-transition/u-transition.js.map
  75. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-upload/u-upload.js.map
  76. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/acceptor/acceptor.js.map
  77. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/acptdetail.js.map
  78. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/addbill.js.map
  79. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/addnewacpt.js.map
  80. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/addnewdrawer.js.map
  81. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/billdetail.js.map
  82. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/contractdetail.js.map
  83. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/drawerdetail.js.map
  84. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/identifypic.js.map
  85. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/proxypic.js.map
  86. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/supplierdetail.js.map
  87. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/upcontract.js.map
  88. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/bsinessadmin/register.js.map
  89. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/bsinessadmin/setpassword.js.map
  90. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/bsinessadmin/supplierges.js.map
  91. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/drawer/drawer.js.map
  92. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  93. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  94. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map
  95. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/other/homepage.js.map
  96. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/spladmin/index.js.map
  97. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/supplier/supplier.js.map
  98. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map
  99. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  100. 1 1
      unpackage/dist/dev/mp-weixin/common/vendor.js

+ 53 - 0
components/file-img-upload/upload.js

xqd
@@ -0,0 +1,53 @@
+// 文件上传
+const WUpload = (url, uploadName, token, data = {}, source) => {
+	return new Promise(function(resolve, reject) {
+		uni.showLoading({
+			title: '上传中...',
+			mask: true
+		})
+		// data['token'] = token
+		var tempFilePaths = source.tempFiles[0].path
+		// let is_test = ''
+		// data['is_test'] = 1
+		uni.uploadFile({
+			url: url, //仅为示例,非真实的接口地址
+			filePath: tempFilePaths,
+			// name值需要根据项目自己配置
+			name: uploadName || 'file',
+			header: {
+				'content-type': 'multipart/form-data',
+				"Authorization": token
+			},
+			formData: data,
+			success: function(res) {
+				uni.hideLoading()
+				// 如果返回json格式,转换成字符串
+				if (IsJsonString(res.data)) {
+					res.data = JSON.parse(res.data)
+				}
+				resolve(res.data)
+			},
+			fail: function(err) {
+				uni.hideLoading()
+				uni.showToast({
+					title: '上传失败,请稍后重试!',
+					icon: 'none',
+					duration: 2000
+				})
+			},
+			complete: function() {}
+		})
+	})
+}
+// 判断是否未json
+const IsJsonString = (str) => {
+	try {
+		JSON.parse(str);
+	} catch (e) {
+		return false;
+	}
+	return true;
+}
+export {
+	WUpload
+}

+ 459 - 0
components/file-img-upload/w-upload.vue

xqd
@@ -0,0 +1,459 @@
+<template>
+	<view class="w-upload">
+		<view class="fileBox" v-if="fileShow">
+			<view class="filePath" v-for="(j, index1) in fileList" :key="index1">
+				<view class="text1" @click="wpriven(j.src)">{{ j.name }}</view>
+				<view class="w-edit" @click="wdelete(index1, fileList, 1)"><text class="w-btn1">x</text></view>
+			</view>
+		</view>
+		<view class="imgList" v-if="imgShow">
+			<view class="imgItem" v-for="(k, index2) in imgList" :key="index2">
+				<image class="w-img" :src="k.src" mode="" @click="wpriven(k.src)"></image>
+				<text class="cancel" @click="wdelete(index2, imgList, 2)">x</text>
+			</view>
+			<view class="addItem" @click="upLoadImg(1)">+</view>
+		</view>
+		<view class="w-drawer">
+			<view class="w-setbox" :class="{ wShow: isshow }">
+				<view class="w-header">
+					<view class="w-item w-item1" @click="wselect(index)" v-for="(i, index) in selectList" :key="index">{{ i }}</view>
+					<view class="w-line"></view>
+					<view class="w-item" @click="wclose">取消</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { WUpload } from '@/components/file-img-upload/upload.js';
+export default {
+	props: {
+		token : {
+			type: String,
+			default: ''
+		},
+		fileShow: {
+			type: Boolean,
+			default: false
+		},
+		imgShow: {
+			type: Boolean,
+			default: false
+		},
+		fileList: {
+			type: Array,
+			default: []
+		},
+		imgList: {
+			type: Array,
+			default: []
+		},
+		requestUrl: {
+			type: String,
+			default: ''
+		},
+		uploadName: {
+			type: String,
+			default: 'file'
+		},
+		fileType: {
+			type: String,
+			default: ''
+		},
+		imgType: {
+			type: String,
+			default: ''
+		}
+	},
+	name: 'WUpload',
+	data() {
+		return {
+			isshow: false,
+			selectList: ['文档', '图片']
+		};
+	},
+	created() {},
+	methods: {
+		wclose() {
+			this.isshow = false;
+		},
+		uploadOpen() {
+			this.isshow = true;
+		},
+		wselect(index) {
+			if (index == 0) {
+				this.upLoadFile();
+			} else {
+				this.upLoadImg();
+			}
+			this.isshow = false;
+		},
+		wpriven(url) {
+			let that = this;
+			uni.showLoading({
+				title: '下载中...',
+				mask: true
+			});
+			that.udownload(url, 'temporary')
+				.then(path => {
+					uni.hideLoading();
+					that.uopen(path);
+				})
+				.catch(() => {
+					uni.hideLoading();
+					uni.showToast({
+						title: '下载失败',
+						icon: 'none'
+					});
+				});
+		},
+		wdelete(index, list, num) {
+			list.forEach((i, j) => {
+				if (j == index) {
+					if (num == 1) {
+						this.$emit('updateFileList', [j,i]); //返回被删除的文件
+					} else {
+						this.$emit('updateImgList', [j,i]); //返回被删除的图片
+					}
+				}
+			});
+		},
+		// 下载临时储存 temporary 临时 local 永久
+		udownload(url, type = 'temporary') {
+			let that = this;
+			return new Promise((resolve, reject) => {
+				uni.downloadFile({
+					url,
+					success: ({ statusCode, tempFilePath }) => {
+						if (statusCode === 200) {
+							if (type == 'local') {
+								uni.saveFile({
+									tempFilePath,
+									success: ({ savedFilePath }) => that.onCommit(resolve(savedFilePath)),
+									fail: () => that.errorHandler('下载失败', reject)
+								});
+							} else {
+								that.onCommit(resolve(tempFilePath));
+							}
+						}
+					},
+					fail: () => that.errorHandler('下载失败', reject)
+				});
+			});
+		},
+		onCommit(resolve) {
+			return resolve;
+		},
+		errorHandler(errText, reject) {
+			uni.showToast({
+				title: errText,
+				icon: 'none'
+			});
+			return reject(errText);
+		},
+		// 打开文件
+		uopen(filePath) {
+			let system = uni.getSystemInfoSync().platform;
+			if (system == 'ios') {
+				filePath = encodeURI(filePath);
+			}
+			uni.openDocument({
+				showMenu: true,
+				filePath,
+				success: res => {
+					console.log('打开文档成功');
+				},
+				fail: res1 => {
+					uni.getImageInfo({
+						src: filePath,
+						success: imgInfo => {
+							uni.previewImage({
+								current: filePath,
+								urls: [filePath]
+							});
+						},
+						fail: err => {
+							uni.showToast({
+								title: '不支持该格式',
+								icon: 'none'
+							});
+							return;
+						}
+					});
+				}
+			});
+		},
+		// 文件上传
+		upLoadFile() {
+			let that = this;
+			uni.chooseMessageFile({
+				type: 'file',
+				success: function(source) {
+					if (source.tempFiles[0].size < 1024 * 1024 * 5) {
+						WUpload(
+							that.requestUrl,
+							that.uploadName,
+							that.token,
+							{
+								// token: uni.getStorageSync('token'),
+								// 看项目接口要求的格式修改关键字
+								upload_type: that.fileType
+							},
+							source
+						)
+							.then(res2 => {
+								if (res2.state == true) {
+									let Res2 = res2.data;
+									Res2.name = source.tempFiles[0].name;
+									that.$emit('fileSuccess', Res2); //返回上传成功的数据
+									uni.showToast({
+										title: '上传成功'
+									});
+								} else {
+									uni.showToast({
+										title: '上传失败',
+										icon: 'none'
+									});
+								}
+							})
+							.catch(catchRes => {
+								console.log(catchRes);
+								uni.showToast({
+									title: '上传失败',
+									icon: 'none'
+								});
+							});
+					} else {
+						uni.showToast({
+							title: '文件过大,无法上传',
+							icon: 'none'
+						});
+					}
+				}
+			});
+		},
+		// 图片上传
+		upLoadImg(num) {
+			let that = this;
+			uni.chooseImage({
+				count: 1, // 默认9
+				sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
+				sourceType: ['camera', 'album'], // 可以指定来源是相册还是相机,默认二者都有
+				success: function(source) {
+					if (source.tempFiles[0].size < 1024 * 1024 * 2) {
+						uni.getImageInfo({
+							src: source.tempFilePaths[0],
+							success(res) {
+								WUpload(
+									that.requestUrl,
+									that.uploadName,
+									that.token,
+									{
+										// token: uni.getStorageSync('token'),
+										// 根据接口要求修改对应的格式关键字
+										upload_type: that.imgType
+									},
+									source
+								)
+									.then(res1 => {
+										if (res1.state == true) {
+											let Res = res1.data;
+											Res.name = source.tempFilePaths[0];
+											if (num == 1) {
+												that.$emit('imgSuccess', Res); //返回上传成功的数据
+											} else {
+												that.$emit('fileSuccess', Res); //返回上传成功的数据
+											}
+											uni.showToast({
+												title: '上传成功'
+											});
+										} else {
+											uni.showToast({
+												title: '上传失败',
+												icon: 'none'
+											});
+										}
+									})
+									.catch(catchRes => {
+										console.log(catchRes);
+										uni.showToast({
+											title: '上传失败',
+											icon: 'none'
+										});
+									});
+							},
+							fail(error) {
+								console.log(error);
+							}
+						});
+					} else {
+						uni.showToast({
+							title: '图片过大,无法上传',
+							icon: 'none'
+						});
+					}
+				}
+			});
+		}
+	}
+};
+</script>
+<style scoped>
+.w-drawer {
+	box-sizing: border-box;
+	width: 100%;
+	height: 100%;
+	display: flex;
+	display: -webkit-flex;
+	flex-direction: column;
+}
+
+.w-setbox {
+	box-sizing: border-box;
+	position: fixed;
+	z-index: 1000;
+	left: 0px;
+	right: 0px;
+	width: 100%;
+	height: 100%;
+	background-color: rgba(0, 0, 0, 0.7);
+	box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.12);
+	-webkit-transition: all 0.2 ease;
+	transition: all 0.2 ease;
+	bottom: -100%;
+	/* -webkit-transform: scale(1);
+	transform: scale(1); */
+}
+
+.wShow {
+	box-sizing: border-box;
+	bottom: 0;
+	/* transform: scale(0); */
+}
+
+.w-header {
+	box-sizing: border-box;
+	width: 100%;
+	background: #ffffff;
+	line-height: 40px;
+	position: absolute;
+
+	bottom: 0;
+	border-top-left-radius: 20px;
+	border-top-right-radius: 20px;
+	-webkit-transition: all 0.4 ease;
+	transition: all 0.4 ease;
+	/* border-bottom: 10rpx solid #ffffff; */
+}
+
+.w-line {
+	width: 100%;
+	background-color: #f7f8fa;
+	height: 8px;
+}
+
+.w-item {
+	box-sizing: border-box;
+	height: 100rpx;
+	line-height: 100rpx;
+	width: 100%;
+	text-align: center;
+}
+
+.w-item1:first-child {
+	border-bottom: 1px solid #ebedf0;
+}
+
+.fileBox {
+	box-sizing: border-box;
+	margin: 20rpx;
+}
+
+.filePath {
+	box-sizing: border-box;
+	width: 100%;
+	/* padding: 10rpx 0; */
+	display: flex;
+	/* flex-direction: column; */
+	justify-content: space-between;
+	align-items: center;
+	border-bottom: 1px solid #c0c0c0;
+}
+
+.text1 {
+	flex: 1;
+	/* width: 100%; */
+	/* margin: 10rpx 0 20rpx; */
+	text-overflow: ellipsis;
+	overflow: hidden;
+	white-space: nowrap;
+	padding-left: 10rpx;
+	/* text-align: center; */
+	vertical-align: middle;
+}
+
+.w-btn1 {
+	padding: 10rpx;
+	padding-right: 20rpx;
+	/* color: #f56c6c; */
+	font-size: 38rpx;
+}
+
+.w-edit {
+	color: #cccccc;
+	/* width: 100%; */
+	display: flex;
+	justify-content: flex-end;
+}
+
+.imgList {
+	display: flex;
+	justify-content: flex-start;
+	flex-wrap: wrap;
+	padding: 0 10rpx;
+}
+
+.imgItem {
+	margin: 20rpx 10rpx;
+	position: relative;
+	width: 160rpx;
+	height: 160rpx;
+	border-radius: 5px;
+}
+
+.cancel {
+	position: absolute;
+	height: 35rpx;
+	width: 35rpx;
+	line-height: 28rpx;
+	font-size: 30rpx;
+	text-align: center;
+	vertical-align: middle;
+	right: 0px;
+	top: 0px;
+	background-color: #f56c6c;
+	color: #ffffff;
+	z-index: 999;
+	border-radius: 0 5px 0 0;
+}
+
+.w-img {
+	border-radius: 5px;
+	width: 160rpx;
+	height: 160rpx;
+}
+
+.addItem {
+	margin: 20rpx 10rpx;
+	width: 160rpx;
+	height: 160rpx;
+	border: 1px solid #cccccc;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	font-size: 50rpx;
+	color: #999;
+	border-radius: 5px;
+}
+</style>

+ 244 - 198
pages/acceptor/acceptor.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -3,7 +3,7 @@
 		<view class="headbgbox flex2">
 			<view class="searchbox">
 				<u-icon name="search" bold="true" size="25" color="rgb(246,185,78)"></u-icon>
-				<input type="text" v-model="keywords" placeholder="请输入关键字搜索" placeholder-style="color:#BBBCBE" />
+				<input type="text" v-model="keywords" placeholder="请输入关键字搜索" placeholder-style="color:#BBBCBE" @blur="changeSeach"/>
 			</view>
 			<view class="screen" @click="show = true">
 				<text>筛选</text>
@@ -15,11 +15,11 @@
 		<view class="acpcardlist">
 			<view class="lable " v-for="(item,index) in listall" :key="index">
 				<view class="radiobox" v-if="editall">
-					<radio :value="index" :checked="item.checked" color="#D8AB5A"  @click="checkBox(item.id)"/>
+					<radio :value="index" :checked="item.checked" color="#D8AB5A" @click="checkBox(item.id)" />
 				</view>
 				<view class="acpcard" @click="acpDetail(item.id)">
 					<view class="allmsg">
-						<view class="cicle"  v-if="item.isDeleted==0"></view>
+						<view class="cicle" v-if="item.isDeleted==0"></view>
 						<view class="cicle" v-if="item.isDeleted==1" style="background-color:#D05C39"></view>
 						<view class="acpcont">
 							<view class="acpname">
@@ -27,25 +27,25 @@
 								<view class="tag" v-if="item.isDeleted==0">正常</view>
 								<view class="tagdel" v-if="item.isDeleted==1">删除</view>
 							</view>
-								<view class="acpinfo ">
-									<text class="pt">账号:{{item.bankAccount}}</text>
-									<text class="pt">服务费率:{{item.serviceRate}}%</text>
-									<text class="pt">利率:{{item.interest}}%</text>
-								</view>
-								
+							<view class="acpinfo ">
+								<text class="pt">账号:{{item.bankAccount}}</text>
+								<text class="pt">服务费率:{{item.serviceRate}}%</text>
+								<text class="pt">利率:{{item.interest}}%</text>
+							</view>
+
 						</view>
 					</view>
 				</view>
 			</view>
-			
+
 		</view>
 		<view class="nomore" v-if="listall.length==0">
 			<text>暂无数据</text>
 		</view>
 		<view class="totalmanage " v-if="listall.length>0">
 			<text style="color:#68625B;font-size: 28rpx;">合计:{{total}}份</text>
-			<view class=" maboxtitls"  @click="editall=true">
-				<view class="managebox" >
+			<view class=" maboxtitls" @click="editall=true">
+				<view class="managebox">
 					<image src="/static/img/manage.png" mode="aspectFit"></image>
 				</view>
 				<text style="padding-left: 15rpx;">管理</text>
@@ -67,8 +67,9 @@
 					</view>
 				</view>
 				<view class="aszs flex6">
-					<view class="againbtn"><text>重置</text></view>
-					<view class="againbtn" style="color: #D8AB5A;border: 1rpx solid #D8AB5A;"><text>确认</text></view>
+					<view class="againbtn" @click="restoreALL"><text>重置</text></view>
+					<view class="againbtn" style="color: #D8AB5A;border: 1rpx solid #D8AB5A;" @click="makeSureSelect">
+						<text>确认</text></view>
 				</view>
 			</view>
 		</u-popup>
@@ -98,66 +99,71 @@
 	let that
 	import tabar from "@/componet/tabbar/tabbar.vue"
 	export default {
-		components:{
+		components: {
 			tabar
 		},
 		data() {
 			return {
-				editall:false,
-				quan:false,
-				show:false,
-				contract_status:0,
-				listall:[],
-				pageIndex:1,
-				total:'',
-				nomore:false,
+				keywords:'',
+				editall: false,
+				quan: false,
+				show: false,
+				contract_status: 0,
+				listall: [],
+				pageIndex: 1,
+				total: '',
+				nomore: false,
+				statusall: 0,
 				ctrstatus: [{
 					title: "承兑人状态",
 					list: [{
 							name: "全部",
-				
+
 						},
 						{
 							name: "正常",
-				
+
 						},
 						{
 							name: "已删除",
-				
+
 						},
-						
+
 					]
 				}],
 			}
 		},
 		onLoad() {
-			that=this
-			this.init()
+			that = this
+			// this.init()
 		},
-		onshow(){
+		onShow() {
+			that.pageIndex = 1
+			that.nomore = false
+			that.listall = []
 			this.init()
 		},
 		// 下拉到底部后加载新数据
-		    onReachBottom() {
-		      //判断下一页是否存在数据,不存在将显示暂无数据等提示语
-		      if (this.listall.length >= this.pageIndex * 10) {
-		        this.pageIndex++;//页数加一
-				this.init();//回调接口
-		      }else{
-				  this.nomore=true
-			  }
-		      
-		    },
+		onReachBottom() {
+			//判断下一页是否存在数据,不存在将显示暂无数据等提示语
+			if (this.listall.length >= this.pageIndex * 10) {
+				this.pageIndex++; //页数加一
+				this.init(); //回调接口
+			} else {
+				this.nomore = true
+			}
+
+		},
 		methods: {
 			init() {
 				uni.showLoading()
-				uni.$u.http.post('/api/Acceptor/search',{
-					pageIndex:this.pageIndex,
-					pageSize:10,
+				uni.$u.http.post('/api/Acceptor/search', {
+					pageIndex: this.pageIndex,
+					pageSize: 10,
 					// startTime:'',
 					// endTime:'',
-					// name:'',
-					// contractStatus:'',
+					name:this.keywords,
+					status: this.statusall,
 					// contractNo:''
 				}, {
 					custom: {
@@ -165,188 +171,217 @@
 					}
 				}).then((res) => {
 					uni.hideLoading()
-					this.total=res.total
-					
-					let list=res.result
-					if(list.length>0){
-						list.forEach(item=>{
-							item.checked=false
+					this.total = res.total
+
+					let list = res.result
+					if (list.length > 0) {
+						list.forEach(item => {
+							item.checked = false
 							this.listall.push(item)
 						})
-						if(list.length<10){
-							that.nomore=true
+						if (list.length < 10) {
+							that.nomore = true
 						}
 					}
 				}).catch((err) => {
 					uni.hideLoading()
 					console.log(err)
 				})
-				
+
 			},
 			close() {
 				this.show = false
 			},
-			open(){
+			open() {
+
+			},
+			changeSeach(e){
+				this.keywords=e.detail.value
+				that.pageIndex = 1
+				that.nomore = false
+				that.listall = []
+				this.init()
+			},
+			makeSureSelect() {
+				that.pageIndex = 1
+				that.nomore = false
+				that.listall = []
+				this.init()
+				this.close()
+			},
+			restoreALL() {
+				this.contract_status = 0
 				
 			},
 			choose(title, k) {
 				if (title == "承兑人状态") {
 					this.contract_status = k
-				} 
+					if (k == 2) {
+						this.statusall = 4
+					} else if (k == 1) {
+						this.statusall = 5
+					} else if (k == 0) {
+						this.statusall = 0
+					}
+
+				}
 			},
-			selectDown(){
-				this.editall=false
-				this.quan=false
-				let list=this.listall
-				list.forEach(item=>{
-						item.checked=false
+			selectDown() {
+				this.editall = false
+				this.quan = false
+				let list = this.listall
+				list.forEach(item => {
+					item.checked = false
 				})
 			},
-			checkBox(id){
-				let list=this.listall
-				list.forEach(item=>{
-					if(item.id==id){
-						item.checked=!item.checked
+			checkBox(id) {
+				let list = this.listall
+				list.forEach(item => {
+					if (item.id == id) {
+						item.checked = !item.checked
 					}
 				})
 				this.listall = JSON.parse(JSON.stringify(list))
-				
+
 			},
-			allSelect(){
-				let list=this.listall
-				if(this.quan){
+			allSelect() {
+				let list = this.listall
+				if (this.quan) {
 					list.forEach(item => {
-						item.checked =true
+						item.checked = true
 					})
-				}else{
+				} else {
 					list.forEach(item => {
-						item.checked =false
+						item.checked = false
 					})
 				}
 				this.listall = JSON.parse(JSON.stringify(list))
 			},
-			makeSureAll(){
-				this.quan=!this.quan
+			makeSureAll() {
+				this.quan = !this.quan
 				this.allSelect()
 			},
-			closeEidt(){
-				this.editall=false
+			closeEidt() {
+				this.editall = false
 			},
-			openEidt(){
-				this.editall=true
+			openEidt() {
+				this.editall = true
 			},
-			acpDetail(id){
+			acpDetail(id) {
 				uni.navigateTo({
-					url:"/pages/alldeatil/acptdetail?id="+id
+					url: "/pages/alldeatil/acptdetail?id=" + id
 				})
 			},
-			addAcceptor(){
+			addAcceptor() {
 				uni.navigateTo({
-					url:'/pages/alldeatil/addnewacpt'
+					url: '/pages/alldeatil/addnewacpt'
 				})
 			},
-			deleteAcceptor(){
-					let ids=[]
-					that.listall.forEach(item=>{
-						if(item.checked){
-							ids.push(item.id)
-						}
-					})
-					if(ids.length==0){
-						that.$toast("请选择合同")
-						return
+			deleteAcceptor() {
+				let ids = []
+				that.listall.forEach(item => {
+					if (item.checked) {
+						ids.push(item.id)
 					}
-					uni.showModal({
-						title: '提示',
-						content:"是否批量删除?",
-						success: function (res) {
-								if (res.confirm) {
-									uni.showLoading()
-									uni.$u.http.post('/api/Acceptor/manager',
-									{
-										ids:ids,
-										operateType:1
-									},
-									{
-										custom: {
-											auth: true
-										}
-									}).then((res) => {
-										uni.hideLoading()
-										that.editall=false
-										that.quan=false
-										that.$toast("操作成功")
-										setTimeout(()=>{
-											that.init()
-										},500)
-										
-									}).catch((err) => {
-										uni.hideLoading()
-										that.$toast(err.msg)
-									})
-								
-								} else if (res.cancel) {
-								
+				})
+				if (ids.length == 0) {
+					that.$toast("请选择合同")
+					return
+				}
+				uni.showModal({
+					title: '提示',
+					content: "是否批量删除?",
+					success: function(res) {
+						if (res.confirm) {
+							uni.showLoading()
+							uni.$u.http.post('/api/Acceptor/manager', {
+								ids: ids,
+								operateType: 1
+							}, {
+								custom: {
+									auth: true
 								}
-							}
-					})
-				},
-				backAcceptor(){
-					let ids=[]
-					that.listall.forEach(item=>{
-						if(item.checked){
-							ids.push(item.id)
+							}).then((res) => {
+								uni.hideLoading()
+								that.editall = false
+								that.quan = false
+								that.$toast("操作成功")
+								setTimeout(() => {
+									that.pageIndex = 1
+									that.nomore = false
+									that.listall = []
+									that.init()
+								}, 500)
+
+							}).catch((err) => {
+								uni.hideLoading()
+								that.$toast(err.msg)
+							})
+
+						} else if (res.cancel) {
+
 						}
-					})
-					if(ids.length==0){
-						that.$toast("请选择合同")
-						return
 					}
-					uni.showModal({
-						title: '提示',
-						content:"是否批量复原?",
-						success: function (res) {
-								if (res.confirm) {
-									uni.showLoading()
-									uni.$u.http.post('/api/Acceptor/manager',
-									{
-										ids:ids,
-										operateType:2
-									},
-									{
-										custom: {
-											auth: true
-										}
-									}).then((res) => {
-										uni.hideLoading()
-										that.editall=false
-										that.quan=false
-										that.$toast("操作成功")
-										setTimeout(()=>{
-											that.init()
-										},500)
-										
-									}).catch((err) => {
-										uni.hideLoading()
-										that.$toast(err.msg)
-									})
-								
-								} else if (res.cancel) {
-								
-								}
-							}
-					})
+				})
+			},
+			backAcceptor() {
+				let ids = []
+				that.listall.forEach(item => {
+					if (item.checked) {
+						ids.push(item.id)
+					}
+				})
+				if (ids.length == 0) {
+					that.$toast("请选择合同")
+					return
 				}
+				uni.showModal({
+					title: '提示',
+					content: "是否批量复原?",
+					success: function(res) {
+						if (res.confirm) {
+							uni.showLoading()
+							uni.$u.http.post('/api/Acceptor/manager', {
+								ids: ids,
+								operateType: 2
+							}, {
+								custom: {
+									auth: true
+								}
+							}).then((res) => {
+								uni.hideLoading()
+								that.editall = false
+								that.quan = false
+								that.$toast("操作成功")
+								setTimeout(() => {
+									that.pageIndex = 1
+									that.nomore = false
+									that.listall = []
+									that.init()
+								}, 500)
+
+							}).catch((err) => {
+								uni.hideLoading()
+								that.$toast(err.msg)
+							})
+
+						} else if (res.cancel) {
+
+						}
+					}
+				})
 			}
-		
+		}
+
 	}
 </script>
 
 <style lang="scss">
-	page{
+	page {
 		background-color: #F6F6F6 !important;
 	}
-.headbgbox {
+
+	.headbgbox {
 		background-color: #fff;
 		padding: 23rpx 31rpx;
 		box-sizing: border-box;
@@ -376,9 +411,11 @@
 		align-items: center;
 		justify-content: center;
 	}
-	.acpcardlist{
+
+	.acpcardlist {
 		margin-top: 140rpx;
-		.acpcard{
+
+		.acpcard {
 			flex: 1;
 			// width: 690rpx;
 			height: 333rpx;
@@ -387,50 +424,56 @@
 			background-color: #fff;
 			border-radius: 20rpx;
 			box-shadow: 0px 8rpx 20rpx 1rpx rgba(31, 36, 42, 0.08);
-			.allmsg{
+
+			.allmsg {
 				display: flex;
 				padding: 40rpx 30rpx;
 				box-sizing: border-box;
 				width: 100%;
-				.cicle{
+
+				.cicle {
 					width: 28rpx;
 					height: 28rpx;
 					border-radius: 50%;
 					background-color: #D8AB5A;
 					margin-top: 8rpx;
 				}
-				.acpcont{
+
+				.acpcont {
 					margin-left: 20rpx;
-					    width: 100%;
-					.acpname{
+					width: 100%;
+
+					.acpname {
 						box-sizing: border-box;
 						display: flex;
 						align-items: center;
-						
+
 						padding-bottom: 30rpx;
-					  flex-grow: 1;
+						flex-grow: 1;
 						width: 100%;
 						// width: 572rpx;
 						font-size: 42rpx;
 						font-weight: 600;
-						.tagdel{
+
+						.tagdel {
 							margin-left: 10rpx;
 							width: 80rpx;
-							height:36rpx;
+							height: 36rpx;
 							border-radius: 10rpx;
-							background-color: rgb(241,206,195);
+							background-color: rgb(241, 206, 195);
 							font-size: 24rpx;
 							font-weight: 400;
-							color:  rgb(213,109,77);
+							color: rgb(213, 109, 77);
 							line-height: 36rpx;
 							text-align: center;
 						}
-						.tag{
+
+						.tag {
 							margin-left: 10rpx;
 							width: 80rpx;
-							height:36rpx;
+							height: 36rpx;
 							border-radius: 10rpx;
-							background-color: rgb(232,222,203);
+							background-color: rgb(232, 222, 203);
 							font-size: 24rpx;
 							font-weight: 400;
 							color: #D8AB5A;
@@ -439,7 +482,8 @@
 						}
 					}
 				}
-				.acpinfo{
+
+				.acpinfo {
 					border-top: 1rpx solid #E8E8E8;
 					display: flex;
 					flex: 1;
@@ -448,13 +492,15 @@
 					color: #BEBDBB;
 					justify-content: space-between;
 					box-sizing: border-box;
-					.pt{
+
+					.pt {
 						padding-top: 20rpx;
 					}
 				}
 			}
 		}
 	}
+
 	.totalmanage {
 		margin-top: 90rpx;
 		margin-bottom: 100rpx;
@@ -466,17 +512,17 @@
 		width: 100%;
 		padding: 0 30rpx;
 		box-sizing: border-box;
-	
+
 		.managebox {
 			width: 23.8rpx;
 			height: 29.7rpx;
-	
+
 			image {
 				width: 100%;
 				height: 100%;
 			}
 		}
-	
+
 		.maboxtitls {
 			width: 160rpx;
 			height: 60rpx;
@@ -491,16 +537,16 @@
 			// align-items: center;
 		}
 	}
-	.plusicon{
+
+	.plusicon {
 		position: fixed;
 		left: 0;
 		right: 0;
 		margin: 0 auto;
-		bottom:110rpx;
+		bottom: 110rpx;
 		width: 150rpx;
 		height: 150rpx;
 		background: url("@/static/img/plusicon.png") no-repeat;
 		background-size: 150rpx 150rpx;
 	}
-	
 </style>

+ 278 - 118
pages/alldeatil/addbill.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -1,10 +1,61 @@
 <template>
 	<view class="content">
+	<!-- 	<view class="listitem">
+			<text class="lys">合同名称</text>
+			<view class="inbox">
+				<input type="text" v-model="form.name" placeholder="请输入合同的名称" placeholder-style="color:#BEBDBB" />
+			</view>
+		</view> -->
+		<!-- 	<view class="listitem">
+			<text class="lys">合同编号</text>
+			<view class="inbox flex2">
+				<input type="text" v-model="form.tax_no" placeholder="请输入合同的编号" placeholder-style="color:#BEBDBB" />
+				<view class="flex7">
+					<text style="color: #E8E8E8;">|</text>
+					<text style="padding-left: 20rpx;display: block;">待确认</text>
+				</view>
+			</view>
+		</view> -->
+<!-- 		<view class="listitem">
+			<view class="" style="display: flex;align-content: center;">
+				<text class="lys">合同附件</text>
+				<text
+					style="font-size: 24rpx; color:#D05C39;padding-top: 45rpx;padding-left: 20rpx;">*支持上传pdf、jpg/jpeg、png格式</text>
+			</view>
+
+			<view class="inbox" style="border: none;padding-bottom: 0">
+				<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple
+					:maxCount="10" width="100" height="100"></u-upload>
+			</view>
+		</view>
+		<view class="listitem" style="border: none;">
+			<view class="" style="display: flex;align-content: center;">
+				<text class="lys">发票附件</text>
+				<text
+					style="font-size: 24rpx; color:#D05C39;padding-top: 45rpx;padding-left: 20rpx;">*支持上传pdf、jpg/jpeg、png格式</text>
+			</view>
+
+			<view class="inbox" style="border: none;padding-bottom: 0">
+				<u-upload :fileList="fileList2" @afterRead="afterRead" @delete="deletePic" name="2" multiple
+					:maxCount="10" width="100" height="100"></u-upload>
+			</view>
+		</view>
+		<view class="listitem">
+			<view class="" style="display: flex;align-content: center;">
+				<text class="lys">贸易合同</text>
+				<text
+					style="font-size: 24rpx; color:#D05C39;padding-top: 45rpx;padding-left: 20rpx;">*支持上传pdf、jpg/jpeg、png格式</text>
+			</view>
 
+			<view class="inbox" style="border: none;padding-bottom: 0">
+				<u-upload :fileList="fileList3" @afterRead="afterRead" @delete="deletePic" name="3" multiple
+					:maxCount="10" width="100" height="100"></u-upload>
+			</view>
+		</view> -->
 		<view v-for="(item,index) in form.contractDrafts" :key="index">
 			<view class="addtitle flex6">
 				<text class="ty">汇票{{index+1}}</text>
-				<text class="tde" @click="deleBill(index)">删除</text>
+				<text class="tde" @click="deleBill" v-if="index>0">删除</text>
 			</view>
 			<view class="listitem">
 				<text class="lys">汇票名称</text>
@@ -16,28 +67,28 @@
 				<text class="lys">汇票号码</text>
 				<view class="inbox">
 					<input type="text" v-model="item.draftNo" placeholder="请输入汇票的号码"
-						placeholder-style="color:#BEBDBB" />
+						placeholder-style="color:#BEBDBB"/>
 				</view>
 			</view>
 			<view class="listitem">
-				<text class="lys">兑人</text>
-				<view class="chosbox">
+				<text class="lys">兑人</text>
+				<view class="chosbox" @click="checkacptIndex(index)">
 					<uni-data-select v-model="item.acceptor" :localdata="range1" @change="changeacPerson"
-						:showas="false" :plname="'搜索兑换人名称'"></uni-data-select>
+						:showas="false" :plname="'搜索兑换人名称'"  @search="searchAcceptor"></uni-data-select>
 				</view>
 			</view>
 			<view class="listitem">
 				<text class="lys">出票人</text>
-				<view class="chosbox">
+				<view class="chosbox" @click="checkldrwIndex(index)">
 					<uni-data-select v-model="item.drawers" :localdata="range2" @change="changedrPerson"
-						:plname="'搜索出票人名称'"></uni-data-select>
+						:plname="'搜索出票人名称'" @search="searchDrawers"></uni-data-select>
 				</view>
 			</view>
 			<view class="listitem">
 				<text class="lys">金额</text>
 				<view class="inbox">
 					<input type="digit" v-model="item.money" placeholder="请输入汇票的金额" placeholder-style="color:#BEBDBB"
-						@blur="getMoney" @input="getMoneyIndex(index)" />
+						@input="getMoney" @blur="getMoneyIndex(index)" />
 				</view>
 			</view>
 			<view class="listitem">
@@ -90,7 +141,7 @@
 					<view class="inbox">
 						<input type="digit" v-model="item.serviceRate" placeholder="显示对于费率"
 							placeholder-style="color:#BEBDBB" @blur="getserviceRate"
-							@input="getserviceRateIndex(index)" />
+							@input="getserviceRateIndex(index)" disabled="true"/>
 					</view>
 				</view>
 				<view class="listitem">
@@ -108,7 +159,7 @@
 					<view class="inbox">
 						<input type="digit" v-model="item.interestRate" placeholder="显示对于利率"
 							placeholder-style="color:#BEBDBB" @blur="getinterestRate"
-							@input="getinterestRateIndex(index)" />
+							@input="getinterestRateIndex(index)" disabled="true"/>
 					</view>
 				</view>
 				<view class="listitem">
@@ -126,17 +177,18 @@
 						style="font-size: 24rpx; color:#D05C39;padding-top: 45rpx;padding-left: 20rpx;">*支持上传pdf、jpg/jpeg、png格式</text>
 				</view>
 
-				<view class="inbox" style="border: none;padding-bottom: 0;" @click="checkIndex(index)">
+				<view class="inbox" style="border: none;padding-bottom: 0;"  @click="checkIndex(index)">
 					<u-upload :fileList="item.picUrling" @afterRead="afterRead" @delete="deletePic" :name="index+4"
-						multiple :maxCount="10" width="100" height="100"></u-upload>
+				:checkedindex=index		multiple :maxCount="10" width="100" height="100"></u-upload>
 				</view>
 			</view>
 		</view>
+
 		<view class="addnewbill" @click="addNewBill">
 			+ 新增汇票
 		</view>
 		<view class="safebt"></view>
-		<view class="newbill flex1">
+		<view class="newbill flex1" @click="upAll">
 			<view class="newbillbtn">
 				<text>确认上传</text>
 			</view>
@@ -172,6 +224,8 @@
 				fileList3: [],
 				fileList4: [],
 				allindex: 0,
+				seacept:'',
+				seadra:'',
 				form: {
 					name: '',
 					supplierId: '',
@@ -192,14 +246,14 @@
 						loanLimit: '',
 						expectDiscountDate: '',
 						picUrls: [],
-						picUrling: [],
+						picUrling:[],
 						serviceRate: '',
 						interestRate: '',
 						interest: '',
 						serviceMoney: '',
 						limitTime: 0,
 						expectDiscountDateTime: 0,
-						expectDiscountDate: 0
+						acceptDateTime: 0
 					}, ],
 				},
 
@@ -207,29 +261,27 @@
 				range2: [],
 				myindex: 0,
 				sindex: 0,
-				rindex: 0
+				rindex: 0,
+				acptIndex:0,
+				drwIndex:0
 			}
 		},
 		onLoad() {
 			that = this
-			if(o.obj){
-				this.form.contractDrafts=JSON.parse(o.obj)
-			}
-			this.init()
+			
 			this.form.supplierId = uni.getStorageSync('supplierId')
 			// console.log(this.form.supplierId,778)
 			this.loadTime()
 
 		},
-		onshow(){
-			
+		onShow(){
+			this.initAcceptor()
+			this.initDrawers()
 		},
 		methods: {
 			loadTime() {
 				let myDate = new Date()
-				// let wk = Date.parse(new Date());
-				let wk = myDate.getTime()
-				console.log(wk)
+				let wk =parseInt(Date.now()/100000).toFixed(0)*100000
 				let yy = String(myDate.getFullYear())
 				// let mm = myDate.getMonth() + 1
 				let mm = String(myDate.getMonth() + 1 < 10 ? '0' + (myDate.getMonth() + 1) : myDate.getMonth() + 1)
@@ -241,15 +293,19 @@
 					item.expireDate = nowDate
 					item.expectDiscountDate = nowDate
 					item.expectDiscountDateTime = wk
-					item.issueDateTime = wk
-					let nTime = item.expectDiscountDateTime - item.issueDateTime
-					item.limitTime = Math.floor(nTime / 86400000) + 1;
+					item.acceptDateTime = wk
+					let nTime = item.acceptDateTime-item.expectDiscountDateTime
+					item.limitTime = Math.floor(nTime / 86400000);
 				})
 			},
-			init() {
+			
+			
+			initAcceptor(){
 				// 承兑人列表
-				uni.$u.http.post('/api/Acceptor/search', {
-
+				uni.$u.http.post('/api/Acceptor/search',{
+					name:this.seacept
+				},{
+				
 				}, {
 					custom: {
 						auth: true
@@ -258,16 +314,18 @@
 					uni.hideLoading()
 					this.range1 = res.result
 					// for(let i in this.range1){
-
+				
 					// }
 					this.range1.forEach((item, index) => {
 						this.range1[index].value = index
 						this.range1[index].text = item.name
 					})
 				}).catch((err) => {})
+			},
+			initDrawers(){
 				// 出票人列表
 				uni.$u.http.post('/api/Drawer/search', {
-
+						name:this.seadra
 				}, {
 					custom: {
 						auth: true
@@ -281,12 +339,26 @@
 					})
 				}).catch((err) => {})
 			},
+			searchAcceptor(e){
+				this.seacept=e
+				this.initAcceptor()
+			},
+			searchDrawers(e){
+				this.seadra=e
+				this.initDrawers()
+			},
+			checkacptIndex(index){
+				this.acptIndex=index
+			},
+			checkldrwIndex(index){
+				this.drwIndex=index
+			},
 			deleBill(index){
 				uni.showModal({
 					title:"提示",
 					content:"是否确认删除?",
 					success:(res)=>{
-						if (res.confirm) {
+						if(res.confirm){
 							that.form.contractDrafts.splice(index,1)
 						}
 						
@@ -357,7 +429,22 @@
 					success: function(res) {
 						if (res.confirm) {
 							let form = that.form
-			
+							// if (form.name.length == 0) {
+							// 	that.$toast('请输入合同名称')
+							// 	return
+							// }
+							// if (that.fileList1.length == 0) {
+							// 	that.$toast('请上传合同附件')
+							// 	return
+							// }
+							// if (that.fileList2.length == 0) {
+							// 	that.$toast('请上传发票附件')
+							// 	return
+							// }
+							// if (that.fileList3.length == 0) {
+							// 	that.$toast('请上贸易合同')
+							// 	return
+							// }
 							form.contractDrafts.forEach(i => {
 								if (i.name.length == 0) {
 									that.$toast('请输入汇票名称')
@@ -379,7 +466,7 @@
 									that.$toast('请输入金额')
 									return
 								}
-								
+
 								if (i.serviceRate.length == 0) {
 									that.$toast('请输入服务费率')
 									return
@@ -394,20 +481,29 @@
 								}
 
 							})
-							that.range2.forEach(item => {
-								form.contractDrafts.forEach(i => {
-									if (that.range2[i.drawers].name == item.name) {
-										i.drawersId = item.id
-									}
-								})
-							})
-							that.range1.forEach(item => {
-								form.contractDrafts.forEach(i => {
-									if (that.range1[i.acceptor].name == item.name) {
-										i.acceptorId = item.id
-									}
-								})
-							})
+							// that.range2.forEach(item => {
+							// 	form.contractDrafts.forEach(i => {
+							// 		if (that.range2[i.drawers].name == item.name) {
+							// 			i.drawersId = item.id
+							// 		}
+							// 	})
+							// })
+							// that.range1.forEach(item => {
+							// 	form.contractDrafts.forEach(i => {
+							// 		if (that.range1[i.acceptor].name == item.name) {
+							// 			i.acceptorId = item.id
+							// 		}
+							// 	})
+							// })
+							// that.fileList1.forEach(item => {
+							// 	form.invoicePics.push(item.url)
+							// })
+							// that.fileList2.forEach(item => {
+							// 	form.pics.push(item.url)
+							// })
+							// that.fileList3.forEach(item => {
+							// 	form.tradePics.push(item.url)
+							// })
 							form.contractDrafts.forEach(item=>{
 								item.picUrling.forEach(i=>{
 									item.picUrls.push(i.url)
@@ -420,10 +516,22 @@
 								}
 							}).then((res) => {
 								uni.hideLoading()
-								that.$toast("合同上传成功")
+								that.$toast("汇票上传成功")
+								that.form.invoicePics = []
+								that.form.pics = []
+								that.form.tradePics = []
+								that.form.contractDrafts.forEach(item => {
+									item.picUrls = []
+								})
 							}).catch((err) => {
 								uni.hideLoading()
 								that.$toast(err.msg)
+								that.form.invoicePics=[]
+								that.form.pics=[]
+								that.form.tradePics=[]
+								that.form.contractDrafts.forEach(item=>{
+										item.picUrls=[]
+								})
 								console.log(err)
 							})
 						} else if (res.cancel) {}
@@ -446,18 +554,18 @@
 					loanLimit: '',
 					expectDiscountDate: '',
 					picUrls: [],
-					picUrling: [],
+					picUrling:[],
 					serviceRate: '',
 					interestRate: '',
 					interest: '',
 					serviceMoney: '',
 					limitTime: 0,
 					expectDiscountDateTime: 0,
-					expectDiscountDate: 0
+					acceptDateTime: 0
 				}]
 				let myDate = new Date()
 				// let wk = Date.parse(new Date());
-				let wk = myDate.getTime()
+				let wk = Date.parse(new Date())
 				console.log(wk)
 				let yy = String(myDate.getFullYear())
 				// let mm = myDate.getMonth() + 1
@@ -470,22 +578,52 @@
 					item.expireDate = nowDate
 					item.expectDiscountDate = nowDate
 					item.expectDiscountDateTime = wk
-					item.issueDateTime = wk
-					let nTime = item.expectDiscountDateTime - item.issueDateTime
-					item.limitTime = Math.floor(nTime / 86400000) + 1;
+					item.acceptDateTime = wk
+					let nTime =item.acceptDateTime- item.expectDiscountDateTime
+					item.limitTime = Math.floor(nTime / 86400000) ;
 				})
 				this.form.contractDrafts.push(form[0])
 			},
 			changeacPerson(e) {
+				console.log(e,88)
 				this.acceptor = e
+				for(let i in this.range1){
+					if(i==e){
+						this.form.contractDrafts[this.acptIndex].acceptorId=this.range1[i].id
+						this.form.contractDrafts[this.acptIndex].serviceRate=this.range1[i].serviceRate
+						this.form.contractDrafts[this.acptIndex].interestRate=this.range1[i].interest
+						this.form.contractDrafts[this.acptIndex].acceptor=this.range1[i].name
+					}
+				}
+				this.range1.forEach(item=>{
+					if(item.id==e.id){
+						
+					}
+				})
+				
+				// console.log(e)
+				
 			},
 			changedrPerson(e) {
 				this.drawers = e
+				for(let i in this.range2){
+					if(i==e){
+						this.form.contractDrafts[this.acptIndex].drawersId=this.range2[i].id
+						this.form.contractDrafts[this.acptIndex].drawers=this.range2[i].name
+					}
+				}
+				// this.range2.forEach(item=>{
+				// 	if(item.id==e.id){
+				// 		this.form.contractDrafts[this.drwIndex].drawersId=e.id
+				// 		this.form.contractDrafts[this.drwIndex].drawers=e.name
+				// 	}
+				// })
 			},
 			openTime(index, value) {
 				this.dateshow = true
 				this.index = index
 				this.opdanum = value
+				
 			},
 			closeDate() {
 				this.dateshow = false
@@ -494,17 +632,40 @@
 				const timeFormat = uni.$u.timeFormat
 				let form = this.form.contractDrafts
 				if (this.opdanum == 1) {
+					let ino =parseInt(e.value/10000).toFixed(0)*10000
+					form[this.index].acceptDateTime = ino
+					let nTime =form[this.index].acceptDateTime- form[this.index].expectDiscountDateTime
+					let limitTime=Math.floor(nTime / 86400000)
+					console.log(form[this.index].acceptDateTime,88)
+					console.log(form[this.index].expectDiscountDateTime,88)
+					console.log(limitTime,88)
+					if(limitTime<=-1){
+						this.$toast('承兑日期应该大于预计贴现日')
+						return
+					}
+					form[this.index].limitTime =limitTime
 					form[this.index].acceptDate = timeFormat(e.value, 'yyyy-mm-dd')
+					this.getloanLimt(this.index)
+					this.getSerMoney(this.index)
+					this.getInterMoney(this.index)
 				} else if (this.opdanum == 2) {
-					form[this.index].issueDateTime = e.value
+
 					form[this.index].issueDate = timeFormat(e.value, 'yyyy-mm-dd')
 				} else if (this.opdanum == 3) {
 					form[this.index].expireDate = timeFormat(e.value, 'yyyy-mm-dd')
 				} else if (this.opdanum == 4) {
 					form[this.index].expectDiscountDateTime = e.value
-					let nTime = form[this.index].expectDiscountDateTime - form[this.index].issueDateTime
-					form[this.index].limitTime = Math.floor(nTime / 86400000) + 1;
+					let nTime =form[this.index].acceptDateTime- form[this.index].expectDiscountDateTime
+					let limitTime=Math.floor(nTime / 86400000)
+					if(limitTime<=-1){
+						this.$toast('预计贴现日应该小于承兑日期')
+						return
+					}
+					form[this.index].limitTime =limitTime
 					form[this.index].expectDiscountDate = timeFormat(e.value, 'yyyy-mm-dd')
+					this.getloanLimt(this.index)
+					this.getSerMoney(this.index)
+					this.getInterMoney(this.index)
 				}
 				// console.log(this.index, this.opdanum)
 				this.dateshow = false
@@ -526,9 +687,11 @@
 				console.log(index)
 			},
 			// 删除图片
-			deletePic(event) {
-				if (event.name == 4) {
-					this.form.contractDrafts[this.allindex].picUrling.splice(event.index, 1)
+			async deletePic(event) {
+				// this.checkIndex(index) 
+				console.log(this.allindex,789)
+				if (event.name >= 4) {
+					 this.form.contractDrafts[this.allindex].picUrling.splice(event.index, 1)
 				} else {
 					this[`fileList${event.name}`].splice(event.index, 1)
 				}
@@ -539,8 +702,9 @@
 				// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
 
 				if (event.name >= 4) {
+					console.log(2222222222999)
 					let lists = [].concat(event.file)
-					let icurls = this.form.contractDrafts[this.allindex].picUrling
+					let icurls= this.form.contractDrafts[this.allindex].picUrling
 					let fileListLen = icurls.length
 					lists.map((item) => {
 						icurls.push({
@@ -551,72 +715,68 @@
 					})
 					for (let i = 0; i < lists.length; i++) {
 						const result = await this.uploadFilePromise(lists[i].url)
-						let obj = {
-
-						}
-						console.log(result)
+						// this.form.contractDrafts[this.allindex].picUrls.push(result)
 						let item = icurls[fileListLen]
 						icurls.splice(fileListLen, 1, Object.assign(item, {
 							status: 'success',
 							message: '',
 							url: result
 						}))
-
+						
 						fileListLen++
-					}
-
-
-				} else {
-					let lists = [].concat(event.file)
-					let fileListLen = this[`fileList${event.name}`].length
-					lists.map((item) => {
-						this[`fileList${event.name}`].push({
-							...item,
-							status: 'uploading',
-							message: '上传中'
+					} 
+		
+				
+					}else {
+						console.log(2222222222)
+						let lists = [].concat(event.file)
+						let fileListLen = this[`fileList${event.name}`].length
+						lists.map((item) => {
+							this[`fileList${event.name}`].push({
+								...item,
+								status: 'uploading',
+								message: '上传中'
+							})
 						})
-					})
-					for (let i = 0; i < lists.length; i++) {
-						const result = await this.uploadFilePromise(lists[i].url)
-						let item = this[`fileList${event.name}`][fileListLen]
-						this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
-							status: 'success',
-							message: '',
-							url: result
-						}))
-						fileListLen++
-					}
-
-
-				}
-			},
-			uploadFilePromise(url) {
-				return new Promise((resolve, reject) => {
-					let a = uni.uploadFile({
-						url: mainUrl + '/api/File', // 仅为示例,非真实的接口地址
-						filePath: url,
-						name: 'File',
-						header: {
-							"User-Agent": "apifox/1.0.0 (https://www.apifox.cn)"
-						},
-						formData: {
-							File: JSON.stringify(url),
-						},
-						success: (res) => {
-							console.log(res)
-							let request = JSON.parse(res.data)
-							setTimeout(() => {
-								resolve(request.data.file)
-							}, 1000)
+						for (let i = 0; i < lists.length; i++) {
+							const result = await this.uploadFilePromise(lists[i].url)
+							let item = this[`fileList${event.name}`][fileListLen]
+							this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
+								status: 'success',
+								message: '',
+								url: result
+							}))
+							fileListLen++
 						}
-					});
-				})
-			},
+						
+
+					}
+				},
+				uploadFilePromise(url) {
+					return new Promise((resolve, reject) => {
+						let a = uni.uploadFile({
+							url: mainUrl + '/api/File', // 仅为示例,非真实的接口地址
+							filePath: url,
+							name: 'File',
+							header: {
+								"User-Agent": "apifox/1.0.0 (https://www.apifox.cn)"
+							},
+							formData: {
+								File: JSON.stringify(url),
+							},
+							success: (res) => {
+								let request = JSON.parse(res.data)
+								setTimeout(() => {
+									resolve(request.data.file)
+								}, 1000)
+							}
+						});
+					})
+				},
+			}
 		}
-	}
 </script>
 
-
 <style lang="scss">
 	.content {
 		padding: 0 30rpx;

+ 225 - 15
pages/alldeatil/billdetail.vue

xqd xqd xqd xqd xqd
@@ -42,7 +42,7 @@
 
 				<view class="titleall bod">
 					<text class="pl">服务费率</text>
-					<text class="pr">{{msg.serviceRate?msg.serviceRate:''}}%</text>
+					<text class="pr">{{msg.serviceRate?msg.serviceRate:''}}</text>
 				</view>
 				<view class="titleall" style="padding-top: 30rpx !important; ">
 					<text class="pl">服务费</text>
@@ -60,39 +60,47 @@
 					<text class="pl">发票附件</text>
 					<view class="uppic">
 						<view class="picbox"  v-for="item in msg.picList">
-							<image :src="item" mode="aspectFill"></image>
+							<image :src="item" mode="aspectFill" @click="prviewPic(item)"></image>
 						</view>
 					</view>
 				</view>
 				<view class="titleall ptin">
-					<text class="pl">合同状态</text>
+					<text class="pl">汇票状态</text>
 					<text class="pr cls">{{msg.statusText}}</text>
 				</view>
-				<view class="titleall " v-if="msg.statusText=='待审核'"   style="display: flex;flex-direction: column;">
+				<view class="titleall "    style="display: flex;flex-direction: column;">
 					<text class="pl">审核反馈</text>
-					<textarea placeholder="请输入审核反馈" style="background-color: #F6F6F6;width: 675rpx;height: 200rpx;border-radius: 20rpx;padding: 20rpx;box-sizing: border-box;margin:20rpx 0;margin-bottom: 30rpx;"></textarea>
+					<textarea :placeholder="placehodertitle" style="background-color: #F6F6F6;width: 675rpx;height: 200rpx;border-radius: 20rpx;padding: 20rpx;box-sizing: border-box;margin:20rpx 0;margin-bottom: 30rpx;" v-model="feedback" :disabled="disabled"></textarea>
 				</view>
-				<view class="titleall " v-else>
+				<!-- <view class="titleall " v-else>
 					<text class="pl">审核反馈</text>
-					<text class="pr plas cls">汇票金额与实际不符,请修改后重新提交</text>
-				</view>
+					<view >
+						<textarea placeholder="请输入审核反馈"
+							style="background-color: #F6F6F6;width: 540rpx;height: 200rpx;border-radius: 20rpx;padding: 20rpx;box-sizing: border-box;margin:20rpx 0;margin-bottom: 30rpx;margin-top: 0;"
+							v-model="feedback" disabled></textarea>
+					</view>
+				</view> -->
 				
 				<view class="titleall " style="justify-content: flex-start;">
 					<text class="pl psa ">反馈截图</text>
 					<view class="fanuppic">
-						<view class="picbox">
+						<view class="picbox"  v-if="state==0">
 							<u-upload :fileList="fileList4" @afterRead="afterRead" @delete="deletePic" name="4" multiple
-								:maxCount="6" ></u-upload>
+								:maxCount="6" :disabled="disabled" :deletable="delablepic"></u-upload>
+						</view>
+						<view class="picbox"  v-if="state==1">
+							<u-upload :fileList="fileList4" @afterRead="afterRead" @delete="deletePic" name="4" multiple
+								:maxCount="fileList4.length" :disabled="disabled" :deletable="delablepic"></u-upload>
 						</view>
 					</view>
 				</view>
 			</view>
 		</view>
 		<view style="width: 100%;height: 140rpx;"></view>
-		<view class="newbill flex1"  v-if="msg.statusText=='待审核'&&state==0">
+		<view class="newbill flex1"  v-if="state==0">
 		<view class="choosebtn">
-			<view class="delbtn flex1">审核失败</view>
-			<view class="succbtn flex1">审核成功</view>
+			<view class="delbtn flex1" @click="examineFail()">审核失败</view>
+			<view class="succbtn flex1" @click="examineSuccess()">审核成功</view>
 		</view>
 		
 		</view>
@@ -105,17 +113,31 @@
 </template>
 
 <script>
+	let that
+	import {
+		mainUrl
+	} from '@/http/baseUrl.js';
 	export default {
 		data() {
 			return {
 				id:'',
 				msg:'',
 				index:'',
-				state:0
+				state:0,
+				fileList4:[],
+				feedback:'',
+				disabled:false,
+				delablepic:true,
+				placehodertitle:'请输入审核反馈'
 			}
 		},
 		onLoad(o) {
+			that=this
 			this.state = this.$store.state.admin
+			if(this.state==1){
+				this.disabled=true
+				this.delablepic=false
+			}
 			if(o.obj){
 				let obj=JSON.parse(o.obj)
 				this.id=obj.id
@@ -135,11 +157,43 @@
 					}).then((res) => {
 					uni.hideLoading()
 					this.msg=res
+					if(res.feedbackPicList){
+						const newData4 = res.feedbackPicList.map((item) => {
+							return {
+								url: item,
+							}
+						})
+						
+						this.fileList4 = newData4
+					}
+					if(this.state==1){
+						if(res.feedback.length>0){
+							this.feedback=res.feedback
+						}else{
+							this.feedback="无"
+						}
+					}else{
+						if(res.feedback.length>0){
+							this.feedback=res.feedback
+						}else{
+							this.placehodertitle="请输入审核反馈"
+						}
+					}
+					
+					
+					
 				}).catch((err) => {
 					uni.hideLoading()
 					this.$toast(err.msg)
 				})
 			},
+			prviewPic(item) {
+				let pics=[]
+				pics.push(item)
+				uni.previewImage({
+					urls: pics,
+				});
+			},
 			tryAgain(){
 				let obj=[
 					this.msg
@@ -147,8 +201,164 @@
 				uni.navigateTo({
 					url:"/pages/alldeatil/addbill?obj="+JSON.stringify(obj)
 				})
-			}
+			},
+			examineSuccess() {
+				// let ids = []
+				// ids.push(this.id)
+			
+				
+				uni.showModal({
+					title: '提示',
+					content: "是否审核成功?",
+					success: function(res) {
+						if (res.confirm) {
+							
+							let form={
+								id:Number(that.id),
+								approveStatus: 1
+							}
+							if(that.fileList4.length>0){
+								let feedbackPicList=[]
+								that.fileList4.forEach(item=>{
+									feedbackPicList.push(item.url)
+								})
+								form.feedbackPicList=feedbackPicList
+							}
+							let feedback=that.feedback
+							if(feedback.length>0){
+								form.feedback=feedback
+							}
+							// ={
+							// 	feedback:feedback,
+							// 	feedbackPicList:feedbackPicList
+							// }
+							uni.showLoading()
+							uni.$u.http.post('api/Contract/approveContractDraft',form, {
+								custom: {
+									auth: true
+								}
+							}).then((res) => {
+								uni.hideLoading()
+								that.editall = false
+								that.quan = false
+								that.$toast("操作成功")
+								setTimeout(() => {
+									that.init()
+								}, 500)
+			
+							}).catch((err) => {
+								uni.hideLoading()
+								that.$toast(err.msg)
+							})
+			
+						} else if (res.cancel) {
+			
+						}
+					}
+				})
+			
+			},
+			examineFail() {
+				uni.showModal({
+					title: '提示',
+					content: "是否审核成功?",
+					success: function(res) {
+						if (res.confirm) {
+							
+							let form={
+								id:Number(that.id),
+								approveStatus: 2
+							}
+							if(that.fileList4.length>0){
+								let feedbackPicList=[]
+								that.fileList4.forEach(item=>{
+									feedbackPicList.push(item.url)
+								})
+								form.feedbackPicList=feedbackPicList
+							}
+							let feedback=that.feedback
+							if(feedback.length>0){
+								form.feedback=feedback
+							}
+							// ={
+							// 	feedback:feedback,
+							// 	feedbackPicList:feedbackPicList
+							// }
+							uni.showLoading()
+							uni.$u.http.post('api/Contract/approveContractDraft',form, {
+								custom: {
+									auth: true
+								}
+							}).then((res) => {
+								uni.hideLoading()
+								that.editall = false
+								that.quan = false
+								that.$toast("操作成功")
+								setTimeout(() => {
+									that.init()
+								}, 500)
+				
+							}).catch((err) => {
+								uni.hideLoading()
+								that.$toast(err.msg)
+							})
+				
+						} else if (res.cancel) {
+				
+						}
+					}
+				})
+				
 			
+			},
+			// 删除图片
+			deletePic(event) {
+				this[`fileList${event.name}`].splice(event.index, 1)
+			},
+			// 新增图片
+			async afterRead(event) {
+				// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
+				let lists = [].concat(event.file)
+				let fileListLen = this[`fileList${event.name}`].length
+				lists.map((item) => {
+					this[`fileList${event.name}`].push({
+						...item,
+						status: 'uploading',
+						message: '上传中'
+					})
+				})
+				for (let i = 0; i < lists.length; i++) {
+					const result = await this.uploadFilePromise(lists[i].url)
+					let item = this[`fileList${event.name}`][fileListLen]
+					this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
+						status: 'success',
+						message: '',
+						url: result
+					}))
+					fileListLen++
+				}
+			},
+			uploadFilePromise(url) {
+				return new Promise((resolve, reject) => {
+					let a = uni.uploadFile({
+						url:mainUrl + '/api/File', // 仅为示例,非真实的接口地址
+						filePath: url,
+						name: 'File',
+						header: {
+							"User-Agent": "apifox/1.0.0 (https://www.apifox.cn)"
+						},
+						formData: {
+							File: JSON.stringify(url),
+						},
+						success: (res) => {
+							let request = JSON.parse(res.data)
+							setTimeout(() => {
+								resolve(request.data.file)
+							}, 1000)
+						}
+					});
+				})
+			},
 		}
 	}
 </script>

+ 225 - 50
pages/alldeatil/contractdetail.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -39,20 +39,26 @@
 					<text v-if="msg.statusText=='已删除'" :style="{'color':'#1F242A'}">{{msg.statusText}}</text>
 					<text v-if="msg.statusText=='成功'" :style="{'color':'#D8AB5A'}">{{msg.statusText}}</text>
 				</view>
-				<view class="">
+				<view class="" >
 					<view class="tipup " style="display: flex;flex-direction: column;">
 						<text class="yu">审核反馈</text>
 						<view>
-							<textarea placeholder="请输入审核反馈"
+							<textarea :placeholder="placehodertitle"
 								style="background-color: #F6F6F6;width: 640rpx;height: 200rpx;border-radius: 20rpx;padding: 20rpx;box-sizing: border-box;margin:20rpx 0;margin-bottom: 30rpx;"
-								v-model="fankui"></textarea>
+								v-model="feedback" :disabled="disabled"></textarea>
 						</view>
 					</view>
 					<view class="tipup">
 						<text class="yu">反馈截图</text>
-						<view class="upbox" style="margin-bottom: 30rpx;">
+						<view class="upbox" style="margin-bottom: 30rpx;"  v-if="state==0">
 							<u-upload :fileList="fileList4" @afterRead="afterRead" @delete="deletePic" name="4" multiple
-								:maxCount="6"></u-upload>
+								:maxCount="6" :disabled="disabled" :deletable="delablepic"></u-upload>
+								
+						</view>
+						<view class="upbox" style="margin-bottom: 30rpx;" v-if="state==1">
+							<u-upload :fileList="fileList4" @afterRead="afterRead" @delete="deletePic" name="4" multiple
+								:maxCount="fileList4.length"  :deletable="delablepic"></u-upload>
+								
 						</view>
 					</view>
 				</view>
@@ -98,19 +104,24 @@
 		<view style="padding-bottom:150rpx;"></view>
 		<view class="safebt"></view>
 
-		<view class="newbill flex1" @click="addBill" v-if="state==1">
-			<view class="newbillbtn">
+		<view class="newbill flex1" v-if="state==1&&!msg.statusText=='失败'" >
+			<view class="newbillbtn"  @click="addBill">
 				<text>新增汇票</text>
 			</view>
 
 		</view>
-		<view class="newbill flex1" v-if="state==0&&msg.statusText=='待审核'">
+		<view class="newbill flex1" v-if="state==0">
 			<view class="choosebtn">
 				<view class="delbtn flex1" @click="examineFail()">审核失败</view>
-				<view class="succbtn flex1" @click="examineSuccess">审核成功</view>
+				<view class="succbtn flex1" @click="examineSuccess()">审核成功</view>
 			</view>
 
 		</view>
+		<view class="newbill flex1"  v-if="msg.statusText=='失败'&&state==1">
+			<view class="newbillbtn" @click="tryAgain">
+				<text>重新提交</text>
+			</view>
+		</view>
 		<!-- 底部删除 -->
 		<u-popup :show="editall&&state==1" @close="closeEidt" @open="openEidt" :overlay="false">
 			<view class="editbox">
@@ -154,6 +165,9 @@
 
 <script>
 	let that
+	import {
+		mainUrl
+	} from '@/http/baseUrl.js';
 	export default {
 		data() {
 			return {
@@ -166,7 +180,11 @@
 				fileList4: [],
 				msg: '',
 				id: '',
-				fankui: ''
+				fankui: '',
+				feedback:'',
+				disabled:false,
+				delablepic:true,
+				placehodertitle:'请输入审核反馈'
 			}
 		},
 		onLoad(o) {
@@ -175,6 +193,13 @@
 				this.id = o.id
 			}
 			this.state = this.$store.state.admin
+			if(this.state==1){
+				this.disabled=true
+				this.delablepic=false
+			}
+			
+		},
+		onShow() {
 			this.init()
 		},
 		methods: {
@@ -195,9 +220,7 @@
 							url: item,
 						}
 					})
-					console.log(newData2)
 					this.fileList1 = newData1
-					console.log(newData2)
 					const newData2 = res.invoicePicList.map((item) => {
 						return {
 							url: item,
@@ -210,7 +233,31 @@
 							url: item,
 						}
 					})
-					this.fileList3 = newData3
+					if(res.feedbackPics){
+						this.fileList3 = newData3
+						const newData4 = res.feedbackPics.map((item) => {
+							return {
+								url: item,
+							}
+						})
+						this.fileList4 = newData4
+					}
+					
+					
+					if(this.state==1){
+						if(res.feedback.length>0){
+							this.feedback=res.feedback
+						}else{
+							this.feedback="无"
+						}
+					}else{
+						if(res.feedback.length>0){
+							this.feedback=res.feedback
+						}else{
+							this.placehodertitle="请输入审核反馈"
+						}
+					}
+					
 				}).catch((err) => {
 					uni.hideLoading()
 					console.log(err)
@@ -273,27 +320,46 @@
 					item.checked = false
 				})
 			},
+			tryAgain(){
+				let obj=this.msg
+					
+				
+				uni.navigateTo({
+					url:"/pages/alldeatil/upcontract?obj="+JSON.stringify(obj)
+				})
+			},
 			examineSuccess() {
-				let ids = []
-
-				ids.push(this.id)
-
+				// let ids = []
+				// ids.push(this.id)
 
-				if (ids.length == 0) {
-					that.$toast("请选择合同")
-					return
-				}
+				
 				uni.showModal({
 					title: '提示',
 					content: "是否审核成功?",
 					success: function(res) {
 						if (res.confirm) {
-
+							
+							let form={
+								id:Number(that.id),
+								approveStatus: 1
+							}
+							if(that.fileList4.length>0){
+								let feedbackPicList=[]
+								that.fileList4.forEach(item=>{
+									feedbackPicList.push(item.url)
+								})
+								form.feedbackPicList=feedbackPicList
+							}
+							let feedback=that.feedback
+							if(feedback.length>0){
+								form.feedback=feedback
+							}
+							// ={
+							// 	feedback:feedback,
+							// 	feedbackPicList:feedbackPicList
+							// }
 							uni.showLoading()
-							uni.$u.http.post('/api/Contract/manage', {
-								ids: ids,
-								operateType: 3
-							}, {
+							uni.$u.http.post('api/Contract/approveContract',form, {
 								custom: {
 									auth: true
 								}
@@ -319,25 +385,33 @@
 
 			},
 			examineFail() {
-				let ids = []
-
-				ids.push(this.id)
-
-				if (ids.length == 0) {
-					this.$toast("请选择合同")
-					return
-				}
 				uni.showModal({
 					title: '提示',
-					content: '是否审核失败?',
+					content: "是否审核成功?",
 					success: function(res) {
 						if (res.confirm) {
-
+							
+							let form={
+								id:Number(that.id),
+								approveStatus: 2
+							}
+							if(that.fileList4.length>0){
+								let feedbackPicList=[]
+								that.fileList4.forEach(item=>{
+									feedbackPicList.push(item.url)
+								})
+								form.feedbackPicList=feedbackPicList
+							}
+							let feedback=that.feedback
+							if(feedback.length>0){
+								form.feedback=feedback
+							}
+							// ={
+							// 	feedback:feedback,
+							// 	feedbackPicList:feedbackPicList
+							// }
 							uni.showLoading()
-							uni.$u.http.post('/api/Contract/manage', {
-								ids: ids,
-								operateType: 4
-							}, {
+							uni.$u.http.post('api/Contract/approveContract',form, {
 								custom: {
 									auth: true
 								}
@@ -347,18 +421,20 @@
 								that.quan = false
 								that.$toast("操作成功")
 								setTimeout(() => {
-
 									that.init()
 								}, 500)
+				
 							}).catch((err) => {
 								uni.hideLoading()
 								that.$toast(err.msg)
 							})
+				
 						} else if (res.cancel) {
-							console.log('用户点击取消');
+				
 						}
 					}
-				});
+				})
+				
 
 			},
 			examineBillSuccess() {
@@ -395,7 +471,6 @@
 								setTimeout(() => {
 									that.init()
 								}, 500)
-
 							}).catch((err) => {
 								uni.hideLoading()
 								that.$toast(err.msg)
@@ -468,7 +543,7 @@
 				}
 				uni.showModal({
 					title: '提示',
-					content: "是否删除合同?",
+					content: "是否删除汇票?",
 					success: function(res) {
 						if (res.confirm) {
 
@@ -547,6 +622,100 @@
 					}
 				})
 
+			},
+			deleContract() {
+			
+				let ids = []
+				this.msg.contractDraft.result.forEach(item => {
+					if (item.checked) {
+						ids.push(item.id)
+					}
+				})
+				if (ids.length == 0) {
+					that.$toast("请选择汇票")
+					return
+				}
+				uni.showModal({
+					title: '提示',
+					content: "是否删除汇票?",
+					success: function(res) {
+						if (res.confirm) {
+			
+							uni.showLoading()
+							uni.$u.http.post('/api/Contract/contractDraft/manager', {
+								ids: ids,
+								operateType: 1
+							}, {
+								custom: {
+									auth: true
+								}
+							}).then((res) => {
+								uni.hideLoading()
+								that.editall = false
+								that.quan = false
+								that.$toast("操作成功")
+								setTimeout(() => {
+									that.init()
+								}, 500)
+			
+							}).catch((err) => {
+								uni.hideLoading()
+								that.$toast(err.msg)
+							})
+			
+						} else if (res.cancel) {
+			
+						}
+					}
+				})
+			
+			},
+			restoreContract() {
+				let ids = []
+				this.msg.contractDraft.result.forEach(item => {
+					if (item.checked) {
+						ids.push(item.id)
+					}
+				})
+			
+				if (ids.length == 0) {
+					that.$toast("请选择汇票")
+					return
+				}
+				uni.showModal({
+					title: '提示',
+					content: "是否复原汇票?",
+					success: function(res) {
+						if (res.confirm) {
+			
+							uni.showLoading()
+							uni.$u.http.post('/api/Contract/contractDraft/manager', {
+								ids: ids,
+								operateType: 2
+							}, {
+								custom: {
+									auth: true
+								}
+							}).then((res) => {
+								uni.hideLoading()
+								that.editall = false
+								that.quan = false
+								that.$toast("操作成功")
+								setTimeout(() => {
+									that.init()
+								}, 500)
+			
+							}).catch((err) => {
+								uni.hideLoading()
+								that.$toast(err.msg)
+							})
+			
+						} else if (res.cancel) {
+			
+						}
+					}
+				})
+			
 			},
 			// 删除图片
 			deletePic(event) {
@@ -578,15 +747,19 @@
 			uploadFilePromise(url) {
 				return new Promise((resolve, reject) => {
 					let a = uni.uploadFile({
-						url: 'http://192.168.2.21:7001/upload', // 仅为示例,非真实的接口地址
+						url:mainUrl + '/api/File', // 仅为示例,非真实的接口地址
 						filePath: url,
-						name: 'file',
+						name: 'File',
+						header: {
+							"User-Agent": "apifox/1.0.0 (https://www.apifox.cn)"
+						},
 						formData: {
-							user: 'test'
+							File: JSON.stringify(url),
 						},
 						success: (res) => {
+							let request = JSON.parse(res.data)
 							setTimeout(() => {
-								resolve(res.data.data)
+								resolve(request.data.file)
 							}, 1000)
 						}
 					});
@@ -613,11 +786,13 @@
 			font-weight: 600;
 			display: block;
 			padding: 30rpx 0;
+			// width: 120rpx;
 			padding-top: 50rpx;
 		}
 
 		.tipup {
 			display: flex;
+			padding-bottom: 30rpx;
 		}
 
 		.upbox {
@@ -774,7 +949,7 @@
 		padding-top: 10rpx;
 		padding-bottom: 40rpx;
 		width: 100%;
-
+		z-index: 999;
 		.newbillbtn {
 			background: linear-gradient(to right, #FFE1AD, #D8AB5A);
 			width: 474rpx;

+ 309 - 183
pages/alldeatil/upcontract.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -52,10 +52,10 @@
 					:maxCount="10" width="100" height="100"></u-upload>
 			</view>
 		</view>
-		<view v-for="(item,index) in form.contractDrafts" :key="index">
+		<view v-for="(item,index) in form.contractDrafts" :key="index" v-if="openhe">
 			<view class="addtitle flex6">
 				<text class="ty">汇票{{index+1}}</text>
-				<text class="tde" @click="deleBill">删除</text>
+				<text class="tde" @click="deleBill" v-if="index>0">删除</text>
 			</view>
 			<view class="listitem">
 				<text class="lys">汇票名称</text>
@@ -71,24 +71,24 @@
 				</view>
 			</view>
 			<view class="listitem">
-				<text class="lys">兑人</text>
-				<view class="chosbox">
+				<text class="lys">兑人</text>
+				<view class="chosbox" @click="checkacptIndex(index)">
 					<uni-data-select v-model="item.acceptor" :localdata="range1" @change="changeacPerson"
-						:showas="false" :plname="'搜索兑换人名称'"></uni-data-select>
+						:showas="false" :plname="'搜索兑换人名称'" @search="searchAcceptor"></uni-data-select>
 				</view>
 			</view>
 			<view class="listitem">
 				<text class="lys">出票人</text>
-				<view class="chosbox">
+				<view class="chosbox" @click="checkldrwIndex(index)">
 					<uni-data-select v-model="item.drawers" :localdata="range2" @change="changedrPerson"
-						:plname="'搜索出票人名称'"></uni-data-select>
+						:plname="'搜索出票人名称'" @search="searchDrawers"></uni-data-select>
 				</view>
 			</view>
 			<view class="listitem">
 				<text class="lys">金额</text>
 				<view class="inbox">
 					<input type="digit" v-model="item.money" placeholder="请输入汇票的金额" placeholder-style="color:#BEBDBB"
-						@blur="getMoney" @input="getMoneyIndex(index)" />
+						@input="getMoney" @blur="getMoneyIndex(index)" />
 				</view>
 			</view>
 			<view class="listitem">
@@ -140,8 +140,8 @@
 					<text class="lys">服务费率</text>
 					<view class="inbox">
 						<input type="digit" v-model="item.serviceRate" placeholder="显示对于费率"
-							placeholder-style="color:#BEBDBB" @blur="getserviceRate"
-							@input="getserviceRateIndex(index)" />
+							placeholder-style="color:#BEBDBB" @blur="getserviceRate" @input="getserviceRateIndex(index)"
+							disabled="true" />
 					</view>
 				</view>
 				<view class="listitem">
@@ -159,7 +159,7 @@
 					<view class="inbox">
 						<input type="digit" v-model="item.interestRate" placeholder="显示对于利率"
 							placeholder-style="color:#BEBDBB" @blur="getinterestRate"
-							@input="getinterestRateIndex(index)" />
+							@input="getinterestRateIndex(index)" disabled="true" />
 					</view>
 				</view>
 				<view class="listitem">
@@ -177,14 +177,14 @@
 						style="font-size: 24rpx; color:#D05C39;padding-top: 45rpx;padding-left: 20rpx;">*支持上传pdf、jpg/jpeg、png格式</text>
 				</view>
 
-				<view class="inbox" style="border: none;padding-bottom: 0;"  @click="checkIndex(index)">
+				<view class="inbox" style="border: none;padding-bottom: 0;" @click="checkIndex(index)">
 					<u-upload :fileList="item.picUrling" @afterRead="afterRead" @delete="deletePic" :name="index+4"
-				:checkedindex=index		multiple :maxCount="10" width="100" height="100"></u-upload>
+						:checkedindex=index multiple :maxCount="10" width="100" height="100"></u-upload>
 				</view>
 			</view>
 		</view>
 
-		<view class="addnewbill" @click="addNewBill">
+		<view class="addnewbill" @click="addNewBill" v-if="!openhe">
 			+ 新增汇票
 		</view>
 		<view class="safebt"></view>
@@ -224,6 +224,8 @@
 				fileList3: [],
 				fileList4: [],
 				allindex: 0,
+				seacept: '',
+				seadra: '',
 				form: {
 					name: '',
 					supplierId: '',
@@ -244,14 +246,14 @@
 						loanLimit: '',
 						expectDiscountDate: '',
 						picUrls: [],
-						picUrling:[],
+						picUrling: [],
 						serviceRate: '',
 						interestRate: '',
 						interest: '',
 						serviceMoney: '',
 						limitTime: 0,
 						expectDiscountDateTime: 0,
-						expectDiscountDate: 0
+						acceptDateTime: 0
 					}, ],
 				},
 
@@ -259,23 +261,52 @@
 				range2: [],
 				myindex: 0,
 				sindex: 0,
-				rindex: 0
+				rindex: 0,
+				acptIndex: 0,
+				drwIndex: 0,
+				openhe:false
 			}
 		},
-		onLoad() {
+		onLoad(o) {
 			that = this
-			this.init()
+
 			this.form.supplierId = uni.getStorageSync('supplierId')
 			// console.log(this.form.supplierId,778)
 			this.loadTime()
-
+			if (o.obj) {
+				let form = JSON.parse(o.obj)
+				this.openhe=true
+				const newData1 = form.invoicePicList.map((item) => {
+					return {
+						url: item,
+					}
+				})
+				this.fileList1=newData1
+				const newData2 = form.picList.map((item) => {
+					return {
+						url: item,
+					}
+				})
+				this.fileList2=newData2
+				const newData3 = form.tradePicList.map((item) => {
+					return {
+						url: item,
+					}
+				})
+				this.fileList3=newData3
+				this.$delete(form,'contractDraft')
+				console.log(form)
+				this.form = form			
+			}
+		},
+		onShow() {
+			this.initAcceptor()
+			this.initDrawers()
 		},
 		methods: {
 			loadTime() {
 				let myDate = new Date()
-				// let wk = Date.parse(new Date());
-				let wk = myDate.getTime()
-				console.log(wk)
+				let wk = parseInt(Date.now() / 100000).toFixed(0) * 100000
 				let yy = String(myDate.getFullYear())
 				// let mm = myDate.getMonth() + 1
 				let mm = String(myDate.getMonth() + 1 < 10 ? '0' + (myDate.getMonth() + 1) : myDate.getMonth() + 1)
@@ -287,14 +318,18 @@
 					item.expireDate = nowDate
 					item.expectDiscountDate = nowDate
 					item.expectDiscountDateTime = wk
-					item.issueDateTime = wk
-					let nTime = item.expectDiscountDateTime - item.issueDateTime
-					item.limitTime = Math.floor(nTime / 86400000) + 1;
+					item.acceptDateTime = wk
+					let nTime = item.acceptDateTime - item.expectDiscountDateTime
+					item.limitTime = Math.floor(nTime / 86400000);
 				})
 			},
-			init() {
+
+
+			initAcceptor() {
 				// 承兑人列表
 				uni.$u.http.post('/api/Acceptor/search', {
+					name: this.seacept
+				}, {
 
 				}, {
 					custom: {
@@ -311,9 +346,11 @@
 						this.range1[index].text = item.name
 					})
 				}).catch((err) => {})
+			},
+			initDrawers() {
 				// 出票人列表
 				uni.$u.http.post('/api/Drawer/search', {
-
+					name: this.seadra
 				}, {
 					custom: {
 						auth: true
@@ -327,18 +364,32 @@
 					})
 				}).catch((err) => {})
 			},
-			deleBill(index){
+			searchAcceptor(e) {
+				this.seacept = e
+				this.initAcceptor()
+			},
+			searchDrawers(e) {
+				this.seadra = e
+				this.initDrawers()
+			},
+			checkacptIndex(index) {
+				this.acptIndex = index
+			},
+			checkldrwIndex(index) {
+				this.drwIndex = index
+			},
+			deleBill(index) {
 				uni.showModal({
-					title:"提示",
-					content:"是否确认删除?",
-					success:(res)=>{
-						if(res.confirm){
-							that.form.contractDrafts.splice(index,1)
+					title: "提示",
+					content: "是否确认删除?",
+					success: (res) => {
+						if (res.confirm) {
+							that.form.contractDrafts.splice(index, 1)
 						}
-						
+
 					}
 				})
-				
+
 			},
 			getinterestRateIndex(index) {
 				this.rindex = index
@@ -403,100 +454,125 @@
 					success: function(res) {
 						if (res.confirm) {
 							let form = that.form
-							if (form.name.length == 0) {
-								that.$toast('请输入合同名称')
-								return
-							}
-							if (that.fileList1.length == 0) {
-								that.$toast('请上传合同附件')
-								return
-							}
-							if (that.fileList2.length == 0) {
-								that.$toast('请上传发票附件')
-								return
-							}
-							if (that.fileList3.length == 0) {
-								that.$toast('请上贸易合同')
-								return
-							}
-							form.contractDrafts.forEach(i => {
-								if (i.name.length == 0) {
-									that.$toast('请输入汇票名称')
-									return
-								}
-								if (i.draftNo.length == 0) {
-									that.$toast('请输入汇票号码')
+								if (form.name.length == 0) {
+									that.$toast('请输入合同名称')
 									return
 								}
-								if (i.acceptor.length == 0) {
-									that.$toast('请选择承兑人')
+								if (that.fileList1.length == 0) {
+									that.$toast('请上传合同附件')
 									return
 								}
-								if (i.drawers.length == 0) {
-									that.$toast('请选择出票人')
+								if (that.fileList2.length == 0) {
+									that.$toast('请上传发票附件')
 									return
 								}
-								if (i.money.length == 0) {
-									that.$toast('请输入金额')
+								if (that.fileList3.length == 0) {
+									that.$toast('请上传贸易合同')
 									return
 								}
-
-								if (i.serviceRate.length == 0) {
-									that.$toast('请输入服务费率')
-									return
+								
+								if(!that.openhe){
+									console.log(89798)
+									form.contractDrafts.forEach(i => {
+										if (i.name.length == 0) {
+											that.$toast('请输入汇票名称')
+											return
+										}
+										if (i.draftNo.length == 0) {
+											that.$toast('请输入汇票号码')
+											return
+										}
+										if (i.acceptor.length == 0) {
+											that.$toast('请选择承兑人')
+											return
+										}
+										if (i.drawers.length == 0) {
+											that.$toast('请选择出票人')
+											return
+										}
+										if (i.money.length == 0) {
+											that.$toast('请输入金额')
+											return
+										}
+									
+										if (i.serviceRate.length == 0) {
+											that.$toast('请输入服务费率')
+											return
+										}
+										if (i.interestRate.length == 0) {
+											that.$toast('请输入利率')
+											return
+										}
+										if (i.picUrls.length == 0) {
+											that.$toast('请上传附件')
+											return
+										}
+										
+									})
+									that.fileList1.forEach(item => {
+										form.invoicePics.push(item.url)
+									})
+									that.fileList2.forEach(item => {
+										form.pics.push(item.url)
+									})
+									that.fileList3.forEach(item => {
+										form.tradePics.push(item.url)
+									})
+									form.contractDrafts.forEach(item => {
+										item.picUrling.forEach(i => {
+											item.picUrls.push(i.url)
+										})
+									})
 								}
-								if (i.interestRate.length == 0) {
-									that.$toast('请输入利率')
-									return
-								}
-								if (i.picUrls.length == 0) {
-									that.$toast('请上传附件')
-									return
-								}
-
-							})
-							that.range2.forEach(item => {
-								form.contractDrafts.forEach(i => {
-									if (that.range2[i.drawers].name == item.name) {
-										i.drawersId = item.id
+								
+								// that.range2.forEach(item => {
+								// 	form.contractDrafts.forEach(i => {
+								// 		if (that.range2[i.drawers].name == item.name) {
+								// 			i.drawersId = item.id
+								// 		}
+								// 	})
+								// })
+								// that.range1.forEach(item => {
+								// 	form.contractDrafts.forEach(i => {
+								// 		if (that.range1[i.acceptor].name == item.name) {
+								// 			i.acceptorId = item.id
+								// 		}
+								// 	})
+								// })
+								
+								
+								uni.showLoading()
+								uni.$u.http.post('/api/Contract', form, {
+									custom: {
+										auth: true
 									}
-								})
-							})
-							that.range1.forEach(item => {
-								form.contractDrafts.forEach(i => {
-									if (that.range1[i.acceptor].name == item.name) {
-										i.acceptorId = item.id
+								}).then((res) => {
+									uni.hideLoading()
+									that.$toast("合同上传成功")
+									that.form.invoicePics = []
+									that.form.pics = []
+									that.form.tradePics = []
+									if(!that.openhe){
+										that.form.contractDrafts.forEach(item => {
+											item.picUrls = []
+										})
 									}
+									
+								}).catch((err) => {
+									uni.hideLoading()
+									that.$toast(err.msg)
+									that.form.invoicePics = []
+									that.form.pics = []
+									that.form.tradePics = []
+									if(!that.openhe){
+										that.form.contractDrafts.forEach(item => {
+											item.picUrls = []
+										})
+									}
+									console.log(err)
 								})
-							})
-						
-							that.fileList1.forEach(item => {
-								form.invoicePics.push(item.url)
-							})
-							that.fileList2.forEach(item => {
-								form.pics.push(item.url)
-							})
-							that.fileList3.forEach(item => {
-								form.tradePics.push(item.url)
-							})
-							form.contractDrafts.forEach(item=>{
-								item.picUrling.forEach(i=>{
-									item.picUrls.push(i.url)
-								})
-							})
-							uni.showLoading()
-							uni.$u.http.post('/api/Contract', form, {
-								custom: {
-									auth: true
-								}
-							}).then((res) => {
-								uni.hideLoading()
-								that.$toast("合同上传成功")
-							}).catch((err) => {
-								uni.hideLoading()
-								that.$toast(err.msg)
-								console.log(err)
-							})
+							
+							
 						} else if (res.cancel) {}
 					}
 				});
@@ -517,18 +593,18 @@
 					loanLimit: '',
 					expectDiscountDate: '',
 					picUrls: [],
-					picUrling:[],
+					picUrling: [],
 					serviceRate: '',
 					interestRate: '',
 					interest: '',
 					serviceMoney: '',
 					limitTime: 0,
 					expectDiscountDateTime: 0,
-					expectDiscountDate: 0
+					acceptDateTime: 0
 				}]
 				let myDate = new Date()
 				// let wk = Date.parse(new Date());
-				let wk = myDate.getTime()
+				let wk = Date.parse(new Date())
 				console.log(wk)
 				let yy = String(myDate.getFullYear())
 				// let mm = myDate.getMonth() + 1
@@ -541,22 +617,52 @@
 					item.expireDate = nowDate
 					item.expectDiscountDate = nowDate
 					item.expectDiscountDateTime = wk
-					item.issueDateTime = wk
-					let nTime = item.expectDiscountDateTime - item.issueDateTime
-					item.limitTime = Math.floor(nTime / 86400000) + 1;
+					item.acceptDateTime = wk
+					let nTime = item.acceptDateTime - item.expectDiscountDateTime
+					item.limitTime = Math.floor(nTime / 86400000);
 				})
 				this.form.contractDrafts.push(form[0])
 			},
 			changeacPerson(e) {
+				console.log(e, 88)
 				this.acceptor = e
+				for (let i in this.range1) {
+					if (i == e) {
+						this.form.contractDrafts[this.acptIndex].acceptorId = this.range1[i].id
+						this.form.contractDrafts[this.acptIndex].serviceRate = this.range1[i].serviceRate
+						this.form.contractDrafts[this.acptIndex].interestRate = this.range1[i].interest
+						this.form.contractDrafts[this.acptIndex].acceptor = this.range1[i].name
+					}
+				}
+				this.range1.forEach(item => {
+					if (item.id == e.id) {
+
+					}
+				})
+
+				// console.log(e)
+
 			},
 			changedrPerson(e) {
 				this.drawers = e
+				for (let i in this.range2) {
+					if (i == e) {
+						this.form.contractDrafts[this.acptIndex].drawersId = this.range2[i].id
+						this.form.contractDrafts[this.acptIndex].drawers = this.range2[i].name
+					}
+				}
+				// this.range2.forEach(item=>{
+				// 	if(item.id==e.id){
+				// 		this.form.contractDrafts[this.drwIndex].drawersId=e.id
+				// 		this.form.contractDrafts[this.drwIndex].drawers=e.name
+				// 	}
+				// })
 			},
 			openTime(index, value) {
 				this.dateshow = true
 				this.index = index
 				this.opdanum = value
+
 			},
 			closeDate() {
 				this.dateshow = false
@@ -565,17 +671,40 @@
 				const timeFormat = uni.$u.timeFormat
 				let form = this.form.contractDrafts
 				if (this.opdanum == 1) {
+					let ino = parseInt(e.value / 10000).toFixed(0) * 10000
+					form[this.index].acceptDateTime = ino
+					let nTime = form[this.index].acceptDateTime - form[this.index].expectDiscountDateTime
+					let limitTime = Math.floor(nTime / 86400000)
+					console.log(form[this.index].acceptDateTime, 88)
+					console.log(form[this.index].expectDiscountDateTime, 88)
+					console.log(limitTime, 88)
+					if (limitTime <= -1) {
+						this.$toast('承兑日期应该大于预计贴现日')
+						return
+					}
+					form[this.index].limitTime = limitTime
 					form[this.index].acceptDate = timeFormat(e.value, 'yyyy-mm-dd')
+					this.getloanLimt(this.index)
+					this.getSerMoney(this.index)
+					this.getInterMoney(this.index)
 				} else if (this.opdanum == 2) {
-					form[this.index].issueDateTime = e.value
+
 					form[this.index].issueDate = timeFormat(e.value, 'yyyy-mm-dd')
 				} else if (this.opdanum == 3) {
 					form[this.index].expireDate = timeFormat(e.value, 'yyyy-mm-dd')
 				} else if (this.opdanum == 4) {
 					form[this.index].expectDiscountDateTime = e.value
-					let nTime = form[this.index].expectDiscountDateTime - form[this.index].issueDateTime
-					form[this.index].limitTime = Math.floor(nTime / 86400000) + 1;
+					let nTime = form[this.index].acceptDateTime - form[this.index].expectDiscountDateTime
+					let limitTime = Math.floor(nTime / 86400000)
+					if (limitTime <= -1) {
+						this.$toast('预计贴现日应该小于承兑日期')
+						return
+					}
+					form[this.index].limitTime = limitTime
 					form[this.index].expectDiscountDate = timeFormat(e.value, 'yyyy-mm-dd')
+					this.getloanLimt(this.index)
+					this.getSerMoney(this.index)
+					this.getInterMoney(this.index)
 				}
 				// console.log(this.index, this.opdanum)
 				this.dateshow = false
@@ -599,9 +728,9 @@
 			// 删除图片
 			async deletePic(event) {
 				// this.checkIndex(index) 
-				console.log(this.allindex,789)
+				console.log(this.allindex, 789)
 				if (event.name >= 4) {
-					 this.form.contractDrafts[this.allindex].picUrling.splice(event.index, 1)
+					this.form.contractDrafts[this.allindex].picUrling.splice(event.index, 1)
 				} else {
 					this[`fileList${event.name}`].splice(event.index, 1)
 				}
@@ -612,8 +741,9 @@
 				// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
 
 				if (event.name >= 4) {
+					console.log(2222222222999)
 					let lists = [].concat(event.file)
-					let icurls= this.form.contractDrafts[this.allindex].picUrling
+					let icurls = this.form.contractDrafts[this.allindex].picUrling
 					let fileListLen = icurls.length
 					lists.map((item) => {
 						icurls.push({
@@ -624,10 +754,6 @@
 					})
 					for (let i = 0; i < lists.length; i++) {
 						const result = await this.uploadFilePromise(lists[i].url)
-						let obj={
-							
-						}
-						console.log(result)
 						// this.form.contractDrafts[this.allindex].picUrls.push(result)
 						let item = icurls[fileListLen]
 						icurls.splice(fileListLen, 1, Object.assign(item, {
@@ -635,59 +761,59 @@
 							message: '',
 							url: result
 						}))
-						
-						fileListLen++
-					} 
-		
-				
-					}else {
-						let lists = [].concat(event.file)
-						let fileListLen = this[`fileList${event.name}`].length
-						lists.map((item) => {
-							this[`fileList${event.name}`].push({
-								...item,
-								status: 'uploading',
-								message: '上传中'
-							})
-						})
-						for (let i = 0; i < lists.length; i++) {
-							const result = await this.uploadFilePromise(lists[i].url)
-							let item = this[`fileList${event.name}`][fileListLen]
-							this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
-								status: 'success',
-								message: '',
-								url: result
-							}))
-							fileListLen++
-						}
-						
 
+						fileListLen++
 					}
-				},
-				uploadFilePromise(url) {
-					return new Promise((resolve, reject) => {
-						let a = uni.uploadFile({
-							url: mainUrl + '/api/File', // 仅为示例,非真实的接口地址
-							filePath: url,
-							name: 'File',
-							header: {
-								"User-Agent": "apifox/1.0.0 (https://www.apifox.cn)"
-							},
-							formData: {
-								File: JSON.stringify(url),
-							},
-							success: (res) => {
-								console.log(res)
-								let request = JSON.parse(res.data)
-								setTimeout(() => {
-									resolve(request.data.file)
-								}, 1000)
-							}
-						});
+
+
+				} else {
+					console.log(2222222222)
+					let lists = [].concat(event.file)
+					let fileListLen = this[`fileList${event.name}`].length
+					lists.map((item) => {
+						this[`fileList${event.name}`].push({
+							...item,
+							status: 'uploading',
+							message: '上传中'
+						})
 					})
-				},
-			}
+					for (let i = 0; i < lists.length; i++) {
+						const result = await this.uploadFilePromise(lists[i].url)
+						let item = this[`fileList${event.name}`][fileListLen]
+						this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
+							status: 'success',
+							message: '',
+							url: result
+						}))
+						fileListLen++
+					}
+
+
+				}
+			},
+			uploadFilePromise(url) {
+				return new Promise((resolve, reject) => {
+					let a = uni.uploadFile({
+						url: mainUrl + '/api/File', // 仅为示例,非真实的接口地址
+						filePath: url,
+						name: 'File',
+						header: {
+							"User-Agent": "apifox/1.0.0 (https://www.apifox.cn)"
+						},
+						formData: {
+							File: JSON.stringify(url),
+						},
+						success: (res) => {
+							let request = JSON.parse(res.data)
+							setTimeout(() => {
+								resolve(request.data.file)
+							}, 1000)
+						}
+					});
+				})
+			},
 		}
+	}
 </script>
 
 <style lang="scss">

+ 22 - 10
pages/bsinessadmin/setpassword.vue

xqd xqd xqd xqd
@@ -6,18 +6,18 @@
 		<view class="acountbox" >
 			<view class="inacount">
 				<text class="acoutitle">原密码</text>
-				<input type="text" v-model="form.oldPassword" class="checkword" placeholder="至少6位数的字母数字组合"
+				<input type="text" v-model="form.oldPassword" class="checkword" placeholder="至少6位数的字母数字组合的密码"
 					placeholder-style="font-size:30rpx;color:#BEBDBB" password="true"/>
 			</view>
 			<view class="inacount">
 				<text class="acoutitle">密码</text>
-				<input type="text" v-model="form.acountname" class="checkword" placeholder="至少6位数的字母数字组合"
+				<input type="text" v-model="form.newPassword" class="checkword" placeholder="至少6位数的字母数字组合的密码"
 					placeholder-style="font-size:30rpx;color:#BEBDBB" password="true"/>
 			</view>
 			<view class="inacount">
 				<text class="acoutitle">确认密码</text>
-				<input type="text" v-model="form.password" class="checkword" placeholder="至少6位数的字母数字组合"
-					placeholder-style="font-size:30rpx;color:#BEBDBB" />
+				<input type="text" v-model="form.password" class="checkword" placeholder="至少6位数的字母数字组合的密码"
+					placeholder-style="font-size:30rpx;color:#BEBDBB" password="true"/>
 			</view>
 			<view class=" fonas">
 				<text>*密码必须是6-16位的英文字母、数字组合</text>
@@ -50,7 +50,8 @@
 				show: false,
 				form: {
 					oldPassword:'',
-					newPassword:''
+					newPassword:'',
+					password:''
 				},
 			}
 		},
@@ -64,25 +65,36 @@
 				this.show = false
 			},
 			suerChange(){
-				if(this.form.name.length==0){
-					this.$toast("请输入您的账号")
+				if(this.form.oldPassword.length==0){
+					this.$toast("请输入至少6位数的字母数字组合的密码")
+					return
+				}
+				if(this.form.newPassword.length<6){
+					this.$toast("请输入至少6位数的字母数字组合的密码")
 					return
 				}
-				if(this.form.name.password==0){
+				if(this.form.password.length<6){
 					this.$toast("请输入至少6位数的字母数字组合的密码")
 					return
 				}
-				if(this.form.password!=this.form.surepwd){
+				if(this.form.newPassword!=this.form.password){
 					this.$toast("两次密码输入不一样")
 					return
 				}
 				uni.showLoading()
+				let form=this.form
+				delete form.password
 				uni.$u.http.post('/api/Supplier/password',form, {
 					custom: {
 						auth: true
 					}
 				}).then((res) => {
 					uni.hideLoading()
+					this.form={
+						oldPassword:'',
+						newPassword:'',
+						password:''
+					}
 					this.$toast("修改成功")
 				}).catch((err) => {
 					console.log(err)
@@ -156,7 +168,7 @@
 			color: #1F242A;
 
 			input {
-				width: 360rpx;
+				width: 460rpx;
 			}
 		}
 

+ 43 - 6
pages/drawer/drawer.vue

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -3,7 +3,7 @@
 		<view class="headbgbox flex2">
 			<view class="searchbox">
 				<u-icon name="search" bold="true" size="25" color="rgb(246,185,78)"></u-icon>
-				<input type="text" v-model="keywords" placeholder="请输入关键字搜索" placeholder-style="color:#BBBCBE" />
+				<input type="text" v-model="keywords" placeholder="请输入关键字搜索" placeholder-style="color:#BBBCBE" @blur="changeSeach"/>
 			</view>
 			<view class="screen" @click="show = true">
 				<text>筛选</text>
@@ -65,8 +65,8 @@
 					</view>
 				</view>
 				<view class="aszs flex6">
-					<view class="againbtn"><text>重置</text></view>
-					<view class="againbtn" style="color: #D8AB5A;border: 1rpx solid #D8AB5A;"><text>确认</text></view>
+					<view class="againbtn"  @click="restoreALL"><text>重置</text></view>
+					<view class="againbtn" style="color: #D8AB5A;border: 1rpx solid #D8AB5A;" @click="makeSureSelect"><text>确认</text></view>
 				</view>
 			</view>
 		</u-popup>
@@ -102,6 +102,8 @@
 		},
 		data() {
 			return {
+				keywords:'',
+				statusall:0,
 				editall:false,
 				quan:false,
 				listall:[],
@@ -131,9 +133,9 @@
 		},
 		onLoad() {
 			that=this
-			this.init()
+			// this.in'it()
 		},
-		onshow(){
+		onShow(){
 			this.init()
 		},
 		// 下拉到底部后加载新数据
@@ -153,6 +155,8 @@
 				uni.$u.http.post('/api/Drawer/search',{
 					pageIndex:this.pageIndex,
 					pageSize:10,
+					name:this.keywords,
+					status: this.statusall,
 					// startTime:'',
 					// endTime:'',
 					// name:'',
@@ -186,11 +190,38 @@
 			},
 			open(){
 				
+			},
+			restoreALL() {
+				this.contract_status = 0
+				
+			},
+			makeSureSelect() {
+				this.shai = true
+				that.pageIndex = 1
+				that.nomore = false
+				that.listall = []
+				this.init()
+				this.close()
 			},
 			choose(title, k) {
 				if (title == "出票人状态") {
 					this.contract_status = k
-				} 
+					if (k == 2) {
+						this.statusall = 4
+					} else if (k == 1) {
+						this.statusall = 5
+					} else if (k == 0) {
+						this.statusall = 0
+					}
+			
+				}
+			},
+			changeSeach(e){
+				this.keywords=e.detail.value
+				that.pageIndex = 1
+				that.nomore = false
+				that.listall = []
+				this.init()
 			},
 			checkBox(id){
 				let list=this.listall
@@ -279,6 +310,9 @@
 									that.quan=false
 									that.$toast("操作成功")
 									setTimeout(()=>{
+										that.pageIndex=1
+										that.nomore=false
+										that.listall=[]
 										that.init()
 									},500)
 									
@@ -325,6 +359,9 @@
 									that.quan=false
 									that.$toast("操作成功")
 									setTimeout(()=>{
+										that.pageIndex=1
+										that.nomore=false
+										that.listall=[]
 										that.init()
 									},500)
 									

+ 301 - 236
pages/index/index.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -4,8 +4,8 @@
 
 			<view class="searchbox">
 				<u-icon name="search" bold="true" size="25" color="rgb(246,185,78)"></u-icon>
-				<input type="text" v-model="keywords" placeholder="合同名称/编号、承兑人名称或出票"
-					placeholder-style="color:#BBBCBE" />
+				<input type="text" v-model="keywords" placeholder="合同名称/编号、承兑人名称或出票人名称"
+					placeholder-style="color:#BBBCBE" @blur="changeSeach"/>
 			</view>
 			<view class="screen" @click="show = true">
 				<text>筛选</text>
@@ -17,28 +17,34 @@
 		</view>
 		<view class="cardlist">
 			<view>
-				<view class="lable " v-for="(item,index) in listall" :key="index"  >
+				<view class="lable " v-for="(item,index) in listall" :key="index">
 					<view class="radiobox" v-if="editall">
-						<radio :value="index" :checked="item.checked" color="#D8AB5A" @click="checkBox(item.id)"/>
+						<radio :value="index" :checked="item.checked" color="#D8AB5A" @click="checkBox(item.id)" />
 					</view>
 
 					<view class="card" @click.stop="moveDetail(item.id)">
 						<view class="passreview" v-if="item.statusText=='成功'">
 							<image src="../../static/img/resuccess.png" mode="aspectFill"></image>
 						</view>
-						<view class="passreview" v-if="item.statusText=='待审核'" >
+						<view class="passreview" v-if="item.statusText=='待审核'">
 							<image src="../../static/img/toreviewe.png" mode="aspectFill"></image>
 						</view>
-						<view class="passreview" v-if="item.statusText=='失败'" >
+						<view class="passreview" v-if="item.statusText=='失败'">
 							<image src="../../static/img/falis.png" mode="aspectFill"></image>
 						</view>
-						<view class="passreview" v-if="item.statusText=='已删除'" >
+						<view class="passreview" v-if="item.statusText=='已删除'">
 							<image src="../../static/img/redel.png" mode="aspectFill"></image>
 						</view>
-						<view class="timebox"  v-if="item.statusText=='成功'"><text>{{item.contractNo}}</text></view>
-						<view class="timebox"  v-if="item.statusText=='待审核'" :style="{'background-color':'#FFEBE5'}"><text>{{item.contractNo}}</text></view>
-						<view class="timebox"  v-if="item.statusText=='失败'" :style="{'background-color':'#E7E7E7'}"><text>{{item.contractNo}}</text></view>
-						<view class="timebox"  v-if="item.statusText=='已删除'" :style="{'background-color':'#F6F6F6'}"><text>{{item.contractNo}}</text></view>
+						<view class="timebox" v-if="item.statusText=='成功'"><text>{{item.createdAt}}</text></view>
+						<view class="timebox" v-if="item.statusText=='待审核'" :style="{'background-color':'#FFEBE5'}">
+							<text>{{item.createdAt}}</text>
+						</view>
+						<view class="timebox" v-if="item.statusText=='失败'" :style="{'background-color':'#E7E7E7'}">
+							<text>{{item.createdAt}}</text>
+						</view>
+						<view class="timebox" v-if="item.statusText=='已删除'" :style="{'background-color':'#F6F6F6'}">
+							<text>{{item.createdAt}}</text>
+						</view>
 						<view class="innerbox">
 							<view class="listicon">
 								<image src="/static/img/listticon.png" mode="aspectFill"></image>
@@ -48,11 +54,11 @@
 						<view class="contractmsg flex5">
 							<text>合同编号:{{item.contractNo}}</text>
 							<text style="padding-top: 10rpx;">承兑人:{{item.acceptorName}}</text>
-							<text style="padding-top: 10rpx;">供应商:四川高鼎科技有限公司</text>
+							<text style="padding-top: 10rpx;" v-if="state==0">供应商:{{item.supplierName}}</text>
 						</view>
 						<view class="flex6 contadra">
 							<text>出票人:{{item.drawersName}}</text>
-							<text>汇票状态:{{item.status}}</text>
+							<text>汇票状态:{{item.contractStatusText}}</text>
 						</view>
 					</view>
 				</view>
@@ -109,7 +115,7 @@
 						</view>
 					</view>
 				</view>
-				<view class="flex4 custom">
+				<view class="flex4 custom" v-if="time_status==3">
 					<text style="font-size: 26rpx;font-weight: 600;">自定义</text>
 					<view class="custombox flex3">
 						<view class="creatdata flex6">
@@ -128,19 +134,20 @@
 						</view>
 					</view>
 				</view>
-				<view class="searchbox" style="margin: 0 20px;margin-bottom: 30px;">
+				<view class="searchbox" style="margin: 0 20px;margin-bottom: 30px;" v-if="state==0">
 					<u-icon name="search" bold="true" size="25" color="rgb(246,185,78)"></u-icon>
-					<input type="text" v-model="keywords" placeholder="请输入供应商名称"
-						placeholder-style="color:#BBBCBE" />
+					<input type="text" v-model="supkeywords" placeholder="请输入供应商名称" placeholder-style="color:#BBBCBE" />
 				</view>
 				<view class="aszs flex6">
-					<view class="againbtn"><text>重置</text></view>
-					<view class="againbtn" style="color: #D8AB5A;border: 1rpx solid #D8AB5A;"><text>确认</text></view>
+					<view class="againbtn" @click="restoreALL"><text>重置</text></view>
+					<view class="againbtn" style="color: #D8AB5A;border: 1rpx solid #D8AB5A;" @click="makeSureSelect">
+						<text>确认</text>
+					</view>
 				</view>
 			</view>
 		</u-popup>
-		<u-datetime-picker :show="dateshow" v-model="value1" mode="date" @confirm="chooseDate"
-			@cancel="closeDate" ></u-datetime-picker>
+		<u-datetime-picker :show="dateshow" v-model="value1" mode="date" @confirm="chooseDate" @cancel="closeDate">
+		</u-datetime-picker>
 		<!-- 底部删除 -->
 		<u-popup :show="editall&&state==1" @close="closeEidt" @open="openEidt" :overlay="false">
 			<view class="editbox">
@@ -167,18 +174,18 @@
 						<text>全选</text>
 					</view>
 					<view class="anniu">
-						<text class="usa"  @click="dele">删除</text>
-						<text  class="usa" @click="restore">复原</text>
-						<text  @click="selectDown"  class="usa">完成</text>
+						<text class="usa" @click="dele">删除</text>
+						<text class="usa" @click="restore">复原</text>
+						<text @click="selectDown" class="usa">完成</text>
 					</view>
 				</view>
 				<view class="choosebtn">
 					<view class="delbtn flex1" @click="examineFail">审核失败</view>
-					<view class="restorebtn flex1"  @click="examineSuccess">审核成功</view>
+					<view class="restorebtn flex1" @click="examineSuccess">审核成功</view>
 				</view>
 			</view>
 		</u-popup>
-		<tabar ></tabar>
+		<tabar></tabar>
 	</view>
 </template>
 
@@ -186,28 +193,31 @@
 	let that
 	import tabar from "@/componet/tabbar/tabbar.vue"
 	export default {
-		components:{
+		components: {
 			tabar
 		},
 		data() {
 			return {
 				keywords: '',
-				state:0,
+				supkeywords:'',
+				state: 0,
 				show: false,
-				editall:false,
+				editall: false,
 				dateshow: false,
-				quan:false,
-				creatTime: "请选择",
-				endTime: "请选择",
+				quan: false,
+				creatTime: '',
+				endTime: '',
 				value1: Number(new Date()),
 				intime: 1,
 				contract_status: '',
 				draft_status: '',
 				time_status: '',
-				listall:[],
-				pageIndex:1,
-				total:'',
-				nomore:false,
+				listall: [],
+				pageIndex: 1,
+				total: '',
+				nomore: false,
+				shai: false,
+				startTime:'',
 				ctrstatus: [{
 					title: "合同状态",
 					list: [{
@@ -270,102 +280,117 @@
 							name: "昨日",
 
 						},
+						{
+							name: "自定义",
+
+						},
 					]
 				}],
 
 			}
 		},
 		onLoad() {
-			that=this
+			that = this
 			this.state = this.$store.state.admin
-			this.init()
+			// this.init()
 		},
-		onshow(){
+		onShow() {
+			that.pageIndex = 1
+			that.nomore = false
+			that.listall = []
 			this.init()
 		},
 		// 下拉到底部后加载新数据
-		    onReachBottom() {
-		      //判断下一页是否存在数据,不存在将显示暂无数据等提示语
-		      if (this.listall.length >= this.pageIndex * 10) {
-		        this.pageIndex++;//页数加一
-				this.init();//回调接口
-		      }else{
-				  this.nomore=true
-			  }
-		      
-		    },
+		onReachBottom() {
+			//判断下一页是否存在数据,不存在将显示暂无数据等提示语
+			if (this.listall.length >= this.pageIndex * 10) {
+				this.pageIndex++; //页数加一
+				this.init(); //回调接口
+			} else {
+				this.nomore = true
+			}
+
+		},
 		methods: {
-			
+
 			init() {
 				uni.showLoading()
-				uni.$u.http.post('/api/Contract/search',{
-					pageIndex:this.pageIndex,
-					pageSize:10,
-					// startTime:'',
-					// endTime:'',
-					// name:'',
-					// contractStatus:0,
-					// contractNo:''
+				uni.$u.http.post('/api/Contract/search', {
+					pageIndex: this.pageIndex,
+					pageSize: 10,
+					startTime: this.creatTime,
+					endTime: this.endTime,
+					name: this.keywords,
+					contractStatus: this.contract_status,
+					draftStatus: this.draft_status,
+					supplierName:this.supkeywords
 				}, {
 					custom: {
 						auth: true
 					}
 				}).then((res) => {
 					uni.hideLoading()
-					this.total=res.total
-					
-					let list=res.result
-					if(list.length>0){
-						list.forEach(item=>{
-							item.checked=false
+					this.total = res.total
+
+					let list = res.result
+					if (list.length > 0) {
+						list.forEach(item => {
+							item.checked = false
 							this.listall.push(item)
 						})
-						if(list.length<10){
-							that.nomore=true
+						if (list.length < 10) {
+							that.nomore = true
 						}
 					}
 				}).catch((err) => {
 					uni.hideLoading()
 					console.log(err)
 				})
-				
+
+			},
+			changeSeach(e){
+				this.keywords=e.detail.value
+				that.pageIndex = 1
+				that.nomore = false
+				that.listall = []
+				this.init()
 			},
-			examineFail(){
-				let ids=[]
-				that.listall.forEach(item=>{
-					if(item.checked){
+			examineFail() {
+				let ids = []
+				that.listall.forEach(item => {
+					if (item.checked) {
 						ids.push(item.id)
 					}
 				})
-				if(ids.length==0){
+				if (ids.length == 0) {
 					this.$toast("请选择合同")
 					return
 				}
 				uni.showModal({
 					title: '提示',
 					content: '是否批量审核失败?',
-					success: function (res) {
+					success: function(res) {
 						if (res.confirm) {
-							
+
 							uni.showLoading()
-							uni.$u.http.post('/api/Contract/manage', 
-							{
-								ids:ids,
-								operateType:4
-							},
-							{
+							uni.$u.http.post('/api/Contract/manage', {
+								ids: ids,
+								operateType: 4
+							}, {
 								custom: {
 									auth: true
 								}
 							}).then((res) => {
 								uni.hideLoading()
-								that.editall=false
-								that.quan=false
+								that.editall = false
+								that.quan = false
 								that.$toast("操作成功")
-								setTimeout(()=>{
-									
+								setTimeout(() => {
+									that.pageIndex = 1
+									that.nomore = false
+									that.listall = []
 									that.init()
-								},500)
+								}, 500)
 							}).catch((err) => {
 								uni.hideLoading()
 								that.$toast(err.msg)
@@ -375,204 +400,207 @@
 						}
 					}
 				});
-				
+
 			},
-			dele(){
-				let ids=[]
-				that.listall.forEach(item=>{
-					if(item.checked){
+			dele() {
+				let ids = []
+				that.listall.forEach(item => {
+					if (item.checked) {
 						ids.push(item.id)
 					}
 				})
-				if(ids.length==0){
+				if (ids.length == 0) {
 					that.$toast("请选择合同")
 					return
 				}
 				uni.showModal({
 					title: '提示',
-					content:"是否批量删除?",
-					success: function (res) {
-							if (res.confirm) {
-								
-								uni.showLoading()
-								uni.$u.http.post('/api/Contract/manage',
-								{
-									ids:ids,
-									operateType:1
-								},
-								{
-									custom: {
-										auth: true
-									}
-								}).then((res) => {
-									uni.hideLoading()
-									that.editall=false
-									that.quan=false
-									that.$toast("操作成功")
-									setTimeout(()=>{
-										that.init()
-									},500)
-									
-								}).catch((err) => {
-									uni.hideLoading()
-									that.$toast(err.msg)
-								})
-							
-							} else if (res.cancel) {
-							
-							}
+					content: "是否批量删除?",
+					success: function(res) {
+						if (res.confirm) {
+
+							uni.showLoading()
+							uni.$u.http.post('/api/Contract/manage', {
+								ids: ids,
+								operateType: 1
+							}, {
+								custom: {
+									auth: true
+								}
+							}).then((res) => {
+								uni.hideLoading()
+								that.editall = false
+								that.quan = false
+								that.$toast("操作成功")
+								setTimeout(() => {
+									that.pageIndex = 1
+									that.nomore = false
+									that.listall = []
+									that.init()
+								}, 500)
+
+							}).catch((err) => {
+								uni.hideLoading()
+								that.$toast(err.msg)
+							})
+
+						} else if (res.cancel) {
+
 						}
+					}
 				})
-				
+
 			},
-			restore(){
-				let ids=[]
-				that.listall.forEach(item=>{
-					if(item.checked){
+			restore() {
+				let ids = []
+				that.listall.forEach(item => {
+					if (item.checked) {
 						ids.push(item.id)
 					}
 				})
-				if(ids.length==0){
+				if (ids.length == 0) {
 					that.$toast("请选择合同")
 					return
 				}
 				uni.showModal({
 					title: '提示',
-					content:"是否批量复原?",
-					success: function (res) {
-							if (res.confirm) {
-								
-								uni.showLoading()
-								uni.$u.http.post('/api/Contract/manage',
-								{
-									ids:ids,
-									operateType:2
-								},
-								{
-									custom: {
-										auth: true
-									}
-								}).then((res) => {
-									uni.hideLoading()
-									that.editall=false
-									that.quan=false
-									that.$toast("操作成功")
-									setTimeout(()=>{
-										that.init()
-									},500)
-									
-								}).catch((err) => {
-									uni.hideLoading()
-									that.$toast(err.msg)
-								})
-							
-							} else if (res.cancel) {
-							
-							}
+					content: "是否批量复原?",
+					success: function(res) {
+						if (res.confirm) {
+
+							uni.showLoading()
+							uni.$u.http.post('/api/Contract/manage', {
+								ids: ids,
+								operateType: 2
+							}, {
+								custom: {
+									auth: true
+								}
+							}).then((res) => {
+								uni.hideLoading()
+								that.editall = false
+								that.quan = false
+								that.$toast("操作成功")
+								setTimeout(() => {
+									that.pageIndex = 1
+									that.nomore = false
+									that.listall = []
+									that.init()
+								}, 500)
+
+							}).catch((err) => {
+								uni.hideLoading()
+								that.$toast(err.msg)
+							})
+
+						} else if (res.cancel) {
+
 						}
+					}
 				})
-				
+
 			},
-			examineSuccess(){
-				let ids=[]
-				that.listall.forEach(item=>{
-					if(item.checked){
+			examineSuccess() {
+				let ids = []
+				that.listall.forEach(item => {
+					if (item.checked) {
 						ids.push(item.id)
 					}
 				})
-				if(ids.length==0){
+				if (ids.length == 0) {
 					that.$toast("请选择合同")
 					return
 				}
 				uni.showModal({
 					title: '提示',
-					content:"是否批量审核成功?",
-					success: function (res) {
-							if (res.confirm) {
-								
-								uni.showLoading()
-								uni.$u.http.post('/api/Contract/manage',
-								{
-									ids:ids,
-									operateType:3
-								},
-								{
-									custom: {
-										auth: true
-									}
-								}).then((res) => {
-									uni.hideLoading()
-									that.editall=false
-									that.quan=false
-									that.$toast("操作成功")
-									setTimeout(()=>{
-										that.init()
-									},500)
-									
-								}).catch((err) => {
-									uni.hideLoading()
-									that.$toast(err.msg)
-								})
-							
-							} else if (res.cancel) {
-							
-							}
+					content: "是否批量审核成功?",
+					success: function(res) {
+						if (res.confirm) {
+
+							uni.showLoading()
+							uni.$u.http.post('/api/Contract/manage', {
+								ids: ids,
+								operateType: 3
+							}, {
+								custom: {
+									auth: true
+								}
+							}).then((res) => {
+								uni.hideLoading()
+								that.editall = false
+								that.quan = false
+								that.$toast("操作成功")
+								setTimeout(() => {
+									that.pageIndex = 1
+									that.nomore = false
+									that.listall = []
+									that.init()
+								}, 500)
+
+							}).catch((err) => {
+								uni.hideLoading()
+								that.$toast(err.msg)
+							})
+
+						} else if (res.cancel) {
+
 						}
+					}
 				})
-				
+
 			},
-		
-			checkBox(id){
-				let list=this.listall
-				list.forEach(item=>{
-					if(item.id==id){
-						item.checked=!item.checked
+
+			checkBox(id) {
+				let list = this.listall
+				list.forEach(item => {
+					if (item.id == id) {
+						item.checked = !item.checked
 					}
 				})
 				this.listall = JSON.parse(JSON.stringify(list))
-				
+
 			},
-			allSelect(){
-				let list=this.listall
-				if(this.quan){
+			allSelect() {
+				let list = this.listall
+				if (this.quan) {
 					list.forEach(item => {
-						item.checked =true
+						item.checked = true
 					})
-				}else{
+				} else {
 					list.forEach(item => {
-						item.checked =false
+						item.checked = false
 					})
 				}
 				this.listall = JSON.parse(JSON.stringify(list))
 				console.log(this.listall)
 			},
-			addContract(){
+			addContract() {
 				uni.navigateTo({
-					url:'/pages/alldeatil/upcontract'
+					url: '/pages/alldeatil/upcontract'
 				})
 			},
-			moveDetail(id){
+			moveDetail(id) {
 				uni.navigateTo({
-					url:"/pages/alldeatil/contractdetail?id="+id 
+					url: "/pages/alldeatil/contractdetail?id=" + id
 				})
 			},
-			makeSureAll(){
-				this.quan=!this.quan
+			makeSureAll() {
+				this.quan = !this.quan
 				this.allSelect()
 			},
-			selectDown(){
-				this.editall=false
-				this.quan=false
-				let list=this.listall
-				list.forEach(item=>{
-						item.checked=false
+			selectDown() {
+				this.editall = false
+				this.quan = false
+				let list = this.listall
+				list.forEach(item => {
+					item.checked = false
 				})
 			},
-			closeEidt(){
-				this.editall=false
+			closeEidt() {
+				this.editall = false
 			},
-			openEidt(){
-				this.editall=true
+			openEidt() {
+				this.editall = true
 			},
 			chooseDate(e) {
 				this.dateshow = false
@@ -603,6 +631,25 @@
 				this.show = false
 				// console.log('close');
 			},
+			makeSureSelect() {
+				this.shai = true
+				that.pageIndex = 1
+				that.nomore = false
+				that.listall = []
+				this.init()
+				this.close()
+			},
+			restoreALL() {
+				this.creatTime = ''
+				this.endTime = ''
+				this.time_status = 0
+				this.contract_status = 0
+					this.draft_status = 0
+					that.pageIndex = 1
+					that.nomore = false
+					that.listall = []
+					this.init()
+			},
 			choose(title, k) {
 				if (title == "合同状态") {
 					this.contract_status = k
@@ -610,6 +657,24 @@
 					this.draft_status = k
 				} else if (title == "上传日期") {
 					this.time_status = k
+					if (k == 0) {
+						this.creatTime = ''
+					} else if (k == 1) {
+						let myDate = new Date()
+						let yy = String(myDate.getFullYear())
+						let mm = String(myDate.getMonth() + 1 < 10 ? '0' + (myDate.getMonth() + 1) : myDate.getMonth() + 1)
+						let dd = String(myDate.getDate() < 10 ? '0' + myDate.getDate() : myDate.getDate())
+						let nowDate = yy + '-' + mm + '-' + dd
+						this.creatTime = nowDate
+					} else if (k == 2) {
+						let myDate = new Date()
+						let yy = String(myDate.getFullYear())
+						let mm = String(myDate.getMonth() + 1 < 10 ? '0' + (myDate.getMonth() + 1) : myDate.getMonth() + 1)
+						let dd = String(myDate.getDate() - 1 < 10 ? '0' + myDate.getDate() - 1 : myDate.getDate() - 1)
+						let nowDate = yy + '-' + mm + '-' + dd
+						this.creatTime = nowDate
+					}
+
 				}
 			}
 		}
@@ -649,13 +714,14 @@
 		margin: 0 auto;
 		display: flex;
 		align-items: center;
+
 		// justify-content: center;
 		// margin-top: -10rpx;
-		input{
+		input {
 			width: 240px;
 			overflow: hidden;
-			 text-overflow:ellipsis;
-			 white-space: nowrap;
+			text-overflow: ellipsis;
+			white-space: nowrap;
 		}
 	}
 
@@ -702,14 +768,16 @@
 				height: 100%;
 			}
 		}
-		.contadra{
+
+		.contadra {
 			font-size: 24rpx;
 			color: #BEBDBB;
 			padding: 20rpx 0;
 			margin: 0 30rpx;
 			border-top: 1rpx solid #E8E8E8;
-			
+
 		}
+
 		.innerbox {
 			padding: 49rpx 0rpx;
 			padding-bottom: 30rpx;
@@ -717,7 +785,7 @@
 			display: flex;
 			align-items: center;
 			border-bottom: 1rpx solid #E8E8E8;
-			
+
 			.listicon {
 				width: 32rpx;
 				height: 36rpx;
@@ -768,7 +836,7 @@
 		align-items: center;
 		width: 100%;
 		padding: 0 30rpx;
-		
+
 		box-sizing: border-box;
 
 		.managebox {
@@ -795,7 +863,4 @@
 			// align-items: center;
 		}
 	}
-
-	
-	
 </style>

+ 6 - 0
pages/login/login.vue

xqd xqd xqd
@@ -94,6 +94,10 @@
 				}
 				let form=this.form
 				form.loginType=this.checked+1
+				uni.showLoading({
+					title:'加载中',
+					icon:'none'
+				})
 				uni.$u.http.post('/api/Account/login',
 					form
 				, {
@@ -101,6 +105,7 @@
 						auth: true
 					}
 				}).then((res) => {
+					uni.hideLoading()
 					uni.setStorageSync('token', res.token)
 					uni.setStorageSync('supplierId', res.userInfo.id)
 					uni.hideLoading()
@@ -112,6 +117,7 @@
 						})
 					}, 500)
 				}).catch((err) => {
+					uni.hideLoading()
 					this.$toast(err.msg)
 				})
 			

+ 5 - 5
pages/mine/mine.vue

xqd xqd xqd
@@ -5,8 +5,8 @@
 				<view class="flex2 minename">
 					<view class="flex5 ">
 						<text class="nametit">{{msg.realName?msg.realName:''}}</text>
-						<text class="nametit">{{msg.name?msg.name:''}}</text>
-						<text class="number">账号 {{msg.account?msg.account:''}}</text>
+						<text class="nametit" v-if="msg.name">{{msg.name?msg.name:''}}</text>
+						<text class="number" v-if="msg.account">账号 {{msg.account?msg.account:''}}</text>
 					</view>
 					<view class="logbox">
 						<image src="/static/logo.png" mode="aspectFill"></image>
@@ -14,8 +14,8 @@
 				</view>
 				<view class="callphone">
 					<text style="color: #68625B;">联系电话</text>
-					<text>{{msg.contactsMobile}}</text>
-					<text>{{msg.mobile}}</text>
+					<text v-if="msg.contactsMobile">{{msg.contactsMobile}}</text>
+					<text v-if="msg.mobile">{{msg.mobile}}</text>
 				</view>
 			</view>
 		</view>
@@ -164,7 +164,7 @@
 					success: function(res) {
 						if (res.confirm) {
 							uni.setStorageSync('token', '')
-							uni.navigateTo({
+							uni.reLaunch({
 								url: "/pages/login/login"
 							})
 						} else if (res.cancel) {

+ 74 - 25
pages/supplier/supplier.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -4,8 +4,8 @@
 
 			<view class="searchbox">
 				<u-icon name="search" bold="true" size="25" color="rgb(246,185,78)"></u-icon>
-				<input type="text" v-model="keywords" placeholder="合同名称/编号、承兑人名称或出票..."
-					placeholder-style="color:#BBBCBE" />
+				<input type="text" v-model="keywords" placeholder="请输入供应商名称"
+					placeholder-style="color:#BBBCBE" @blur="changeSeach"/>
 			</view>
 			<view class="screen" @click="show = true">
 				<text>筛选</text>
@@ -16,11 +16,11 @@
 			</view>
 		</view>
 		<view class="cardlist">
-			<view class="lable" v-for="(item,index) in listall" style="width: 100%;" @click.stop="moveDetail(item.id)">
+			<view class="lable" v-for="(item,index) in listall" style="width: 100%;" >
 				<view class="radiobox" v-if="editall">
 					<radio :value="index" :checked="item.checked" color="#D8AB5A" @click="checkBox(item.id)" />
 				</view>
-				<view class="card">
+				<view class="card" @click.stop="moveDetail(item.id)">
 					<view class="passreview" v-if="item.status==1&&item.isDeleted==0">
 						<image src="../../static/img/Cercomplete.png" mode="aspectFill"></image>
 					</view>
@@ -80,8 +80,8 @@
 					</view>
 				</view>
 				<view class="aszs flex6">
-					<view class="againbtn"><text>重置</text></view>
-					<view class="againbtn" style="color: #D8AB5A;border: 1rpx solid #D8AB5A;"><text>确认</text></view>
+					<view class="againbtn" @click="restoreALL"><text>重置</text></view>
+					<view class="againbtn" style="color: #D8AB5A;border: 1rpx solid #D8AB5A;" @click="makeSureSelect()"><text>确认</text></view>
 				</view>
 			</view>
 		</u-popup>
@@ -129,6 +129,7 @@
 </template>
 
 <script>
+	let that
 	import tabar from "@/componet/tabbar/tabbar.vue"
 	export default {
 		components: {
@@ -136,7 +137,9 @@
 		},
 		data() {
 			return {
-				editall: false,
+				keywords:'',
+				statusall:0,	
+							editall: false,
 				quan: false,
 				keywords: '',
 				show: false,
@@ -182,10 +185,14 @@
 			}
 		},
 		onLoad() {
+			that=this
 			this.state = this.$store.state.admin
-			this.init()
+			// this.init()
 		},
-		onshow(){
+		onShow(){
+			that.pageIndex = 1
+			that.nomore = false
+			that.listall = []
 			this.init()
 		},
 		// 下拉到底部后加载新数据
@@ -207,7 +214,8 @@
 					pageSize: 10,
 					// startTime:'',
 					// endTime:'',
-					// name:'',
+					name:this.keywords,
+					status: this.statusall,
 					// contractStatus:'',
 					// contractNo:''
 				}, {
@@ -251,11 +259,41 @@
 			},
 			open(){
 				
+			},
+			changeSeach(e){
+				this.keywords=e.detail.value
+				that.pageIndex = 1
+				that.nomore = false
+				that.listall = []
+				this.init()
 			},
 			choose(title, k) {
 				if (title == "供应商状态") {
 					this.contract_status = k
-				} 
+					if (k == 2) {
+						this.statusall = 4
+					} else if (k == 1) {
+						this.statusall = 1
+					} else if (k == 0) {
+						this.statusall = 0
+					}else if(k==3){
+						this.statusall = 2
+					}else if(k==4){
+						this.statusall = 3
+					}
+			
+				}
+			},
+			makeSureSelect() {
+				that.pageIndex = 1
+				that.nomore = false
+				that.listall = []
+				this.init()
+				this.close()
+			},
+			restoreALL() {
+				this.contract_status = 0
+				
 			},
 			checkBox(id) {
 				let list = this.listall
@@ -332,15 +370,15 @@
 				this.show = false
 				// console.log('close');
 			},
-			choose(title, k) {
-				if (title == "合同状态") {
-					this.contract_status = k
-				} else if (title == "汇票状态") {
-					this.draft_status = k
-				} else if (title == "上传日期") {
-					this.time_status = k
-				}
-			},
+			// choose(title, k) {
+			// 	if (title == "合同状态") {
+			// 		this.contract_status = k
+			// 	} else if (title == "汇票状态") {
+			// 		this.draft_status = k
+			// 	} else if (title == "上传日期") {
+			// 		this.time_status = k
+			// 	}
+			// },
 			examineFail(){
 				let ids=[]
 				that.listall.forEach(item=>{
@@ -359,7 +397,7 @@
 						if (res.confirm) {
 							
 							uni.showLoading()
-							uni.$u.http.post('/api/Contract/manage', 
+							uni.$u.http.post('/api/Supplier/manage', 
 							{
 								ids:ids,
 								operateType:4
@@ -374,7 +412,9 @@
 								that.quan=false
 								that.$toast("操作成功")
 								setTimeout(()=>{
-									
+									that.pageIndex=1
+									that.nomore=false
+									that.listall=[]
 									that.init()
 								},500)
 							}).catch((err) => {
@@ -406,7 +446,7 @@
 							if (res.confirm) {
 								
 								uni.showLoading()
-								uni.$u.http.post('/api/Contract/manage',
+								uni.$u.http.post('/api/Supplier/manage',
 								{
 									ids:ids,
 									operateType:1
@@ -421,6 +461,9 @@
 									that.quan=false
 									that.$toast("操作成功")
 									setTimeout(()=>{
+										that.pageIndex=1
+										that.nomore=false
+										that.listall=[]
 										that.init()
 									},500)
 									
@@ -454,7 +497,7 @@
 							if (res.confirm) {
 								
 								uni.showLoading()
-								uni.$u.http.post('/api/Contract/manage',
+								uni.$u.http.post('/api/Supplier/manage',
 								{
 									ids:ids,
 									operateType:2
@@ -469,6 +512,9 @@
 									that.quan=false
 									that.$toast("操作成功")
 									setTimeout(()=>{
+										that.pageIndex=1
+										that.nomore=false
+										that.listall=[]
 										that.init()
 									},500)
 									
@@ -502,7 +548,7 @@
 							if (res.confirm) {
 								
 								uni.showLoading()
-								uni.$u.http.post('/api/Contract/manage',
+								uni.$u.http.post('/api/Supplier/manage',
 								{
 									ids:ids,
 									operateType:3
@@ -517,6 +563,9 @@
 									that.quan=false
 									that.$toast("操作成功")
 									setTimeout(()=>{
+										that.pageIndex=1
+										that.nomore=false
+										that.listall=[]
 										that.init()
 									},500)
 									

+ 1 - 1
store/index.js

xqd
@@ -8,7 +8,7 @@ Vue.use(Vuex)
 const store = new Vuex.Store({
   state:{
 	  userinfo:'',
-		admin:0
+		admin:1
    },
    mutations:{
 	   // 获取用户信息

+ 12 - 7
uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue

xqd xqd xqd xqd xqd xqd
@@ -1,15 +1,15 @@
 <template>
-	<view class="uni-stat__select" style="z-index: 999;">
+	<view class="uni-stat__select" >
 		<span v-if="label" class="uni-label-text hide-on-phone">{{label + ':'}}</span>
 		<view class="uni-select" >
-			<view class="uni-select__input-box" @click="toggleSelector" >
+			<view class="uni-select__input-box" @click.stop="toggleSelector" >
 				<view v-if="current" class="uni-select__input-text">{{current}}</view>
 				<view v-else class="uni-select__input-text uni-select__input-placeholder">{{typePlaceholder}}</view>
 				
 				<uni-icons v-if="current && clear" type="clear" color="#1F242A" size="20" @click.stop="clearVal" />
 				<uni-icons v-else :type="showSelector? 'top' : 'bottom'" size="18" color="#1F242A" />
 			</view>
-			<view class="uni-select--mask" v-if="showSelector" @click="toggleSelector" />
+			<!-- <view class="uni-select--mask" v-if="showSelector" @click="toggleSelector" /> -->
 			<view class="uni-select__selector" v-if="showSelector">
 				<view class="uni-popper__arrow"></view>
 				<scroll-view scroll-y="true" class="uni-select__selector-scroll">
@@ -18,13 +18,13 @@
 					</view>
 					<view class="searchbox" v-if="searchboxshow">
 						<uni-icons type="search" color="rgb(246,185,78)" size="20"></uni-icons>
-						<input type="text" v-model="seachcontent" :placeholder="plname" confirm-type="search"/>
+						<input type="text" v-model="seachcontent" :placeholder="plname" confirm-type="search" @input="changeSeach"/>
 					</view>
 					<view class="uni-select__selector-empty" v-if="mixinDatacomResData.length === 0">
 						<text>{{emptyTips}}</text>
 					</view>
 					<view v-else class="uni-select__selector-item" v-for="(item,index) in mixinDatacomResData"
-						:key="index" @click="change(item)">
+						:key="index" @click.stop="change(item)">
 						<text :class="{'uni-select__selector__disabled': item.disable}">{{formatItemName(item)}}</text>
 					</view>
 				</scroll-view>
@@ -159,7 +159,7 @@
 		methods: {
 			moveAdd(){
 				uni.navigateTo({
-					url:"/pages/alldeatil/acptdetail?add=1"
+					url:"/pages/alldeatil/addnewdrawer?add=1"
 				})
 			},
 			initDefVal() {
@@ -214,6 +214,7 @@
 				this.emit('search',this.seachcontent)
 			},
 			change(item) {
+			
 				if (!item.disable) {
 					this.showSelector = false
 					this.current = this.formatItemName(item)
@@ -232,7 +233,11 @@
 			toggleSelector() {
 				this.showSelector = !this.showSelector
 			},
+			changeSeach(e){
+				this.$emit('search',e.detail.value)
+			},
 			formatItemName(item) {
+				
 				let {
 					text,
 					value,
@@ -374,7 +379,7 @@
 		border: 1px solid #EBEEF5;
 		border-radius: 6px;
 		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-		z-index: 999;
+		z-index: 99;
 		padding: 4px 0;
 	}
 

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/common/main.wxss


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/common/vendor.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/acceptor/acceptor.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/acceptor/acceptor.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/addbill.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/addbill.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
unpackage/dist/build/mp-weixin/pages/alldeatil/billdetail.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/billdetail.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/contractdetail.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/contractdetail.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/contractdetail.wxss


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/supplierdetail.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/supplierdetail.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/supplierdetail.wxss


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/upcontract.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/alldeatil/upcontract.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/bsinessadmin/register.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/bsinessadmin/register.wxml


+ 1 - 1
unpackage/dist/build/mp-weixin/pages/bsinessadmin/register.wxss

xqd
@@ -1 +1 @@
-.content.data-v-6d89eaf9{padding:0 30rpx;box-sizing:border-box}.headbox.data-v-6d89eaf9{display:flex;justify-content:space-between;align-items:flex-end}.headtitle.data-v-6d89eaf9{font-size:60rpx;font-weight:600;padding-bottom:36rpx}.logobox.data-v-6d89eaf9{width:269rpx;height:191rpx}.logobox image.data-v-6d89eaf9{width:100%;height:100%}.acountbox .inacount.data-v-6d89eaf9{flex:1;display:flex;padding:35rpx 20rpx;box-sizing:border-box;margin-top:40rpx;background-color:#f6f6f6;border-radius:20rpx;font-size:30rpx;color:#1f242a}.acountbox .inacount input.data-v-6d89eaf9{width:360rpx}.acountbox .acoutitle.data-v-6d89eaf9{font-weight:600}.acountbox .checkword.data-v-6d89eaf9{padding-left:20rpx;color:#1f242a;font-size:30rpx}.logininbtn.data-v-6d89eaf9{margin-top:80rpx;flex:1;border-radius:20rpx;border:1rpx solid #bebdbb;height:100rpx;text-align:center;color:#bebdbb;line-height:100rpx}.acountall.data-v-6d89eaf9{display:flex;justify-content:flex-end;margin-top:30rpx;font-size:24rpx}.checkag.data-v-6d89eaf9{margin-top:200rpx;font-size:28rpx;padding-bottom:130rpx}
+.content.data-v-962b81aa{padding:0 30rpx;box-sizing:border-box}.headbox.data-v-962b81aa{display:flex;justify-content:space-between;align-items:flex-end}.headtitle.data-v-962b81aa{font-size:60rpx;font-weight:600;padding-bottom:36rpx}.logobox.data-v-962b81aa{width:269rpx;height:191rpx}.logobox image.data-v-962b81aa{width:100%;height:100%}.acountbox .inacount.data-v-962b81aa{flex:1;display:flex;padding:35rpx 20rpx;box-sizing:border-box;margin-top:40rpx;background-color:#f6f6f6;border-radius:20rpx;font-size:30rpx;color:#1f242a}.acountbox .inacount input.data-v-962b81aa{width:360rpx}.acountbox .acoutitle.data-v-962b81aa{font-weight:600}.acountbox .checkword.data-v-962b81aa{padding-left:20rpx;color:#1f242a;font-size:30rpx}.logininbtn.data-v-962b81aa{margin-top:80rpx;flex:1;border-radius:20rpx;border:1rpx solid #bebdbb;height:100rpx;text-align:center;color:#bebdbb;line-height:100rpx}.acountall.data-v-962b81aa{display:flex;justify-content:flex-end;margin-top:30rpx;font-size:24rpx}.checkag.data-v-962b81aa{margin-top:200rpx;font-size:28rpx;padding-bottom:130rpx}

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/bsinessadmin/setpassword.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/bsinessadmin/setpassword.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/bsinessadmin/setpassword.wxss


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/bsinessadmin/supplierges.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/bsinessadmin/supplierges.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/bsinessadmin/supplierges.wxss


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/drawer/drawer.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/drawer/drawer.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/drawer/drawer.wxss


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/index.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/index.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/login/login.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/login/login.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/login/login.wxss


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/mine/mine.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/mine/mine.wxml


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/supplier/supplier.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/supplier/supplier.wxml


+ 13 - 0
unpackage/dist/build/mp-weixin/static/css/flex.scss

xqd
@@ -149,6 +149,19 @@
 			color: #fff;
 			text-align: center;
 		}
+		.newsufail{
+			
+		}
+		.newsucess{
+			
+				width: 335rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				border-radius: 45rpx;
+				border: 1rpx solid #D05C39;
+				color: #D05C39;
+			
+		}
 	}
 	.plusicon{
 		position: fixed;

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/build/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml


+ 1 - 1
unpackage/dist/build/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss

xqd
@@ -1,4 +1,4 @@
-@media screen and (max-width:500px){.hide-on-phone{display:none}}.uni-stat__select{display:flex;align-items:center;cursor:pointer}.uni-label-text{font-size:14px;font-weight:700;color:#6a6a6a;margin:auto 0;margin-right:5px}.searchbox{display:flex;align-items:center;width:630rpx;height:75rpx;font-size:28rpx;border-radius:20rpx;background-color:#f8f8f8;border:1rpx solid #d9d9d9;margin:40rpx auto;padding:0 30rpx;box-sizing:border-box;margin-bottom:20rpx}.searchbox input{padding:0;padding-left:10rpx}.addplus{width:630rpx;height:68rpx;border-radius:20rpx;border:1rpx solid #d8ab5a;color:#d8ab5a;display:flex;align-items:center;justify-content:center;margin:0 auto;margin-top:40rpx;font-size:35rpx}.uni-select{font-size:14px;border:1px solid #dcdcdc;box-sizing:border-box;border-radius:10px;padding:0 5px;position:relative;display:flex;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;border-bottom:solid 1px #dcdcdc;width:100%;height:78rpx}.uni-select__label{font-size:16px;line-height:22px;padding-right:10px}.uni-select__input-box{min-height:36px;position:relative;display:flex;flex:1;flex-direction:row;align-items:center;justify-content:space-between;padding-right:5px;box-sizing:border-box}.uni-select__input{flex:1;font-size:14px;height:22px;line-height:22px}.uni-select__input-plac{font-size:14px}.uni-select__selector{box-sizing:border-box;position:absolute;top:calc(100% + 12px);left:0;width:100%;background-color:#fff;border:1px solid #ebeef5;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);z-index:2;padding:4px 0}.uni-select__selector-scroll{max-height:340px;box-sizing:border-box}.uni-select__selector-empty,
+@media screen and (max-width:500px){.hide-on-phone{display:none}}.uni-stat__select{display:flex;align-items:center;cursor:pointer}.uni-label-text{font-size:14px;font-weight:700;color:#6a6a6a;margin:auto 0;margin-right:5px}.searchbox{display:flex;align-items:center;width:630rpx;height:75rpx;font-size:28rpx;border-radius:20rpx;background-color:#f8f8f8;border:1rpx solid #d9d9d9;margin:40rpx auto;padding:0 30rpx;box-sizing:border-box;margin-bottom:20rpx}.searchbox input{padding:0;padding-left:10rpx}.addplus{width:630rpx;height:68rpx;border-radius:20rpx;border:1rpx solid #d8ab5a;color:#d8ab5a;display:flex;align-items:center;justify-content:center;margin:0 auto;margin-top:40rpx;font-size:35rpx}.uni-select{font-size:14px;border:1px solid #dcdcdc;box-sizing:border-box;border-radius:10px;padding:0 5px;position:relative;display:flex;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;border-bottom:solid 1px #dcdcdc;width:100%;height:78rpx}.uni-select__label{font-size:16px;line-height:22px;padding-right:10px}.uni-select__input-box{min-height:36px;position:relative;display:flex;flex:1;flex-direction:row;align-items:center;justify-content:space-between;padding-right:5px;box-sizing:border-box}.uni-select__input{flex:1;font-size:14px;height:22px;line-height:22px}.uni-select__input-plac{font-size:14px}.uni-select__selector{box-sizing:border-box;position:absolute;top:calc(100% + 12px);left:0;width:100%;background-color:#fff;border:1px solid #ebeef5;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);z-index:99;padding:4px 0}.uni-select__selector-scroll{max-height:340px;box-sizing:border-box}.uni-select__selector-empty,
 .uni-select__selector-item{display:flex;cursor:pointer;line-height:36px;font-size:14px;text-align:center;border-bottom:solid 1px #dcdcdc;margin:0 15px;padding:10rpx 0;font-size:32rpx}.uni-select__selector-item:hover{background-color:#f9f9f9}.uni-select__selector-empty:last-child,
 .uni-select__selector-item:last-child{border-bottom:none}.uni-select__selector__disabled{opacity:.4;cursor:default}.uni-popper__arrow,
 .uni-popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;border-width:6px}.uni-popper__arrow{-webkit-filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));top:-6px;left:10%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.uni-popper__arrow::after{content:" ";top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.uni-select__input-text{width:280px;color:#3a3a3a;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;overflow:hidden;padding:0 15rpx}.uni-select__input-placeholder{color:#bebdbb;font-size:30rpx;padding:15rpx 15rpx}.uni-select--mask{position:fixed;top:0;bottom:0;right:0;left:0}

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/componet/tabbar/tabbar.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-checkbox/u-checkbox.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-datetime-picker/u-datetime-picker.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-form-item/u-form-item.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-icon/u-icon.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-input/u-input.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-line/u-line.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-loading-icon/u-loading-icon.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-overlay/u-overlay.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-picker/u-picker.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-popup/u-popup.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-safe-bottom/u-safe-bottom.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-status-bar/u-status-bar.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-toolbar/u-toolbar.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-transition/u-transition.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/uview-ui/components/u-upload/u-upload.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/acceptor/acceptor.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/acptdetail.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/addbill.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/addnewacpt.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/addnewdrawer.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/billdetail.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/contractdetail.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/drawerdetail.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/identifypic.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/proxypic.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/supplierdetail.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/alldeatil/upcontract.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/bsinessadmin/register.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/bsinessadmin/setpassword.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/bsinessadmin/supplierges.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/drawer/drawer.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/other/homepage.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/spladmin/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/supplier/supplier.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


+ 1 - 1
unpackage/dist/dev/mp-weixin/common/vendor.js

xqd
@@ -9180,7 +9180,7 @@ _vue.default.use(_vuex.default);
 var store = new _vuex.default.Store({
   state: {
     userinfo: '',
-    admin: 0 },
+    admin: 1 },
 
   mutations: {
     // 获取用户信息

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