| | |
| | | <template> |
| | | <view class=""> |
| | | <scroll-view enable-flex="true"> |
| | | <view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30"> |
| | | <view class="content "> |
| | | <view class="bgblue c-p-18 chuany-flex chuany-justify-between chuany-font30"> |
| | | <view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30" @click='toEdit'> |
| | | <view class="content c-p-b-18"> |
| | | <view |
| | | class="bgblue c-p-l-18 c-p-r-18 c-p-b-10 c-p-t-10 chuany-flex chuany-justify-between chuany-font30"> |
| | | <view class="chuany-flex chuany-flex-direction"> |
| | | <text class=''> |
| | | {{$util.formatDate(detailItem.startTime)}} |
| | |
| | | 招{{detailItem.worderCounted}}/{{detailItem.worderCount}}人 |
| | | </text> |
| | | </view> |
| | | <view class="c-p-l-18 c-p-b-14 c-p-t-14 c-p-r-18 chuany-font34"> |
| | | <view class="c-p-l-18 c-p-t-5 c-p-r-18 chuany-font32"> |
| | | {{detailItem.orderName}} |
| | | </view> |
| | | <!-- <view class="chuany-flex c-p-l-18"> |
| | | <up-tag class='c-p-r-14' :text="item" plain v-for="(item,index) in item.tags" :key="index"> |
| | | </up-tag> |
| | | </view> --> |
| | | <view class="chuany-flex chuany-flex-direction"> |
| | | <text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'> |
| | | <view class="chuany-flex chuany-flex-direction chuany-font28"> |
| | | <text class='c-p-l-18 c-p-r-18 text-69'> |
| | | 日期:{{detailItem.wordStartTimeName}} 至 {{detailItem.wordEndTimeName}} |
| | | </text> |
| | | <text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'> |
| | | <view class="c-p-l-18 c-p-r-18 text-69" v-if="detailItem.zixinganpai"> |
| | | 时间:{{detailItem.zixinganpaiName}} |
| | | </view> |
| | | <view class="c-p-l-18 c-p-r-18 text-69" v-else> |
| | | 时间:{{detailItem.startTimeName}} 至 {{detailItem.endTimeName}} |
| | | </text> |
| | | </view> |
| | | </view> |
| | | <view class="chuany-flex chuany-flex-direction"> |
| | | <text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'> |
| | | <view class="chuany-flex chuany-flex-direction chuany-font28"> |
| | | <text class='c-p-l-18 c-p-r-18 text-69'> |
| | | 要求:{{detailItem.demand}} |
| | | </text> |
| | | <text class='c-p-l-18 c-p-b-14 c-p-r-18 text-69'> |
| | | <text class='c-p-l-18 c-p-r-18 text-69'> |
| | | 地址:{{detailItem.worderAddress}} |
| | | </text> |
| | | </view> |
| | | <view class='chuany-flex chuany-justify-between c-p-l-18 c-p-r-18'> |
| | | <view class='chuany-flex chuany-justify-between c-p-l-18 c-p-r-18 c-p-t-6 chuany-align-center'> |
| | | <view class="redcla"> |
| | | <text class="chuany-font40"> |
| | | {{detailItem.workPrice}} |
| | | {{detailItem.workPrice}}<template |
| | | v-if="detailItem.workPriceMax">~{{detailItem.workPriceMax}}</template> |
| | | </text> |
| | | <text class='chuany-font20'> |
| | | {{detailItem.workerType==0?'元/小时':'元/件'}} |
| | | </text> |
| | | <!-- <text class="chuany-font40"> |
| | | {{detailItem.workPrice}} |
| | | </text> |
| | | <text class='chuany-font20'> |
| | | {{detailItem.workerType==0?'元/小时':'元/件'}} |
| | | </text> --> |
| | | </view> |
| | | <!-- <up-tag text="去抢活" type="warning" shape="circle"></up-tag> --> |
| | | <!-- <up-tag text="去抢活" type="warning" shape="circle"></up-tag> --> |
| | | <view class="" @click.stop="manageOrder(detailItem)"> |
| | | <!-- <up-tag class='c-m-r-10' text="下架" shape="circle" type="error" size='mini' |
| | | v-if="detailItem.orderStatus==0" @click.stop="deleteOrder(detailItem)"></up-tag> --> |
| | | <up-button class='c-m-r-10' :text="detailItem.isEn?'下架':'上架'" shape="circle" |
| | | :loading='isLoading' :loadingText="detailItem.isEn?'下架中':'上架中'" |
| | | v-if="detailItem.orderStatus==0" :type="detailItem.isEn?'error':'primary'" |
| | | size='mini'></up-button> |
| | | <!-- <up-tag text="去抢活" type="warning" shape="circle"></up-tag> --> |
| | | <!-- <up-tag text="去抢活" type="warning" shape="circle"></up-tag> --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <!-- <template #right-icon v-if="item.isSelected"> |
| | | <up-button class="button-layout__item" text="查看" size="mini" type="primary" @click="toView(item)"></up-button> |
| | | </template> --> |
| | | <template #right-icon v-if="!item.isSelected"> |
| | | <up-button class="button-layout__item" text="确认" size="mini" type="success" |
| | | @click="selectBtn(item)"></up-button> |
| | | <template #right-icon v-if="!item.isSelected" class="chuany-flex"> |
| | | <up-tag class="button-layout__item" text="录用" size="mini" type="success" |
| | | @click="selectBtn(item,true)"></up-tag> |
| | | <up-tag class="button-layout__item c-m-l-18" text="拒绝" size="mini" type="error" |
| | | @click="selectBtn(item,false)"></up-tag> |
| | | </template> |
| | | |
| | | <template #right-icon v-else class="chuany-flex"> |
| | | <template class="" v-if="item.workPrice&&!item.showEdit"> |
| | | <up-text type="error" |
| | | :text="detailItem.workerType==0?`${item.workPrice}元/小时`:`${item.workPrice}元/件` " |
| | | size='14'></up-text> |
| | | <up-icon name="edit-pen" @click='isShow(item)'></up-icon> |
| | | <up-icon name="trash" @click='deleteWorker(item)'></up-icon> |
| | | </template> |
| | | <up-input v-model="item.workPrice" border="none" v-else type="digit"> |
| | | <template #suffix> |
| | | <up-button @tap="saveWorkPrice(item)" text="保存" type="success" |
| | | form-type="submit" size="mini"></up-button> |
| | | </template> |
| | | <!-- <template #suffix v-else> |
| | | <up-icon name="edit-pen" @click='isShow'></up-icon> |
| | | </template> --> |
| | | </up-input> |
| | | <!-- <up-text type="error" v-else text="已拒绝" size='14'></up-text> --> |
| | | <!-- <up-tag class="button-layout__item" text="录用" size="mini" type="success" |
| | | @click="selectBtn(item,true)"></up-tag> |
| | | <up-tag class="button-layout__item c-m-l-18" text="拒绝" size="mini" type="error" |
| | | @click="selectBtn(item,false)"></up-tag> --> |
| | | </template> |
| | | </up-cell> |
| | | </up-list-item> |
| | |
| | | </up-cell> |
| | | </up-list-item> --> |
| | | </up-list> |
| | | </view> |
| | | <view class="coreshop-ff" v-else> |
| | | <up-list> |
| | | <up-list v-else> |
| | | <up-list-item> |
| | | <up-cell title="暂无投递" class="u-cell__title-text_wu" :border='false'> |
| | | <!-- <template #icon> |
| | |
| | | </up-list> |
| | | </view> |
| | | </scroll-view> |
| | | |
| | | <up-modal :show="modalShow" :asyncClose="true" showCancelButton closeOnClickOverlay :content="content" |
| | | @confirm="modalConfirm" @cancel="modalCancel"> |
| | | </up-modal> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | $db |
| | | } = getCurrentInstance().appContext.config.globalProperties |
| | | const detailItem = ref({}) |
| | | const workerItem = ref({}) |
| | | let selectVal = ref(false) |
| | | let orderIdVal = ref('') |
| | | let isLoading = ref(false) |
| | | let showEdit = ref(false) |
| | | onLoad((option) => { |
| | | let { |
| | | orderid |
| | | } = option |
| | | getOrder(orderid) |
| | | orderIdVal = orderid |
| | | console.log(option, '========orderid', orderid); |
| | | // detailItem.value = JSON.parse($db.get('detailItem')) |
| | | }) |
| | | |
| | | onShow(() => { |
| | | getOrder(orderIdVal) |
| | | }) |
| | | const click = () => { |
| | | |
| | | } |
| | | |
| | | const isShow = (item) => { |
| | | item.showEdit = true |
| | | } |
| | | const deleteWorker = (item) => { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: `确认删除${item.workerName}?`, |
| | | success: function(res) { |
| | | if (res.confirm) { |
| | | // 执行确认后的操作 |
| | | isLoading.value = true |
| | | $api.saveDeltoudi({ |
| | | orderBiddingId: item.id |
| | | }).then(req => { |
| | | if (req.code == 1) { |
| | | $util.showToast({ |
| | | title: '删除成功!' |
| | | }) |
| | | getOrder(orderIdVal) |
| | | } else { |
| | | $util.showToast({ |
| | | title: req.error |
| | | }) |
| | | } |
| | | isLoading.value = false |
| | | }) |
| | | } else { |
| | | // 执行取消后的操作 |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | const saveWorkPrice = (item) => { |
| | | let obj = { |
| | | orderBiddingId: item.id, |
| | | workPrice: item.workPrice |
| | | } |
| | | console.log(item, obj); |
| | | if (!item.workPrice) { |
| | | $util.showToast({ |
| | | title: "请输入工价!", |
| | | icon: "success" |
| | | }) |
| | | return |
| | | } |
| | | $api.saveWorkPrice(obj).then(res => { |
| | | if (res.code == 1) { |
| | | $util.showToast({ |
| | | title: "工价保存成功!", |
| | | icon: "success" |
| | | }) |
| | | getOrder(orderIdVal, item.id) |
| | | item.showEdit = false |
| | | } else { |
| | | $util.showToast({ |
| | | title: res.error |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | let modalShow = ref(false) |
| | | let content = ref('') |
| | | const toView = (item) => { |
| | | uni.navigateTo({ |
| | | url: `/pages/company/index?workerid=${item.WorkerUserId}&workname=${item.WorkerName}` |
| | | }) |
| | | } |
| | | const toWorkerDetail = (item) => { |
| | | $db.set('toudiItem', JSON.stringify(item)) |
| | | $db.set('toudiItem', item) |
| | | uni.navigateTo({ |
| | | url: `/pages/worker/worker?workerid=${item.workerUserId}` |
| | | }) |
| | |
| | | url: '/pages/order/worker' |
| | | }) |
| | | } |
| | | const selectBtn = (item) => { |
| | | $api.saveQueRen({ |
| | | orderBiddingId: item.id |
| | | }).then(res => { |
| | | const selectBtn = (item, val) => { |
| | | workerItem.value = item |
| | | modalShow.value = true |
| | | selectVal.value = val |
| | | if (val) { |
| | | content.value = `确定录用${item.workerName}吗?` |
| | | } else { |
| | | content.value = `确定拒绝${item.workerName}吗?` |
| | | } |
| | | } |
| | | const modalConfirm = () => { |
| | | if (selectVal.value) { |
| | | console.log('3333333333'); |
| | | $api.saveQueRen({ |
| | | orderBiddingId: workerItem.value.id |
| | | }).then(res => { |
| | | if (res.code == 1) { |
| | | $util.showToast({ |
| | | title: "录用成功!", |
| | | icon: "success" |
| | | }) |
| | | getOrder(orderIdVal) |
| | | } else { |
| | | $util.showToast({ |
| | | title: res.error ? res.error : '失败!' |
| | | }) |
| | | } |
| | | modalShow.value = false |
| | | }) |
| | | |
| | | } else { |
| | | console.log('444444'); |
| | | $api.saveBuLuYong({ |
| | | orderBiddingId: workerItem.value.id |
| | | }).then(res => { |
| | | if (res.code == 1) { |
| | | $util.showToast({ |
| | | title: "拒绝成功!", |
| | | icon: "success" |
| | | }) |
| | | getOrder(orderIdVal) |
| | | } else { |
| | | $util.showToast({ |
| | | title: res.error ? res.error : '失败!' |
| | | }) |
| | | } |
| | | modalShow.value = false |
| | | }) |
| | | } |
| | | } |
| | | const modalCancel = () => { |
| | | modalShow.value = false |
| | | workerItem.value = {} |
| | | } |
| | | const getOrder = (orderid, id) => { |
| | | $api.getOrder(orderid).then(res => { |
| | | if (res.code == 1) { |
| | | $util.showToast({ |
| | | title: "确认成功!", |
| | | icon: "success" |
| | | res.data.orderBidding.forEach(item => { |
| | | item.showEdit = false |
| | | if (id == item.id) { |
| | | toWorkerDetail(item) |
| | | } |
| | | }) |
| | | getOrder(orderIdVal) |
| | | } else { |
| | | this.$util.showToast({ |
| | | title: res.error ? res.error : '失败!' |
| | | }) |
| | | detailItem.value = res.data |
| | | } |
| | | }) |
| | | } |
| | | const getOrder = (orderid) => { |
| | | $api.getOrder(orderid).then(res => { |
| | | if (res.code == 1) { |
| | | detailItem.value = res.data |
| | | } |
| | | const manageOrder = (item) => { |
| | | |
| | | let obj = { |
| | | orderId: item.id |
| | | } |
| | | if (item.isEn) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认下架该工作吗?下架后将删除相关数据!', |
| | | success: function(res) { |
| | | if (res.confirm) { |
| | | // 执行确认后的操作 |
| | | isLoading.value = true |
| | | $api.deleteOrder(obj).then(req => { |
| | | if (req.code == 1) { |
| | | $util.showToast({ |
| | | title: '下架成功!' |
| | | }) |
| | | getOrder(orderIdVal) |
| | | } else { |
| | | $util.showToast({ |
| | | title: req.error |
| | | }) |
| | | } |
| | | isLoading.value = false |
| | | }) |
| | | } else { |
| | | // 执行取消后的操作 |
| | | } |
| | | } |
| | | }) |
| | | } else { |
| | | item.OldId = item.id |
| | | item.id = 0 |
| | | $api.saveOrder(item).then(res => { |
| | | if (res.code == 1) { |
| | | $util.showToast({ |
| | | title: "上架成功!", |
| | | icon: "success" |
| | | }) |
| | | getOrder(orderIdVal) |
| | | } else { |
| | | $util.showToast({ |
| | | title: res.msg |
| | | }) |
| | | } |
| | | isLoading.value = false |
| | | }) |
| | | } |
| | | } |
| | | const toEdit = () => { |
| | | $db.set('editItem', detailItem.value) |
| | | uni.navigateTo({ |
| | | url: `/pages/release/index` |
| | | }) |
| | | } |
| | | </script> |
| | |
| | | } |
| | | |
| | | .content { |
| | | min-height: 380rpx; |
| | | min-height: 200rpx; |
| | | width: 100%; |
| | | background-color: #fff; |
| | | border-radius: 20rpx; |