From faf1d3cc35a3a5f83558946c8056537a4d77fa1f Mon Sep 17 00:00:00 2001
From: liuleilei <234@qq.com>
Date: 星期一, 11 九月 2023 09:34:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
minipro_standard/pages/allocation/allocation.vue | 331 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 331 insertions(+), 0 deletions(-)
diff --git a/minipro_standard/pages/allocation/allocation.vue b/minipro_standard/pages/allocation/allocation.vue
new file mode 100644
index 0000000..cda34f5
--- /dev/null
+++ b/minipro_standard/pages/allocation/allocation.vue
@@ -0,0 +1,331 @@
+<template>
+ <view class="fp">
+ <view class="fp_list">
+ <view class="fp_list_item">
+ <view class="fp_list_item_left">
+ <text style="color: #f00;">*</text>
+ <text>璁″垝鐢熶骇鏁伴噺锛�</text>
+ </view>
+ <view class="fp_list_item_right">
+ <u--input placeholder="璇疯緭鍏�" :customStyle="{width: '180rpx'}" inputAlign="right" type="number" border="surround" v-model="form.num"></u--input>
+ </view>
+ </view>
+ <view class="fp_list_item">
+ <view class="fp_list_item_left">
+ <text style="color: #f00;">*</text>
+ <text>璁″垝寮�宸ユ棩鏈燂細</text>
+ </view>
+ <view class="fp_list_item_right" @click="timeShow = true">
+ <text class="black" v-if="form.startTime">{{form.startTime}}</text>
+ <text v-else>骞� / 鏈� / 鏃�</text>
+ <u-icon name="arrow-right" color="#999999"></u-icon>
+ </view>
+ </view>
+ <view class="fp_list_item" @click="show1 = true">
+ <view class="fp_list_item_left">
+ <text>鐢熶骇璁惧</text>
+ </view>
+ <view class="fp_list_item_right">
+ <text v-if="form.equipmentName" class="black">{{form.equipmentName}}</text>
+ <text v-else>璇烽�夋嫨</text>
+ <u-icon name="arrow-right" color="#999999"></u-icon>
+ </view>
+ </view>
+ <view class="fp_list_item1" v-show="form.equipmentName">
+ <view class="fp_list_item_left">
+ <text>鐢熶骇浜哄憳</text>
+ </view>
+ <view class="fp_list_item_right">
+ <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>
+ </view>
+ </view>
+ <view class="fp_footer">
+ <view class="fp_footer_close" @click="go">鍙栨秷</view>
+ <button class="fp_footer_submit" @click="submit">纭</button>
+ </view>
+ <!-- 閫夋嫨鏃ユ湡 -->
+ <u-calendar :show="timeShow" @close="timeShow = false" @confirm="timeConfirm"></u-calendar>
+ <!-- 閫夋嫨璁惧 -->
+ <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 {
+ id: null,
+ show1: false,
+ checkboxValue1: [],
+ form: {
+ num: '', // 鐢熶骇鏁伴噺
+ startTime: gsdate(new Date()), // 寮�濮嬫椂闂�
+ equipmentId: '', // 璁惧id
+ 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.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)
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+.fp {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ background: #F7F7F7;
+ .fp_list {
+ display: flex;
+ flex-direction: column;
+ .fp_list_item1 {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ padding: 20rpx 30rpx;
+ box-sizing: border-box;
+ background: #ffffff;
+ border-bottom: 1rpx solid #ececec;
+ .fp_list_item_left {
+ flex-shrink: 0;
+ margin-bottom: 40rpx;
+ display: flex;
+ align-items: center;
+ text {
+ color: #222222;
+ font-size: 30rpx;
+ font-weight: 400;
+ }
+ }
+ .fp_list_item_right::v-deep {
+ display: flex;
+ 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;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text {
+ font-size: 26rpx;
+ color: black;
+ }
+ }
+ .black {
+ color: black !important;
+ }
+ input {
+ width: 180rpx;
+ height: 60rpx;
+ border-radius: 8rpx;
+ border: 2rpx solid #E5E5E5;
+ padding: 0 30rpx;
+ text-align: right;
+ font-size: 25rpx;
+ }
+ text {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #999999;
+ margin-right: 20rpx;
+ }
+ }
+ }
+ .fp_list_item {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 30rpx;
+ height: 98rpx;
+ box-sizing: border-box;
+ background: #ffffff;
+ border-bottom: 1rpx solid #ececec;
+ .fp_list_item_left {
+ flex-shrink: 0;
+ b {
+ color: $nav-stateColor4;
+ font-size: 28rpx;
+ margin-right: 5rpx;
+ }
+ text {
+ color: #222222;
+ font-size: 30rpx;
+ font-weight: 400;
+ }
+ }
+ .fp_list_item_right {
+ display: flex;
+ align-items: center;
+ .wu {
+ text-align: center;
+ text {
+ font-size: 26rpx;
+ color: black;
+ }
+ }
+ .black {
+ color: black !important;
+ }
+ input {
+ width: 180rpx;
+ height: 60rpx;
+ border-radius: 8rpx;
+ border: 1rpx solid #E5E5E5;
+ padding: 0 30rpx;
+ text-align: right;
+ font-size: 25rpx;
+ }
+ text {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #999999;
+ margin-right: 20rpx;
+ }
+ }
+ }
+ }
+ .fp_footer {
+ width: 100%;
+ padding-left: 30rpx;
+ padding-right: 30rpx;
+ padding-bottom: 68rpx;
+ box-sizing: border-box;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .fp_footer_close {
+ width: 334rpx;
+ height: 88rpx;
+ background: #FFFFFF;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #666666;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ .fp_footer_submit {
+ width: 334rpx;
+ height: 88rpx;
+ border: none;
+ background: $nav-color;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #ffffff;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+}
+</style>
--
Gitblit v1.9.3