From dbccd6b83b9e30f9fdcb2c7900a16cb038648c62 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 03 九月 2025 10:55:39 +0800
Subject: [PATCH] 前端
---
small-program/pages/using-workers/using-workers.vue | 308 +++++++++++++++++++++++++++++++-------------------
1 files changed, 189 insertions(+), 119 deletions(-)
diff --git a/small-program/pages/using-workers/using-workers.vue b/small-program/pages/using-workers/using-workers.vue
index 451b52a..28b762e 100644
--- a/small-program/pages/using-workers/using-workers.vue
+++ b/small-program/pages/using-workers/using-workers.vue
@@ -13,95 +13,104 @@
<u-icon name="arrow-right" color="#111111" size="16"></u-icon>
</view>
</view>
- <view class="list-item-row" @click="selectAddress()">
- <view class="list-item-row-label">鐢ㄥ伐鍦扮偣<b>*</b></view>
- <view class="list-item-row-val">
- <text>{{form.location ? form.location : '璇烽�夋嫨'}}</text>
- <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
- </view>
- </view>
- <view class="list-item-row">
- <view class="list-item-row-label">鍦扮偣鎻忚堪</view>
- <view class="list-item-row-val">
- <input type="text" v-model="form.locationRemark" placeholder="璇疯緭鍏�" />
- </view>
- </view>
- </view>
- <view class="list-item">
- <view class="list-item-label">
- <view class="list-item-label-x"></view>
- <text>闇�姹�</text>
- </view>
- <view class="list-item-row" @click="show1 = true">
- <view class="list-item-row-label">閲囨憳鍝佺<b>*</b></view>
- <view class="list-item-row-val">
- <text>{{form.categoryName ? form.categoryName : '璇烽�夋嫨'}}</text>
- <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
- </view>
- </view>
- <view class="list-item-row">
- <view class="list-item-row-label">閲囨憳閲嶉噺<b>*</b></view>
- <view class="list-item-row-val">
- <input type="number" v-model="form.priceNum1" @blur="getPrice" placeholder="璇疯緭鍏�" />
- <text>鏂�</text>
- </view>
- </view>
- <view class="list-item-row" v-if="viewStatus">
- <view class="list-item-row-label">闇�姹傝ˉ鍏�</view>
- <view class="list-item-row-val">
- <textarea v-model="form.supplement" cols="30" rows="10" placeholder="璇疯緭鍏�" maxlength="200"></textarea>
- </view>
- </view>
- <view class="list-item-row" v-if="viewStatus">
- <view class="list-item-row-label">鍥剧墖</view>
- <view class="list-item-row-upload">
- <view class="upload-item" v-for="(item, index) in form.multifileList" :key="index">
- <image :src="item.url" mode="widthFix"></image>
- <image class="upload-item-dele" @click="form.multifileList.splice(index, 1)" src="/static/icon/ic_delete1@2x.png" mode="widthFix"></image>
+ <template v-if="!(info.type !== 2 && info.status === 2)">
+ <view class="list-item-row" @click="selectAddress()">
+ <view class="list-item-row-label">鐢ㄥ伐鍦扮偣<b>*</b></view>
+ <view class="list-item-row-val">
+ <text style="width:80%;">{{form.location ? form.location : '璇烽�夋嫨'}}</text>
+ <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
</view>
- <view class="upload-item" @click="uploadImg">
- <u-icon name="plus" color="#999999" size="24"></u-icon>
- <text>鐐瑰嚮涓婁紶</text>
+ </view>
+ <view class="list-item-row">
+ <view class="list-item-row-label">鍦扮偣鎻忚堪</view>
+ <!-- <view class="list-item-row-val">
+ <input type="text" v-model="form.locationRemark" placeholder="璇疯緭鍏�" />
+ </view> -->
+ <view class="list-item-row-val">
+ <textarea v-model="form.locationRemark" cols="30" rows="10" placeholder="璇疯緭鍏�" maxlength="200"></textarea>
+ </view>
+ </view>
+ </template>
+
+ </view>
+ <template v-if="!(info.type !== 2 && info.status === 2)">
+ <view class="list-item">
+ <view class="list-item-label">
+ <view class="list-item-label-x"></view>
+ <text>闇�姹�</text>
+ </view>
+ <view class="list-item-row" @click="show1 = true">
+ <view class="list-item-row-label">閲囨憳鍝佺<b>*</b></view>
+ <view class="list-item-row-val">
+ <text>{{form.categoryName ? form.categoryName : '璇烽�夋嫨'}}</text>
+ <u-icon name="arrow-right" color="#111111" size="16"></u-icon>
+ </view>
+ </view>
+ <view class="list-item-row">
+ <view class="list-item-row-label">閲囨憳閲嶉噺<b>*</b></view>
+ <view class="list-item-row-val">
+ <input type="number" v-model="form.priceNum1" @blur="getPrice" placeholder="璇疯緭鍏�" />
+ <text>鏂�</text>
+ </view>
+ </view>
+ <view class="list-item-row" v-if="viewStatus">
+ <view class="list-item-row-label">闇�姹傝ˉ鍏�</view>
+ <view class="list-item-row-val">
+ <textarea v-model="form.supplement" cols="30" rows="10" placeholder="璇疯緭鍏�" maxlength="200"></textarea>
+ </view>
+ </view>
+ <view class="list-item-row" v-if="viewStatus">
+ <view class="list-item-row-label">鍥剧墖</view>
+ <view class="list-item-row-upload">
+ <view class="upload-item" v-for="(item, index) in form.multifileList" :key="index">
+ <image :src="item.url || item.fileurlFull" mode="widthFix"></image>
+ <image class="upload-item-dele" @click="form.multifileList.splice(index, 1)" src="/static/icon/ic_delete1@2x.png" mode="widthFix"></image>
+ </view>
+ <view class="upload-item" @click="uploadImg">
+ <u-icon name="plus" color="#999999" size="24"></u-icon>
+ <text>鐐瑰嚮涓婁紶</text>
+ </view>
+ </view>
+ </view>
+ <view class="list-item-zk" @click="viewStatus = !viewStatus">
+ <text>{{viewStatus ? '鏀惰捣' : '琛ュ厖闇�姹�'}}</text>
+ <u-icon :name="viewStatus ? 'arrow-up' : 'arrow-down'" color="#00BC12" size="16"></u-icon>
+ </view>
+ </view>
+ <view class="list-item">
+ <view class="list-item-label">
+ <view class="list-item-label-x"></view>
+ <text>璐圭敤</text>
+ </view>
+ <view class="list-item-row">
+ <view class="list-item-row-label">璐圭敤鏍囧噯<b>*</b></view>
+ <view class="list-item-row-val">
+ <input v-model="form.price" type="digit" @blur="getPrice" placeholder="璇疯緭鍏�" />
+ <text>鍏�/鏂�</text>
</view>
</view>
</view>
- <view class="list-item-zk" @click="viewStatus = !viewStatus">
- <text>{{viewStatus ? '鏀惰捣' : '琛ュ厖闇�姹�'}}</text>
- <u-icon :name="viewStatus ? 'arrow-up' : 'arrow-down'" color="#00BC12" size="16"></u-icon>
- </view>
- </view>
- <view class="list-item">
- <view class="list-item-label">
- <view class="list-item-label-x"></view>
- <text>璐圭敤</text>
- </view>
- <view class="list-item-row">
- <view class="list-item-row-label">璐圭敤鏍囧噯<b>*</b></view>
- <view class="list-item-row-val">
- <input v-model="form.price" type="number" @blur="getPrice" placeholder="璇疯緭鍏�" />
- <text>鍏�/鏂�</text>
+ <view class="list-item">
+ <view class="list-item-label">
+ <view class="list-item-label-x"></view>
+ <text>鑱旂郴浜轰俊鎭�</text>
+ <text class="list-item-label-info">榛樿鍙戝崟鏂硅仈绯绘柟寮忥紝鍙慨鏀硅仈绯讳汉</text>
+ </view>
+ <view class="list-item-row">
+ <view class="list-item-row-label">鑱旂郴浜哄鍚�</view>
+ <view class="list-item-row-val">
+ <input type="text" v-model="form.linkName" placeholder="璇疯ˉ鍏�" />
+ </view>
+ </view>
+ <view class="list-item-row">
+ <view class="list-item-row-label">鑱旂郴鐢佃瘽<b>*</b></view>
+ <view class="list-item-row-val">
+ <input type="text" v-model="form.linkPhone" maxlength="11" placeholder="璇疯ˉ鍏�" />
+ </view>
</view>
</view>
- </view>
- <view class="list-item">
- <view class="list-item-label">
- <view class="list-item-label-x"></view>
- <text>鑱旂郴浜轰俊鎭�</text>
- <text class="list-item-label-info">榛樿鍙戝崟鏂硅仈绯绘柟寮忥紝鍙慨鏀硅仈绯讳汉</text>
- </view>
- <view class="list-item-row">
- <view class="list-item-row-label">鑱旂郴浜哄鍚�</view>
- <view class="list-item-row-val">
- <input type="text" v-model="form.linkName" placeholder="璇疯ˉ鍏�" />
- </view>
- </view>
- <view class="list-item-row">
- <view class="list-item-row-label">鑱旂郴鐢佃瘽<b>*</b></view>
- <view class="list-item-row-val">
- <input type="text" v-model="form.linkPhone" maxlength="11" placeholder="璇疯ˉ鍏�" />
- </view>
- </view>
- </view>
+ </template>
+
</view>
<view style="width: 100%; height: calc(214rpx + env(safe-area-inset-bottom));"></view>
<view class="footer">
@@ -126,6 +135,7 @@
:show="show"
color="#00BC12"
mode="range"
+ :allowSameDay="true"
@close="show = false"
@confirm="confirmDate" />
@@ -152,9 +162,11 @@
},
data() {
return {
+ info: {},
show: false,
show1: false,
form: {
+ id: null,
days: '',
startDate: '',
endDate: '',
@@ -175,24 +187,48 @@
estimatedAccount: '',
type: 0
},
+ modify: false,
cateList: [],
- viewStatus: false
+ viewStatus: true
};
},
onLoad(option) {
- this.form.linkPhone = this.userInfo.telephone
- this.form.days = option.days
- this.form.startDate = option.startDate
- this.form.endDate = option.endDate
- this.form.lat = option.latitude
- this.form.lgt = option.longitude
- this.form.location = option.address
- this.form.workType = option.workType
+ // 缂栬緫
+ if (option.id) {
+ this.form.id = option.id
+ this.$u.api.getDetail({
+ orderId: option.id
+ }).then(res => {
+ if (res.code === 200) {
+ this.info = res.data
+ for (const key in this.form) {
+ this.form[key] = res.data[key]
+ }
+ this.form.days = res.data.totalDays
+ this.form.price = Number(this.form.price) / 100
+ if (!this.form.multifileList) {
+ this.form.multifileList = []
+ }
+ }
+
+ })
+ } else {
+ this.form.linkPhone = this.userInfo.telephone
+ this.form.linkName = this.userInfo.name
+ this.form.days = option.days
+ this.form.startDate = option.startDate
+ this.form.endDate = option.endDate
+ this.form.lat = option.latitude
+ this.form.lgt = option.longitude
+ this.form.location = option.address
+ this.form.workType = option.workType
+ }
this.getCateList()
},
methods: {
// 鎻愪氦璁㈠崟
submit() {
+ var that = this;
if (!this.form.categoryId) {
return uni.showToast({ title: '璇烽�夋嫨閲囨憳鍝佺', icon: 'none' })
}
@@ -205,14 +241,42 @@
if (!this.form.linkPhone) {
return uni.showToast({ title: '璇疯緭鍏ヨ仈绯荤數璇�', icon: 'none' })
}
- this.$u.api.release({ ...this.form, price: Number(this.form.price) * 100 })
- .then(res => {
- if (res.code == 200) {
- uni.navigateTo({
- url: `/pages/success/success?orderId=${res.data}`
- })
+ if (!that.form.id) {
+ uni.requestSubscribeMessage({
+ tmplIds: ['oVjOBLcHxIlGzOMJsdInmgI5CHGXh-UTvMzQqfFOnIg','AA97cHjvlPiNO4viMkVe4JifCf9TD5b5Eb7s6El3VS8'],
+ success(res) {
+ that.$u.api.release({ ...that.form, price: Number(that.form.price) * 100 })
+ .then(res => {
+ if (res.code == 200) {
+ uni.navigateTo({
+ url: `/pages/success/success?orderId=${res.data.id}`
+ })
+ }
+ })
}
})
+ } else {
+ // uni.requestSubscribeMessage({
+ // tmplIds: ['3YSC7gouRlSjHXz4CrWOGFzPmGwEBtFj4snwdfMvKHk'],
+ // success(res) {
+ that.$u.api.updateOrder({ ...that.form, price: Number(that.form.price) * 100 })
+ .then(res => {
+ if (res.code == 200) {
+ uni.showToast({
+ title: '缂栬緫鎴愬姛',
+ icon: 'success',
+ mask: true,
+ duration: 2000
+ })
+ setTimeout(() => {
+ uni.navigateBack({ delta: 1 });
+ // uni.$emit('refresh')
+ }, 1500)
+ }
+ })
+ // }
+ // })
+ }
},
// 璁$畻閲戦
getPrice() {
@@ -225,7 +289,10 @@
type: this.form.type,
workType: this.form.workType
}).then(res => {
- this.form.estimatedAccount = res.data
+ if (res.code === 200) {
+ this.modify = true
+ this.form.estimatedAccount = res.data
+ }
})
}
},
@@ -240,7 +307,7 @@
success: (res) => {
this.form.lat = res.latitude
this.form.lgt = res.longitude
- this.form.address = res.address
+ this.form.address = res.name || res.address
}
});
},
@@ -253,30 +320,33 @@
this.$u.api.getCategoryList({
type: 0
}).then(res => {
- this.cateList = [res.data]
+ if (res.code === 200) {
+ this.cateList = [res.data]
+ }
})
},
uploadImg() {
uni.chooseImage({
success: (chooseImageRes) => {
- const tempFilePaths = chooseImageRes.tempFilePaths;
- uni.uploadFile({
- url: this.$baseUrl + '/web/public/upload',
- filePath: tempFilePaths[0],
- name: 'file',
- formData: {
- 'folder': 'orders'
- },
- success: (uploadFileRes) => {
- const res = JSON.parse(uploadFileRes.data)
- this.form.multifileList.push({
- fileurl: res.data.imgaddr,
- name: res.data.originname,
- url: res.data.url,
- type: 0
- })
- }
- });
+ for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) {
+ uni.uploadFile({
+ url: this.$baseUrl + '/web/public/upload',
+ filePath: chooseImageRes.tempFilePaths[i],
+ name: 'file',
+ formData: {
+ 'folder': 'orders'
+ },
+ success: (uploadFileRes) => {
+ const res = JSON.parse(uploadFileRes.data)
+ this.form.multifileList.push({
+ fileurl: res.data.imgaddr,
+ name: res.data.originname,
+ url: res.data.url,
+ type: 0
+ })
+ }
+ });
+ }
}
});
}
--
Gitblit v1.9.3