| | |
| | | <text>计划生产数量:</text> |
| | | </view> |
| | | <view class="fp_list_item_right"> |
| | | <input type="number" v-model="form.num" placeholder="请输入" /> |
| | | <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" @click="timeShow = true"> |
| | | <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"> |
| | | <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="openSB"> |
| | | <view class="fp_list_item" @click="show1 = true"> |
| | | <view class="fp_list_item_left"> |
| | | <text>生产设备</text> |
| | | </view> |
| | |
| | | <text>生产人员</text> |
| | | </view> |
| | | <view class="fp_list_item_right"> |
| | | <u-checkbox-group v-model="form.personnelId" direction="horizontal" v-show="personnelData.length > 0"> |
| | | <u-checkbox :name="item.id" v-for="(item, index) in personnelData" :key="index" checked-color="#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> |
| | |
| | | <button class="fp_footer_submit" @click="submit">确认</button> |
| | | </view> |
| | | <!-- 选择日期 --> |
| | | <u-calendar :show="timeShow" mode="range" @confirm="timeConfirm"></u-calendar> |
| | | <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: $route.query.num, // 生产数量 |
| | | 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) { |
| | | console.log(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.$emit('update', { msg:'刷新列表' }) |
| | | 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) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | border-bottom: 1rpx solid #ececec; |
| | | .fp_list_item_left { |
| | | flex-shrink: 0; |
| | | margin-bottom: 20rpx; |
| | | margin-bottom: 40rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | text { |
| | |
| | | font-weight: 400; |
| | | } |
| | | } |
| | | .fp_list_item_right v-deep { |
| | | .fp_list_item_right::v-deep { |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | .u-checkbox-group--row { |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .u-icon__icon { |
| | | margin-right: 0 !important; |
| | | } |
| | | .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; |
| | |
| | | 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 { |
| | | color: black !important; |
| | | } |
| | | input { |
| | | width: 180rpx; |
| | | height: 60rpx; |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #E5E5E5; |
| | | padding: 0 30rpx; |
| | | text-align: right; |
| | | font-size: 25rpx; |
| | | } |
| | | // 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; |
| | |
| | | font-weight: 400; |
| | | } |
| | | } |
| | | .fp_list_item_right { |
| | | .fp_list_item_right::v-deep { |
| | | display: flex; |
| | | align-items: center; |
| | | .u-icon__icon { |
| | | margin-right: 0 !important; |
| | | } |
| | | .wu { |
| | | text-align: center; |
| | | text { |
| | |
| | | .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; |
| | | } |
| | | // 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; |