| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="zk"> |
| | | <view class="zk_list"> |
| | | <view class="zk_list_item" @click="open('d')"> |
| | | <text>åæ®ç±»å</text> |
| | | <view class="zk_list_item_n"> |
| | | <text :style="data.typeName ? 'color: black;' : ''">{{data.typeName ? data.typeName : 'è¯·éæ©'}}</text> |
| | | <u-icon name="arrow-right" color="#999999" size="20"></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="zk_list_item" @click="open('c')"> |
| | | <text>åºåºä»åº</text> |
| | | <view class="zk_list_item_n"> |
| | | <text :style="data.exWarehouse ? 'color: black;' : ''">{{data.exWarehouse ? data.exWarehouse : 'è¯·éæ©'}}</text> |
| | | <u-icon name="arrow-right" color="#999999" size="20"></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="zk_list_item" @click="open('r')"> |
| | | <text>å
¥åºä»åº</text> |
| | | <view class="zk_list_item_n"> |
| | | <text :style="data.warehousingWarehouseName ? 'color: black;' : ''">{{data.warehousingWarehouseName ? data.warehousingWarehouseName : 'è¯·éæ©'}}</text> |
| | | <u-icon name="arrow-right" color="#999999" size="20"></u-icon> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="zk_title"> |
| | | <view class="zk_title_i"></view> |
| | | <text>转åºç©æå表</text> |
| | | </view> |
| | | <view class="zk_wl"> |
| | | <template v-if="view.MaterialList.length > 0"> |
| | | <view class="zk_wl_item" v-for="(item, i) in view.MaterialList" :key="i"> |
| | | <image class="shanchu" src="@/static/chuku_ic_delete@2x.png" mode="widthFix" @click="dele(i)"></image> |
| | | <text>{{item.materialName}}ï½{{item.materialCode}}</text> |
| | | <text> |
| | | <text class="green" v-if="item.qualityType === '0'">åæ ¼ |</text> |
| | | <text class="yellow" v-if="item.qualityType === '1'">ä¸è¯ |</text> |
| | | <text class="red" v-if="item.qualityType === '2'">æ¥åº |</text> |
| | | <text>{{item.procedureName ? item.procedureName : '-'}} | </text> |
| | | <text>{{item.batch ? item.batch : '-'}}</text> |
| | | </text> |
| | | <view class="zk_wl_item_num"> |
| | | <text>è´§ä½ï¼{{item.locationName}}</text> |
| | | <view class="zk_wl_item_input"> |
| | | <text>æ°éï¼</text> |
| | | <input type="number" v-model="item.total" placeholder="0" /> |
| | | <text>{{item.unitName}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <view class="zk_wl_w" v-else> |
| | | <text>ææ æ°æ®</text> |
| | | </view> |
| | | </view> |
| | | <view class="zk_z"></view> |
| | | <view class="zk_footer"> |
| | | <view class="zk_footer_wl" @click="open('w')">éæ©ç©æ</view> |
| | | <view style="width: 20rpx"></view> |
| | | <view class="zk_footer_submit" @click="submit">æäº¤</view> |
| | | </view> |
| | | <!-- éæ©ä»åº --> |
| | | <Warehouse :show="view.Warehouse" @close="view.Warehouse = false" @value="getValue" /> |
| | | <!-- éæ©ç©æ --> |
| | | <multipleMaterial |
| | | :warehouseId="data.exWarehouseId.toString()" |
| | | :warehouseQualityType="view.warehouseQualityType" |
| | | :selected="view.MaterialList.map(item => item.id)" |
| | | @value="getValueWL" |
| | | ref="multipleMaterial" /> |
| | | <!-- åæ®ç±»å --> |
| | | <u-picker :show="view.type" :columns="view.documentTypeDate" keyName="name" @cancel="onCancel" @confirm="onConfirm"></u-picker> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { setTime } from '@/util/utils.js' |
| | | import { documentType } from '@/util/constData.js' |
| | | import multipleMaterial from '../../components/multipleMaterial.vue' |
| | | import Warehouse from '../../components/Warehouse.vue' |
| | | import { createZK } from '@/util/api/agencyAPI' |
| | | |
| | | export default { |
| | | components: { |
| | | multipleMaterial, |
| | | Warehouse |
| | | }, |
| | | data() { |
| | | return { |
| | | data: { |
| | | type: '', |
| | | outUserId: '', |
| | | inUserId: '', |
| | | typeName: '', |
| | | exWarehouse: '', |
| | | exWarehouseId: '', |
| | | warehousingWarehouse: '', |
| | | warehousingWarehouseName: '' |
| | | }, |
| | | view: { |
| | | type: false, |
| | | Warehouse: false, |
| | | Material: false, |
| | | status: '', |
| | | MaterialList: [], |
| | | documentTypeDate: [ |
| | | [ |
| | | { name: '车é´é¢æ', id: 1 }, |
| | | { name: '车é´è½¬åº', id: 5 }, |
| | | { name: 'å¤åé¢æè½¬åº', id: 6 }, |
| | | { name: 'å¤åå®å·¥è½¬åº', id: 7 }, |
| | | { name: '产åå
¥åº', id: 8 }, |
| | | { name: '产å转åº', id: 9 }, |
| | | { name: 'è®©æ¥æ¾è¡å
¥åº', id: 10 }, |
| | | { name: 'è®©æ¥æ¾è¡è½¬åº', id: 11 }, |
| | | { name: '客è¿è¿ä¿®é¢æ', id: 12 }, |
| | | { name: '客è¿è¿ä¿®å
¥åº', id: 13 }, |
| | | { name: 'è·¨ç»ç»è½¬åº', id: 14 }, |
| | | { name: '客éè¿ä¿®é¢æ', id: 16 }, |
| | | { name: '客éè¿ä¿®å
¥åº', id: 17 }, |
| | | { name: 'åºåå
¥åº', id: 30 } |
| | | ] |
| | | ], |
| | | warehouseQualityType: '' |
| | | } |
| | | }; |
| | | }, |
| | | methods: { |
| | | // å é¤ç©æ |
| | | dele(i) { |
| | | this.view.MaterialList.splice(i, 1) |
| | | }, |
| | | // ä»åºåè° |
| | | getValue(val) { |
| | | if (this.view.status === 'c') { |
| | | if (this.data.exWarehouseId !== val.id) { |
| | | this.view.MaterialList = [] |
| | | } |
| | | this.data.exWarehouse = val.name |
| | | this.data.exWarehouseId = val.id |
| | | this.data.outUserId = val.managerId |
| | | } else if (this.view.status === 'r') { |
| | | this.data.warehousingWarehouseName = val.name |
| | | this.data.warehousingWarehouse = val.id |
| | | this.data.inUserId = val.managerId |
| | | this.view.warehouseQualityType = val.tmodel.label |
| | | } |
| | | this.view.Warehouse = false |
| | | }, |
| | | // ç©æåè° |
| | | getValueWL(val) { |
| | | val.forEach(element => { |
| | | element.total = element.num |
| | | }) |
| | | this.view.MaterialList.push(...val) |
| | | this.view.Material = false |
| | | }, |
| | | // ç¡®è®¤åæ®ç±»å |
| | | onConfirm(val) { |
| | | this.data.type = val.value[0].id |
| | | this.data.typeName = val.value[0].name |
| | | this.view.type = false |
| | | }, |
| | | onCancel() { |
| | | this.view.type = false |
| | | }, |
| | | // å建转åºå |
| | | submit() { |
| | | if (!this.data.type) return uni.showToast({ title: 'åæ®ç±»åä¸è½ä¸ºç©º', icon: 'none', duration: 2000 }); |
| | | if (!this.data.exWarehouse) return uni.showToast({ title: 'åºåºä»åºä¸è½ä¸ºç©º', icon: 'none', duration: 2000 }); |
| | | if (!this.data.warehousingWarehouse) return uni.showToast({ title: 'å
¥åºä»åºä¸è½ä¸ºç©º', icon: 'none', duration: 2000 }); |
| | | if (this.view.MaterialList.length === 0) return uni.showToast({ title: '转åºç©æä¸è½ä¸ºç©º', icon: 'none', duration: 2000 }); |
| | | for (let i = 0; i < this.view.MaterialList.length; i++) { |
| | | if (!this.view.MaterialList[i].total || this.view.MaterialList[i].total <= 0) { |
| | | uni.showToast({ title: 'è½¬åºæ°éå¿
须大äº0', icon: 'none', duration: 2000 }); |
| | | return |
| | | } |
| | | if (Number(this.view.MaterialList[i].total) > Number(this.view.MaterialList[i].num)) { |
| | | uni.showToast({ title: '转åºçç©ææ°éä¸è½å¤§äºåºåéï¼', icon: 'none', duration: 2000 }); |
| | | return |
| | | } |
| | | } |
| | | let time = setTime(new Date(), '-') |
| | | let wtransferDetailBeanList = [] |
| | | this.view.MaterialList.forEach((element) => { |
| | | wtransferDetailBeanList.push({ |
| | | batch: element.batch, |
| | | materialId: element.materialId, |
| | | procedureId: element.procedureId, |
| | | procedureName: element.procedureName, |
| | | qualityType: element.qualityType, |
| | | unitId: element.unitId, |
| | | outPlanNum: element.total, |
| | | proceduresId: element.procedureId, |
| | | inLocationId: null, |
| | | outLocationId: element.locationId, |
| | | inWarehouseId: this.data.exWarehouseId, |
| | | outWarehouseId: this.data.warehousingWarehouse |
| | | }) |
| | | }) |
| | | createZK({ |
| | | type: this.data.type, |
| | | outPlandate: time, |
| | | inPlandate: time, |
| | | origin: 0, |
| | | outUserId: this.data.outUserId, |
| | | inUserId: this.data.inUserId, |
| | | inWarehouseId: this.data.warehousingWarehouse, |
| | | outWarehouseId: this.data.exWarehouseId, |
| | | wtransferDetailBeanList |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | uni.showToast({ title: 'å建æåï¼', icon: 'success', duration: 2000 }); |
| | | setTimeout(() => { |
| | | uni.navigateBack({ delta: 1 }); |
| | | }, 2000) |
| | | } |
| | | }) |
| | | }, |
| | | // æå¼éæ©å¼¹æ¡ |
| | | open(type) { |
| | | if (type === 'd') { |
| | | this.view.type = true |
| | | } else if (type === 'c') { |
| | | this.view.status = 'c' |
| | | this.view.Warehouse = true |
| | | } else if (type === 'r') { |
| | | this.view.status = 'r' |
| | | this.view.Warehouse = true |
| | | } else if (type === 'w') { |
| | | if (this.data.exWarehouseId) { |
| | | if (this.data.warehousingWarehouseName) { |
| | | // let arr = [] |
| | | // this.view.MaterialList.forEach(element => { |
| | | // arr.push(element.id) |
| | | // }) |
| | | // const { selected } = Material.value |
| | | // Material.value.selected = arr |
| | | // view.Material = true |
| | | this.$refs.multipleMaterial.open() |
| | | } else { |
| | | uni.showToast({ title: '请å
éæ©å
¥åºä»åº', icon: 'none', duration: 2000 }); |
| | | } |
| | | } else { |
| | | uni.showToast({ title: '请å
éæ©åºåºä»åº', icon: 'none', duration: 2000 }); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .zk { |
| | | position: absolute; |
| | | width: 100%; |
| | | |
| | | .zk_list { |
| | | padding: 0 30rpx; |
| | | background: white; |
| | | margin-top: 20rpx; |
| | | |
| | | .zk_list_item { |
| | | height: 98rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | |
| | | &:last-child { |
| | | border: none !important; |
| | | } |
| | | |
| | | text { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | |
| | | .zk_list_item_n { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | text { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | margin-right: 10rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .zk_title { |
| | | padding: 40rpx 30rpx 30rpx 30rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .zk_title_i { |
| | | width: 8rpx; |
| | | height: 30rpx; |
| | | background: #4275FC; |
| | | border-radius: 2rpx; |
| | | margin-right: 12rpx; |
| | | } |
| | | |
| | | text { |
| | | font-size: 32rpx; |
| | | font-weight: 500; |
| | | color: #222222; |
| | | } |
| | | } |
| | | |
| | | .zk_wl { |
| | | background: white; |
| | | |
| | | .zk_wl_w { |
| | | width: 100%; |
| | | height: 200rpx; |
| | | background: white; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 26rpx; |
| | | color: black; |
| | | } |
| | | |
| | | .zk_wl_item { |
| | | display: flex; |
| | | flex-direction: column; |
| | | padding: 30rpx; |
| | | border-bottom: 1rpx solid #e2e2e2; |
| | | position: relative; |
| | | |
| | | .shanchu { |
| | | width: 48rpx; |
| | | height: 48rpx; |
| | | position: absolute; |
| | | top: 0; |
| | | right: 0; |
| | | } |
| | | |
| | | .zk_wl_item_num { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-top: 30rpx; |
| | | |
| | | .zk_wl_item_input { |
| | | display: flex; |
| | | align-items: center; |
| | | text { |
| | | font-size: 26rpx; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | color: #666666; |
| | | } |
| | | } |
| | | |
| | | text { |
| | | font-size: 26rpx; |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | margin: 0 !important; |
| | | } |
| | | |
| | | input { |
| | | width: 140rpx; |
| | | height: 60rpx; |
| | | background: #FFFFFF; |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #CCCCCC; |
| | | padding: 0 30rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | input::-webkit-input-placeholder { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | } |
| | | } |
| | | |
| | | text { |
| | | &:nth-child(1) { |
| | | font-size: 30rpx; |
| | | font-weight: 500; |
| | | color: #222222; |
| | | margin-bottom: 24rpx; |
| | | } |
| | | |
| | | &:nth-child(2) { |
| | | font-size: 24rpx; |
| | | font-weight: 400; |
| | | color: #666666; |
| | | margin-bottom: 30rpx; |
| | | |
| | | text { |
| | | font-size: 24rpx; |
| | | } |
| | | } |
| | | |
| | | &:nth-child(3) { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .zk_z { |
| | | height: 168rpx; |
| | | } |
| | | |
| | | .zk_footer { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | padding: 0 30rpx; |
| | | position: fixed; |
| | | bottom: 0; |
| | | left: 0; |
| | | z-index: 999; |
| | | padding-bottom: 68rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | .zk_footer_wl { |
| | | flex: 1; |
| | | height: 88rpx; |
| | | background: #FFFFFF; |
| | | box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08); |
| | | border-radius: 8rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 30rpx; |
| | | font-weight: 500; |
| | | color: $nav-color; |
| | | } |
| | | |
| | | .zk_footer_submit { |
| | | flex: 1; |
| | | height: 88rpx; |
| | | background: $nav-color; |
| | | box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08); |
| | | border-radius: 8rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 30rpx; |
| | | font-weight: 500; |
| | | color: #FFFFFF; |
| | | } |
| | | } |
| | | } |
| | | </style> |