From 3878c57a2bd710295931303ea85439a596838dfd Mon Sep 17 00:00:00 2001
From: Mr.Shi <1878285526@qq.com>
Date: 星期二, 05 九月 2023 16:01:31 +0800
Subject: [PATCH] 小程序
---
minipro_standard/pages/allocation/allocation.vue | 122 ++++++++++++++++++++++++++++++----------
1 files changed, 92 insertions(+), 30 deletions(-)
diff --git a/minipro_standard/pages/allocation/allocation.vue b/minipro_standard/pages/allocation/allocation.vue
index 43022fc..cda34f5 100644
--- a/minipro_standard/pages/allocation/allocation.vue
+++ b/minipro_standard/pages/allocation/allocation.vue
@@ -21,7 +21,7 @@
<u-icon name="arrow-right" color="#999999"></u-icon>
</view>
</view>
- <view class="fp_list_item" @click="show = true">
+ <view class="fp_list_item" @click="show1 = true">
<view class="fp_list_item_left">
<text>鐢熶骇璁惧</text>
</view>
@@ -36,10 +36,20 @@
<text>鐢熶骇浜哄憳</text>
</view>
<view class="fp_list_item_right">
- <u-checkbox-group v-model="form.personnelId" v-show="personnelData.length > 0">
- <u-checkbox :name="item.id" v-for="(item, index) in personnelData" :key="index" activeColor="#4275FC">{{item.text}}</u-checkbox>
- </u-checkbox-group>
- <view class="wu" v-show="personnelData.length === 0">
+ <template v-if="personnelData.length > 0">
+ <u-checkbox-group
+ placement="column"
+ @change="checkboxChange">
+ <u-checkbox
+ :customStyle="{marginBottom: '16rpx'}"
+ v-for="(item, index) in personnelData"
+ :key="index"
+ :label="item.text"
+ :name="item.id">
+ </u-checkbox>
+ </u-checkbox-group>
+ </template>
+ <view class="wu" v-else>
<text>鏆傛棤鏁版嵁</text>
</view>
</view>
@@ -52,17 +62,19 @@
<!-- 閫夋嫨鏃ユ湡 -->
<u-calendar :show="timeShow" @close="timeShow = false" @confirm="timeConfirm"></u-calendar>
<!-- 閫夋嫨璁惧 -->
- <u-picker :show="show" :columns="columns" @confirm="confirm" @cancel="show = false" keyName="label"></u-picker>
+ <u-picker :show="show1" :columns="equipment" @confirm="confirm" @cancel="show1 = false" keyName="text"></u-picker>
</view>
</template>
<script>
import { gsdate } from '@/util/utils.js'
+ import { distributeById, getFindAll, getDeviceByCondition } from '@/util/api/PlanningAPI'
export default {
data() {
return {
- show: false,
- columns: [[{ label: '璁惧涓�' }]],
+ id: null,
+ show1: false,
+ checkboxValue1: [],
form: {
num: '', // 鐢熶骇鏁伴噺
startTime: gsdate(new Date()), // 寮�濮嬫椂闂�
@@ -70,25 +82,79 @@
equipmentName: '', // 璁惧鍚嶇О
personnelId: [] // 浜哄憳id
},
+ isOpenDate: false,
+ equipment: [], // 璁惧鏁版嵁
personnelData: [], // 浜哄憳鏁版嵁
timeShow: false
};
},
onLoad(option) {
this.form.num = option.num
+ this.id = option.jhid
+ this.getDeviceByConditions()
},
methods: {
+ checkboxChange(ids) {
+ this.form.personnelId = ids;
+ },
go() {
uni.navigateBack({ delta: 1 });
},
+ // 纭閫夋嫨璁惧
confirm(val) {
- this.form.equipmentName = val.value[0].label
- this.form.equipmentId = 1
- this.show = false
+ this.form.equipmentId = val.value[0].id
+ this.form.equipmentName = val.value[0].text
+ this.personnelData = []
+ getFindAll({
+ deviceId: this.form.equipmentId
+ }).then(res => {
+ if (res.code === 200 && res.data && res.data.length !== 0) {
+ this.form.personnelId = []
+ let arr = []
+ res.data.forEach((item) => {
+ arr.push({ text: item.dmodel.name + '-' + item.umodel.name, id: item.userId })
+ })
+ this.personnelData = arr
+ }
+ this.show1 = false
+ })
},
timeConfirm(val) {
this.form.startTime = val[0]
this.timeShow = false
+ },
+ // 鎻愪氦鍒嗛厤
+ submit() {
+ if (!this.form.num) return uni.showToast({ title: '璁″垝鐢熶骇鏁伴噺涓嶈兘涓虹┖锛�', icon: 'none', duration: 2000 });
+ if (!this.form.startTime) return uni.showToast({ title: '璁″垝寮�濮嬫棩鏈熶笉鑳戒负绌猴紒', icon: 'none', duration: 2000 });
+ distributeById({
+ planId: this.id,
+ planNum: this.form.num,
+ planDate: this.form.startTime,
+ proGroupId: this.form.equipmentId,
+ proUserList: this.form.personnelId
+ }).then(res => {
+ if (res.code === 200) {
+ uni.showToast({ title: '鍒嗛厤鎴愬姛', icon: 'success', duration: 2000, mask: true });
+ setTimeout(() => {
+ uni.navigateBack({ delta: 1 });
+ }, 2000)
+ }
+ })
+ },
+ // 鏌ヨ璁惧
+ getDeviceByConditions() {
+ getDeviceByCondition({})
+ .then(res => {
+ if (res.code === 200) {
+ this.equipment = []
+ let arr = []
+ res.data.forEach((element) => {
+ arr.push({ text: element.code + '-' + element.name, id: element.id, checked: false })
+ })
+ this.equipment.push(arr)
+ }
+ })
}
}
}
@@ -113,7 +179,7 @@
border-bottom: 1rpx solid #ececec;
.fp_list_item_left {
flex-shrink: 0;
- margin-bottom: 20rpx;
+ margin-bottom: 40rpx;
display: flex;
align-items: center;
text {
@@ -122,9 +188,21 @@
font-weight: 400;
}
}
- .fp_list_item_right {
+ .fp_list_item_right::v-deep {
display: flex;
- align-items: center;
+ flex-direction: column;
+ .u-checkbox-group--row {
+ display: flex;
+ flex-direction: column;
+ }
+ .fp_list_item_right_dis {
+ display: flex;
+ align-items: center;
+ margin-bottom: 20rpx;
+ &:last-child {
+ margin-bottom: 0 !important;
+ }
+ }
.wu {
width: 100%;
margin: 30rpx 0;
@@ -134,22 +212,6 @@
text {
font-size: 26rpx;
color: black;
- }
- }
- .van-checkbox {
- margin-right: 5rpx !important;
- margin-top: 10rpx !important;
- &:nth-child(1) {
- margin-top: 0 !important;
- }
- &:nth-child(2) {
- margin-top: 0 !important;
- }
- &:nth-child(3) {
- margin-top: 0 !important;
- }
- .van-checkbox__label {
- color: black !important;
}
}
.black {
--
Gitblit v1.9.3