Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev
# Conflicts:
# manifest.json
| | |
| | | getUserInfo |
| | | } from "./utils/auth"; |
| | | import getuiUtils from "./utils/getuiUtils"; |
| | | import { overrideUniRequest, cancelAllRequest } from './utils/RequestQueue' |
| | | import { |
| | | overrideUniRequest, |
| | | cancelAllRequest |
| | | } from './utils/RequestQueue' |
| | | export default { |
| | | onLaunch: function() { |
| | | console.log('App Launch') |
| | |
| | | sWhere += ` and (单据号 like '%${this.HBillNo}%' `; |
| | | } |
| | | sWhere += ` and isnull(维修人,'')!='${uni.getStorageSync('HUserName')}$' ` |
| | | sWhere += ` and isnull(关闭人,'')!='' ` |
| | | sWhere += ` and isnull(关闭人,'') ='' ` |
| | | return sWhere; |
| | | }, |
| | | |
| | |
| | | HEquipName: bill['设备名称'], |
| | | HEquipSpec: bill['模具规格'], |
| | | HEquipModel: bill['模具型号'], |
| | | HBillType: bill['HBillType'], |
| | | enableMultiSourceBill: this.MultiSourceBill |
| | | }) |
| | | } else { |
| | |
| | | <template> |
| | | <view> |
| | | <uni-popup ref="popup" type="bottom" @change="popupChangeHandler"> |
| | | <view class="content"> |
| | | <view class="search-condition"> |
| | | <view class="title"><text>日期: </text></view> |
| | | <view class="daterange" style="flex: 1;"> |
| | | <view class="right general"> |
| | | <uni-datetime-picker type="date" :clear-icon="false" v-model="HBeginDate"> |
| | | <view>{{HBeginDate}}</view> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | <view>—</view> |
| | | <view class="right general"> |
| | | <uni-datetime-picker type="date" :clear-icon="false" v-model="HEndDate"> |
| | | <view>{{HEndDate}}</view> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="search-condition"> |
| | | <view class="title"><text>模具编码: </text></view> |
| | | <view class="right"><input type="text" :focus="enablefocus" v-model="HNumber" |
| | | @confirm="getBillList" /></view> |
| | | </view> |
| | | <view class="search-condition"> |
| | | <view class="title"><text>模具名称: </text></view> |
| | | <view class="right"><input type="text" v-model="HName" @confirm="getBillList" /></view> |
| | | </view> |
| | | <view class="search-condition"> |
| | | <view class="title"><text>单据号: </text></view> |
| | | <view class="right"><input type="text" v-model="HBillNo" @confirm="getBillList" /></view> |
| | | </view> |
| | | <view class="buttons"> |
| | | <view style="flex: 1;"></view> |
| | | <button size="mini" type="primary" @click="search">搜索</button> |
| | | <button v-if="MultiSourceBill" size="mini" type="primary" @click="ret">返回</button> |
| | | <button size="mini" type="primary" @click="exit">退出</button> |
| | | </view> |
| | | <scroll-view id="#BillListPanel" scroll-y="true" style="height: 55vh;"> |
| | | <view class="options-wrapper" v-show="HBillList.length != 0"> |
| | | <uni-card :is-active="bill.isActive" :class="bill.isActive?'uni-card--is-active':''" |
| | | v-for="(bill, index) in HBillList[curPage-1]" :key="index" :title="bill['单据号']" |
| | | @tap="clickCard(bill, index)"> |
| | | <view class="item"> |
| | | <view class="left">日期: </view> |
| | | <view class="right">{{dayjs(bill['日期']).format('YYYY-MM-DD')}}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="left">故障类别代码: </view> |
| | | <view class="right">{{bill['故障类别代码']}}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="left">故障类别: </view> |
| | | <view class="right">{{bill['故障类别']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['产品模具代码']"> |
| | | <view class="left">产品模具代码: </view> |
| | | <view class="right">{{bill['产品模具代码']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['产品模具']"> |
| | | <view class="left">产品模具: </view> |
| | | <view class="right">{{bill['款号']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['模具规格']"> |
| | | <view class="left">模具规格: </view> |
| | | <view class="right">{{bill['模具规格']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['模具型号']"> |
| | | <view class="left">模具型号: </view> |
| | | <view class="right">{{bill['模具型号']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['故障发生日期']"> |
| | | <view class="left">故障发生日期: </view> |
| | | <view class="right">{{dayjs(bill['故障发生日期']).format('YYYY-MM-DD')}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['要求完善日期']"> |
| | | <view class="left">要求完善日期: </view> |
| | | <view class="right">{{dayjs(bill['要求完善日期']).format('YYYY-MM-DD')}}</view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="over" v-show="HBillList.length == 0">暂无数据</view> |
| | | </scroll-view> |
| | | <uni-pagination id="#pagination" title="标题文字" v-model="curPage" :pageSize="size" |
| | | :total="length"></uni-pagination> |
| | | </view> |
| | | <view> |
| | | <uni-popup ref="popup" type="bottom" @change="popupChangeHandler"> |
| | | <view class="content"> |
| | | <view class="search-condition"> |
| | | <view class="title"><text>日期: </text></view> |
| | | <view class="daterange" style="flex: 1;"> |
| | | <view class="right general"> |
| | | <uni-datetime-picker type="date" :clear-icon="false" v-model="HBeginDate"> |
| | | <view>{{HBeginDate}}</view> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | <view>—</view> |
| | | <view class="right general"> |
| | | <uni-datetime-picker type="date" :clear-icon="false" v-model="HEndDate"> |
| | | <view>{{HEndDate}}</view> |
| | | </uni-datetime-picker> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="search-condition"> |
| | | <view class="title"><text>模具编码: </text></view> |
| | | <view class="right"><input type="text" :focus="enablefocus" v-model="HNumber" |
| | | @confirm="getBillList" /></view> |
| | | </view> |
| | | <view class="search-condition"> |
| | | <view class="title"><text>模具名称: </text></view> |
| | | <view class="right"><input type="text" v-model="HName" @confirm="getBillList" /></view> |
| | | </view> |
| | | <view class="search-condition"> |
| | | <view class="title"><text>单据号: </text></view> |
| | | <view class="right"><input type="text" v-model="HBillNo" @confirm="getBillList" /></view> |
| | | </view> |
| | | <view class="buttons"> |
| | | <view style="flex: 1;"></view> |
| | | <button size="mini" type="primary" @click="search">搜索</button> |
| | | <button v-if="MultiSourceBill" size="mini" type="primary" @click="ret">返回</button> |
| | | <button size="mini" type="primary" @click="exit">退出</button> |
| | | </view> |
| | | <scroll-view id="#BillListPanel" scroll-y="true" style="height: 55vh;"> |
| | | <view class="options-wrapper" v-show="HBillList.length != 0"> |
| | | <uni-card :is-active="bill.isActive" :class="bill.isActive?'uni-card--is-active':''" |
| | | v-for="(bill, index) in HBillList[curPage-1]" :key="index" :title="bill['单据号']" |
| | | @tap="clickCard(bill, index)"> |
| | | <view class="item"> |
| | | <view class="left">日期: </view> |
| | | <view class="right">{{dayjs(bill['日期']).format('YYYY-MM-DD')}}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="left">故障类别代码: </view> |
| | | <view class="right">{{bill['故障类别代码']}}</view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="left">故障类别: </view> |
| | | <view class="right">{{bill['故障类别']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['产品模具代码']"> |
| | | <view class="left">产品模具代码: </view> |
| | | <view class="right">{{bill['产品模具代码']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['产品模具']"> |
| | | <view class="left">产品模具: </view> |
| | | <view class="right">{{bill['款号']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['模具规格']"> |
| | | <view class="left">模具规格: </view> |
| | | <view class="right">{{bill['模具规格']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['模具型号']"> |
| | | <view class="left">模具型号: </view> |
| | | <view class="right">{{bill['模具型号']}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['故障发生日期']"> |
| | | <view class="left">故障发生日期: </view> |
| | | <view class="right">{{dayjs(bill['故障发生日期']).format('YYYY-MM-DD')}}</view> |
| | | </view> |
| | | <view class="item" v-if="bill['要求完善日期']"> |
| | | <view class="left">要求完善日期: </view> |
| | | <view class="right">{{dayjs(bill['要求完善日期']).format('YYYY-MM-DD')}}</view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="over" v-show="HBillList.length == 0">暂无数据</view> |
| | | </scroll-view> |
| | | <uni-pagination id="#pagination" title="标题文字" v-model="curPage" :pageSize="size" |
| | | :total="length"></uni-pagination> |
| | | </view> |
| | | |
| | | </uni-popup> |
| | | </view> |
| | | </uni-popup> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import dayjs from 'dayjs'; |
| | | import { |
| | | CommonUtils |
| | | } from '../../utils/common'; |
| | | import { |
| | | getUserInfo |
| | | } from '../../utils/auth'; |
| | | export default { |
| | | name: "BillListPopup", |
| | | data() { |
| | | return { |
| | | dayjs: dayjs, |
| | | enablefocus: false, |
| | | size: 20, |
| | | curPage: 1, |
| | | length: 0, |
| | | page: 0, |
| | | HSourceBillNo: '', |
| | | HMater: '', |
| | | HCustom: '', |
| | | HBillList: [], |
| | | panelHeight: 0, |
| | | HBeginDate: dayjs(new Date()).subtract(30, 'd').format("YYYY-MM-DD"), |
| | | HEndDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HNumber: '', |
| | | HName: '', |
| | | HBillNo: '', |
| | | import dayjs from 'dayjs'; |
| | | import { |
| | | CommonUtils |
| | | } from '../../utils/common'; |
| | | import { |
| | | getUserInfo |
| | | } from '../../utils/auth'; |
| | | export default { |
| | | name: "BillListPopup", |
| | | data() { |
| | | return { |
| | | dayjs: dayjs, |
| | | enablefocus: false, |
| | | size: 20, |
| | | curPage: 1, |
| | | length: 0, |
| | | page: 0, |
| | | HSourceBillNo: '', |
| | | HMater: '', |
| | | HCustom: '', |
| | | HBillList: [], |
| | | panelHeight: 0, |
| | | HBeginDate: dayjs(new Date()).subtract(30, 'd').format("YYYY-MM-DD"), |
| | | HEndDate: dayjs(new Date()).format("YYYY-MM-DD"), |
| | | HNumber: '', |
| | | HName: '', |
| | | HBillNo: '', |
| | | |
| | | multiSouceBillList: [] |
| | | }; |
| | | }, |
| | | props: { |
| | | HBillType: { |
| | | type: [String, Number], |
| | | required: true |
| | | }, |
| | | HSourceBillType: { |
| | | type: [String, Number], |
| | | required: true |
| | | }, |
| | | HStockOrgID: { |
| | | type: [String, Number], |
| | | required: true |
| | | }, |
| | | MultiSourceBill: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | } |
| | | }, |
| | | model: { |
| | | prop: "HSourceBill", |
| | | event: 'change' |
| | | }, |
| | | methods: { |
| | | popupChangeHandler(e) { |
| | | if (e.show === true) { |
| | | this.getBillList() |
| | | } |
| | | }, |
| | | async exit() { |
| | | this.size = 20 |
| | | this.curPage = 1 |
| | | this.length = 0 |
| | | this.page = 0 |
| | | this.HSourceBillNo = '' |
| | | this.HMater = '' |
| | | this.HCustom = '' |
| | | this.HBillList = [] |
| | | this.enablefocus = false |
| | | this.multiSouceBillList = [] |
| | | // 需要等待页面内的数据赋值完毕 |
| | | await this.$nextTick() |
| | | this.$refs.popup.close(); |
| | | }, |
| | | search() { |
| | | this.getBillList() |
| | | }, |
| | | ret() { |
| | | console.log('this.MultiSourceBill: ', this.MultiSourceBill); |
| | | uni.$emit('BillSelectComplete', { |
| | | HInterID: 0, |
| | | HBillNo: 0, |
| | | enableMultiSourceBill: this.MultiSourceBill, |
| | | MultiSourceBillList: this.multiSouceBillList |
| | | }) |
| | | }, |
| | | showPopup() { |
| | | this.$refs.popup.open(); |
| | | }, |
| | | clickCard(bill, index) { |
| | | if (this.MultiSourceBill == false) { // 非多源单模式 |
| | | uni.$emit('BillSelectComplete', { |
| | | HInterID: bill["hmainid"], |
| | | HEntryID: bill["hsubid"], |
| | | HBillNo: bill["单据号"], |
| | | HMouldID: bill["HMouldID"], |
| | | HMouldName: bill['产品模具'], |
| | | HMouldSpec: bill['模具规格'], |
| | | HMouldModel: bill['模具型号'], |
| | | enableMultiSourceBill: this.MultiSourceBill |
| | | }) |
| | | } else { |
| | | this.$set(this.HBillList[this.curPage - 1][index], 'isActive', !this.HBillList[this.curPage - 1][ |
| | | index |
| | | ]['isActive']) |
| | | console.log(this.HBillList[this.curPage - 1][index]) |
| | | // 设置了多源单模式 |
| | | this.setMultiSourceBillList({ |
| | | HInterID: interid, |
| | | HBillNo: billno, |
| | | HIsActive: this.HBillList[this.curPage - 1][index]['isActive'] |
| | | }) |
| | | } |
| | | multiSouceBillList: [] |
| | | }; |
| | | }, |
| | | props: { |
| | | HBillType: { |
| | | type: [String, Number], |
| | | required: true |
| | | }, |
| | | HSourceBillType: { |
| | | type: [String, Number], |
| | | required: true |
| | | }, |
| | | HStockOrgID: { |
| | | type: [String, Number], |
| | | required: true |
| | | }, |
| | | MultiSourceBill: { |
| | | type: Boolean, |
| | | default: false, |
| | | required: false |
| | | }, |
| | | // 新增:是否忽略关闭人过滤条件 |
| | | ignoreClosePersonFilter: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | HMouldID: { |
| | | type: Number, |
| | | default: 0 |
| | | } |
| | | }, |
| | | model: { |
| | | prop: "HSourceBill", |
| | | event: 'change' |
| | | }, |
| | | methods: { |
| | | popupChangeHandler(e) { |
| | | if (e.show === true) { |
| | | this.getBillList() |
| | | } |
| | | }, |
| | | async exit() { |
| | | this.size = 20 |
| | | this.curPage = 1 |
| | | this.length = 0 |
| | | this.page = 0 |
| | | this.HSourceBillNo = '' |
| | | this.HMater = '' |
| | | this.HCustom = '' |
| | | this.HBillList = [] |
| | | this.enablefocus = false |
| | | this.multiSouceBillList = [] |
| | | // 需要等待页面内的数据赋值完毕 |
| | | await this.$nextTick() |
| | | this.$refs.popup.close(); |
| | | }, |
| | | search() { |
| | | this.getBillList() |
| | | }, |
| | | ret() { |
| | | console.log('this.MultiSourceBill: ', this.MultiSourceBill); |
| | | uni.$emit('BillSelectComplete', { |
| | | HInterID: 0, |
| | | HBillNo: 0, |
| | | enableMultiSourceBill: this.MultiSourceBill, |
| | | MultiSourceBillList: this.multiSouceBillList |
| | | }) |
| | | }, |
| | | showPopup() { |
| | | this.$refs.popup.open(); |
| | | }, |
| | | clickCard(bill, index) { |
| | | if (this.MultiSourceBill == false) { // 非多源单模式 |
| | | uni.$emit('BillSelectComplete', { |
| | | HInterID: bill["hmainid"], |
| | | HEntryID: bill["hsubid"], |
| | | HBillNo: bill["单据号"], |
| | | HMouldID: bill["HMouldID"], |
| | | HMouldName: bill['产品模具'], |
| | | HMouldSpec: bill['模具规格'], |
| | | HMouldModel: bill['模具型号'], |
| | | enableMultiSourceBill: this.MultiSourceBill |
| | | }) |
| | | } else { |
| | | this.$set(this.HBillList[this.curPage - 1][index], 'isActive', !this.HBillList[this.curPage - 1][ |
| | | index |
| | | ]['isActive']) |
| | | console.log(this.HBillList[this.curPage - 1][index]) |
| | | // 设置了多源单模式 |
| | | this.setMultiSourceBillList({ |
| | | HInterID: interid, |
| | | HBillNo: billno, |
| | | HIsActive: this.HBillList[this.curPage - 1][index]['isActive'] |
| | | }) |
| | | } |
| | | |
| | | // this.exit() |
| | | }, |
| | | setMultiSourceBillList(billInfo) { |
| | | let index = this.multiSouceBillList.findIndex(item => item.HInterID == billInfo.HInterID) |
| | | if (index == -1) { |
| | | billInfo['count'] = 1 |
| | | this.multiSouceBillList.push(billInfo) |
| | | } else { |
| | | if (billInfo.HIsActive) { |
| | | // 如果对应单据传入的是否激活数是true,则计数器+1 |
| | | this.multiSouceBillList[index]['count']++; |
| | | } else { |
| | | // 如果对应单据传入的是否激活数是false,则计数器-1 |
| | | this.multiSouceBillList[index]['count']--; |
| | | } |
| | | if (this.multiSouceBillList[index]['count'] == 0) { |
| | | // 没有选中的单据,则移除缓存中的数据 |
| | | this.multiSouceBillList.splice(index, 1) |
| | | } |
| | | } |
| | | console.log('this.multiSouceBillList: ', this.multiSouceBillList); |
| | | }, |
| | | getsWhere() { |
| | | let sWhere = '' |
| | | if (this.HBeginDate && this.HEndDate) { |
| | | sWhere += ` and CONVERT(varchar(100),日期, 23) between '${this.HBeginDate}' and '${this.HEndDate}'` |
| | | } |
| | | // this.exit() |
| | | }, |
| | | setMultiSourceBillList(billInfo) { |
| | | let index = this.multiSouceBillList.findIndex(item => item.HInterID == billInfo.HInterID) |
| | | if (index == -1) { |
| | | billInfo['count'] = 1 |
| | | this.multiSouceBillList.push(billInfo) |
| | | } else { |
| | | if (billInfo.HIsActive) { |
| | | // 如果对应单据传入的是否激活数是true,则计数器+1 |
| | | this.multiSouceBillList[index]['count']++; |
| | | } else { |
| | | // 如果对应单据传入的是否激活数是false,则计数器-1 |
| | | this.multiSouceBillList[index]['count']--; |
| | | } |
| | | if (this.multiSouceBillList[index]['count'] == 0) { |
| | | // 没有选中的单据,则移除缓存中的数据 |
| | | this.multiSouceBillList.splice(index, 1) |
| | | } |
| | | } |
| | | console.log('this.multiSouceBillList: ', this.multiSouceBillList); |
| | | }, |
| | | getsWhere() { |
| | | let sWhere = '' |
| | | if (this.HBeginDate && this.HEndDate) { |
| | | sWhere += ` and CONVERT(varchar(100),日期, 23) between '${this.HBeginDate}' and '${this.HEndDate}'` |
| | | } |
| | | |
| | | |
| | | if (this.HNumber) { |
| | | sWhere += ` and 产品模具代码 like '%${this.HNumber}%'` |
| | | } |
| | | if (this.HNumber) { |
| | | sWhere += ` and 产品模具代码 like '%${this.HNumber}%'` |
| | | } |
| | | |
| | | if (this.HName) { |
| | | sWhere += ` and 产品模具 like '%${this.HName}%'` |
| | | } |
| | | |
| | | if (this.HBillNo) { |
| | | sWhere += ` and 单据号 like '%${this.HBillNo}%'` |
| | | } |
| | | sWhere += ` and isnull(关闭人,'')!='' ` |
| | | return sWhere |
| | | }, |
| | | getBillList() { |
| | | this.HBillList = [] |
| | | this.length = 0 |
| | | this.page = 0 |
| | | this.curPage = 1 |
| | | CommonUtils.doRequest( |
| | | "/Sc_MouldConkBookBill/GetMouldConkBookBillList_PDA", { |
| | | sWhere: this.getsWhere(), |
| | | user: getUserInfo()["Czymc"] |
| | | }, |
| | | (res) => { |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | this.length = Array.from(data).length |
| | | const result = []; |
| | | for (let i = 0; i < data.length; i += this.size) { |
| | | result.push(data.slice(i, i + this.size)); |
| | | } |
| | | this.HBillList = result |
| | | this.page = result.length |
| | | setTimeout(() => { |
| | | this.enablefocus = true |
| | | }, 500) |
| | | } else { |
| | | setTimeout(() => { |
| | | this.enablefocus = true |
| | | }, 500) |
| | | uni.showToast({ |
| | | icon: 'none', |
| | | title: Message |
| | | }) |
| | | } |
| | | } |
| | | ) |
| | | }, |
| | | }, |
| | | } |
| | | if (this.HName) { |
| | | sWhere += ` and 产品模具 like '%${this.HName}%'` |
| | | } |
| | | if (this.HMouldID && this.HMouldID > 0) { |
| | | sWhere += ` and HMouldID = ${this.HMouldID}` |
| | | } |
| | | if (this.HBillNo) { |
| | | sWhere += ` and 单据号 like '%${this.HBillNo}%'` |
| | | } |
| | | // 关键修改:只有当不忽略过滤时,才添加关闭人条件 |
| | | if (!this.ignoreClosePersonFilter) { |
| | | sWhere += ` and isnull(关闭人,'') ='' ` |
| | | } |
| | | return sWhere |
| | | }, |
| | | getBillList() { |
| | | this.HBillList = [] |
| | | this.length = 0 |
| | | this.page = 0 |
| | | this.curPage = 1 |
| | | CommonUtils.doRequest( |
| | | "/Sc_MouldConkBookBill/GetMouldConkBookBillList_PDA", { |
| | | sWhere: this.getsWhere(), |
| | | user: getUserInfo()["Czymc"] |
| | | }, |
| | | (res) => { |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | this.length = Array.from(data).length |
| | | const result = []; |
| | | for (let i = 0; i < data.length; i += this.size) { |
| | | result.push(data.slice(i, i + this.size)); |
| | | } |
| | | this.HBillList = result |
| | | this.page = result.length |
| | | setTimeout(() => { |
| | | this.enablefocus = true |
| | | }, 500) |
| | | } else { |
| | | setTimeout(() => { |
| | | this.enablefocus = true |
| | | }, 500) |
| | | uni.showToast({ |
| | | icon: 'none', |
| | | title: Message |
| | | }) |
| | | } |
| | | } |
| | | ) |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .content { |
| | | box-sizing: border-box; |
| | | border-radius: 15rpx 15rpx 0 0; |
| | | padding: 20rpx 20rpx 40rpx 20rpx; |
| | | background-color: #fff; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 10rpx; |
| | | .content { |
| | | box-sizing: border-box; |
| | | border-radius: 15rpx 15rpx 0 0; |
| | | padding: 20rpx 20rpx 40rpx 20rpx; |
| | | background-color: #fff; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 10rpx; |
| | | |
| | | .search-condition { |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | gap: 20rpx; |
| | | font-size: 30rpx; |
| | | .search-condition { |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | gap: 20rpx; |
| | | font-size: 30rpx; |
| | | |
| | | .title { |
| | | width: 5rem; |
| | | text-align: right; |
| | | } |
| | | .title { |
| | | width: 5rem; |
| | | text-align: right; |
| | | } |
| | | |
| | | .right { |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | height: auto; |
| | | padding: 8rpx 16rpx; |
| | | .right { |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | height: auto; |
| | | padding: 8rpx 16rpx; |
| | | |
| | | input { |
| | | width: 100%; |
| | | font-size: 30rpx; |
| | | } |
| | | } |
| | | } |
| | | input { |
| | | width: 100%; |
| | | font-size: 30rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .buttons { |
| | | display: flex; |
| | | flex-direction: row; |
| | | gap: 20rpx; |
| | | justify-content: flex-end; |
| | | .buttons { |
| | | display: flex; |
| | | flex-direction: row; |
| | | gap: 20rpx; |
| | | justify-content: flex-end; |
| | | |
| | | >button { |
| | | display: inline-flex; |
| | | width: 4rem; |
| | | } |
| | | } |
| | | >button { |
| | | display: inline-flex; |
| | | width: 4rem; |
| | | } |
| | | } |
| | | |
| | | .options-wrapper { |
| | | padding: 20rpx; |
| | | display: grid; |
| | | grid-template-columns: repeat(1, 1fr); |
| | | gap: 20rpx; |
| | | .options-wrapper { |
| | | padding: 20rpx; |
| | | display: grid; |
| | | grid-template-columns: repeat(1, 1fr); |
| | | gap: 20rpx; |
| | | |
| | | >view { |
| | | margin: 0 !important; |
| | | box-sizing: border-box; |
| | | >view { |
| | | margin: 0 !important; |
| | | box-sizing: border-box; |
| | | |
| | | } |
| | | } |
| | | |
| | | .item { |
| | | .left { |
| | | display: inline-block; |
| | | width: 6rem; |
| | | } |
| | | .item { |
| | | .left { |
| | | display: inline-block; |
| | | width: 6rem; |
| | | } |
| | | |
| | | .right { |
| | | display: inline-block; |
| | | } |
| | | } |
| | | } |
| | | .right { |
| | | display: inline-block; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .uni-card--is-active { |
| | | background-color: rgba(0, 122, 255, 0.2); |
| | | } |
| | | .uni-card--is-active { |
| | | background-color: rgba(0, 122, 255, 0.2); |
| | | } |
| | | |
| | | .daterange { |
| | | display: flex; |
| | | flex-direction: row; |
| | | gap: 10rpx; |
| | | justify-content: center; |
| | | align-items: center; |
| | | .daterange { |
| | | display: flex; |
| | | flex-direction: row; |
| | | gap: 10rpx; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | "StockPlace": "仓位", |
| | | "SourceBillType": "源单类型", |
| | | "SourceBillNo": "源单单号", |
| | | "SourceBillQty": "源单数量", |
| | | "Date": "日期", |
| | | "Maker": "制单人", |
| | | "bt_HMaterNumber": "物料代码", |
| | |
| | | |
| | | |
| | | |
| | | |
| | | // #ifndef VUE3 |
| | | import Vue from 'vue' |
| | | import VueI18n from 'vue-i18n' |
| | |
| | | "name" : "智云LMES", |
| | | "appid" : "__UNI__B002F49", |
| | | "description" : "", |
| | | "versionName" : "3.021", |
| | | "versionCode" : 321, |
| | | "versionName" : "3.022", |
| | | "versionCode" : 322, |
| | | "transformPx" : false, |
| | | /* 5+App特有相关 */ |
| | | "app-plus" : { |
| | |
| | | "style": { |
| | | "navigationBarTitleText": "设备点检统计分析" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/caigoutuiliaocheck/Kf_POStockInBackBill_Check", |
| | | "style": { |
| | | "navigationBarTitleText": "采购退料校验" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_Check", |
| | | "style": { |
| | | "navigationBarTitleText": "委外退料校验" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_CheckList", |
| | | "style": { |
| | | "navigationBarTitleText": "委外退料校验缓存" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/caigoutuiliaocheck/Kf_POStockInBackBill_CheckList", |
| | | "style": { |
| | | "navigationBarTitleText": "采购退料校验缓存列表" |
| | | } |
| | | } |
| | | ], |
| | | "tabBar": { |
| | |
| | | this.hform.HMouldNo = data.模具编码 |
| | | this.hform.HMouldName = data.模具名称 |
| | | this.hform.HMouldState = data.模具状态 |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | |
| | | index: i |
| | | })) |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | |
| | | </zxz-uni-data-select> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">验收项目:</view> |
| | | <view class="title required">验收项目:</view> |
| | | <zxz-uni-data-select class="right" :localdata="HRepairCheckList" dataKey="维修验收项目" |
| | | dataValue="hitemid" v-model="hform.HRepairCheckMainID"> |
| | | </zxz-uni-data-select> |
| | |
| | | <button class="btn-c" size="mini" @tap="goBack">退出</button> |
| | | </view> |
| | | <!-- 弹出模具故障登记单的选择列表 --> |
| | | <BillListPopupMouldConkBookBillVue ref="billList" :HBillType="hform.HBillType" |
| | | :HSourceBillType="hform.HMainSourceBillType" :HStockOrgID="hform.HStockOrgID"> |
| | | <BillListPopupMouldConkBookBillVue ref="billList" :HBillType="hform.HBillType" :HMouldID="hform.HMouldID" |
| | | :HSourceBillType="hform.HMainSourceBillType" :HStockOrgID="hform.HStockOrgID" |
| | | :ignore-close-person-filter="true"> |
| | | </BillListPopupMouldConkBookBillVue> |
| | | <!-- 弹出模具维修记录单的选择列表 --> |
| | | <RepairRecordPopup ref="repairRecordList" :HBillType="hform.HBillType" :HStockOrgID="hform.HStockOrgID"> |
| | |
| | | methods: { |
| | | // 提交数据有效性校验 |
| | | ValidCheck() { |
| | | if (this.hform.HEquipID == 0) { |
| | | if (this.hform.HEquipID == 0 || this.hform.HEquipID === undefined) { |
| | | return { |
| | | Message: "未录入模具信息,请先录入模具信息!", |
| | | state: false |
| | | } |
| | | } |
| | | if (this.hform.HDeptID == 0) { |
| | | if (this.hform.HDeptID == 0 || this.hform.HDeptID === undefined) { |
| | | return { |
| | | Message: "部门不得为空!", |
| | | state: false |
| | | } |
| | | } |
| | | if (this.hform.HEmpID == 0) { |
| | | if (this.hform.HEmpID == 0 || this.hform.HEmpID === undefined) { |
| | | return { |
| | | Message: "验收人不得为空!", |
| | | state: false |
| | | } |
| | | } |
| | | // if (this.hform.HRepairCheckMainID == 0) { |
| | | // return { |
| | | // Message: "验证项目不得为空!", |
| | | // state: false |
| | | // } |
| | | // } |
| | | if (this.hform.HManagerID == 0) { |
| | | if (this.hform.HRepairCheckMainID == 0 || this.hform.HRepairCheckMainID === undefined) { |
| | | return { |
| | | Message: "验收项目不得为空!", |
| | | state: false |
| | | } |
| | | } |
| | | if (this.hform.HManagerID == 0 || this.hform.HManagerID === undefined) { |
| | | return { |
| | | Message: "负责人不得为空!", |
| | | state: false |
| | | } |
| | | } |
| | | if (this.hform.HMouldRepairWorkID == 0 || this.hform.HMouldRepairWorkID === undefined) { |
| | | return { |
| | | Message: "维修记录不得为空!", |
| | | state: false |
| | | } |
| | | } |
| | | |
| | | return { |
| | | Message: "", |
| | |
| | | "lngBillKey": "", |
| | | "lngBillSubKey": "", |
| | | // 新增:维修记录(源单)相关字段 |
| | | "HMainSourceBillType":"", |
| | | "HMainSourceBillNo": "", |
| | | "HMainSourceInterID": 0, |
| | | "HMainSourceEntryID": 0, |
| | |
| | | this.hform.HMainSourceBillNo = data[0]["单据号"]; |
| | | this.hform.HMainSourceInterID = data[0]["hmainid"]; |
| | | this.hform.HMainSourceEntryID = data[0]["hsubid"]; |
| | | this.hform.HMainSourceBillType="3910" |
| | | |
| | | // 如果源单有设备信息,可以自动填充 |
| | | if (data[0].HEquipID) { |
| | |
| | | this.hform.HMainSourceInterID = data[0]["HEquipRepairCheckBillInterID"]; |
| | | this.hform.HMainSourceEntryID = data[0]["HEquipRepairCheckBillEntryID"]; |
| | | this.hform.HManagerID = data[0]["HManagerID"]; |
| | | this.hform.HMainSourceBillType="3907" |
| | | this.hform.HEmpID = data[0]["HEmpID"]; |
| | | this.getSendWorkBill(HSendWorkID) |
| | | } else { |
| | |
| | | // 监听单据选择完成事件 |
| | | uni.$on('BillSelectComplete', (e) => { |
| | | console.log("接收到的消息: ", e) |
| | | this.hform.HMainSourceBillType=e.HBillType |
| | | this.hform.HMainSourceInterID = e.HInterID |
| | | this.hform.HMainSourceBillNo = e.HBillNo |
| | | this.hform.HMainSourceEntryID = e.HEntryID |
| | |
| | | </view> |
| | | |
| | | <!-- 新增弹窗组件 --> |
| | | <BillListPopupMouldConkBookBillVue ref="billList" :HBillType="hform.HBillType" |
| | | :HSourceBillType="hform.HMainSourceBillType" :HStockOrgID="hform.HStockOrgID"> |
| | | <BillListPopupMouldConkBookBillVue ref="billList" :HBillType="hform.HBillType" :HMouldID="hform.HMouldID" |
| | | :HSourceBillType="hform.HMainSourceBillType" :HStockOrgID="hform.HStockOrgID" |
| | | :ignore-close-person-filter="false"> |
| | | </BillListPopupMouldConkBookBillVue> |
| | | </view> |
| | | </template> |
| | |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | // url: './Sc_MouldRepairSendWorkBill?operationType=1' |
| | | url: './Sc_MouldRepairSendWorkBill?operationType=1' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">维修内容</view> |
| | | <view class="right"> |
| | | <textarea v-model="hform.HRepairContent" style="height: 6em;" maxlength="2000" |
| | | placeholder="请输入维修内容..." /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title required">计划维修工时</view> |
| | | <view class="right"> |
| | | <input type="number" name="HPlanTimes" v-model="hform.HPlanTimes" |
| | | @focus="hform.HPlanTimes = ''" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title required">实际维修工时</view> |
| | | <view class="right"> |
| | | <input type="number" name="HTimes" v-model="hform.HTimes" @focus="hform.HTimes = ''" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据号</view> |
| | | <view class="righton"> |
| | | <input name="HInterID" disabled v-model="hform.HBillNo" /> |
| | |
| | | @input="DeptChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title required">负责人</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="EmpNameList" placeholder="请选择负责人" v-model="hform.HManagerName" |
| | | @input="ManagerChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title required">维修人</view> |
| | | <view class="right"> |
| | |
| | | @input="EmpChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="title required">负责人</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="EmpNameList" placeholder="请选择负责人" v-model="hform.HManagerName" |
| | | @input="ManagerChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">维修项目</view> |
| | | <view class="title required">维修项目</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="RepairNameNameList" placeholder="请选择维修项目" v-model="hform.HRepairName" |
| | | @input="RepairNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">计划维修工时</view> |
| | | <view class="right"> |
| | | <input type="number" name="HPlanTimes" v-model="hform.HPlanTimes" |
| | | @focus="hform.HPlanTimes = ''" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">实际维修工时</view> |
| | | <view class="right"> |
| | | <input type="number" name="HTimes" v-model="hform.HTimes" @focus="hform.HTimes = ''" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">维修内容</view> |
| | | <view class="right"> |
| | | <textarea v-model="hform.HRepairContent" style="height: 6em;" maxlength="2000" |
| | | placeholder="请输入维修内容..." /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">维修要求</view> |
| | | <view class="right"> |
| | |
| | | <button class="btn-c" size="mini" @tap="goBack">退出</button> |
| | | </view> |
| | | </view> |
| | | <BillListPopupMouldConkBookBillVue ref="billList" :HBillType="hform.HBillType" |
| | | :HSourceBillType="hform.HMainSourceBillType" :HStockOrgID="hform.HStockOrgID"> |
| | | <BillListPopupMouldConkBookBillVue ref="billList" :HBillType="hform.HBillType" :HMouldID="hform.HMouldID" |
| | | :HSourceBillType="hform.HMainSourceBillType" :HStockOrgID="hform.HStockOrgID" |
| | | :ignore-close-person-filter="false"> |
| | | </BillListPopupMouldConkBookBillVue> |
| | | <BarCodePopupVue ref="barcodePopup"></BarCodePopupVue> |
| | | <BillListPopupMouldVue @BillSelectComplete="MouldBillHandler" ref="billListMould"></BillListPopupMouldVue> |
| | |
| | | let message = '' |
| | | |
| | | if (!this.hform.HMainSourceBillNo && this.hform.HMainSourceBillType != '1') { |
| | | message = '未填写故障登记单' |
| | | message = '请选择故障登记单' |
| | | } else if (!this.hform.HDeptName) { |
| | | message = '未填写部门' |
| | | message = '请选择部门' |
| | | } else if (!this.hform.HEmpName) { |
| | | message = '未填写维修人' |
| | | message = '请选择维修人' |
| | | } else if (!this.hform.HManagerName) { |
| | | message = '未填写负责人' |
| | | message = '请选择负责人' |
| | | } |
| | | // else if (!this.hform.HRepairName) { |
| | | // message = '未填写维修项目' |
| | | // } |
| | | else if (!this.hform.HRepairName) { |
| | | message = '请选择维修项目' |
| | | } |
| | | |
| | | if (!message) { |
| | | return true |
| | |
| | | HStatus: 1, |
| | | HSampleSchemeID: "", |
| | | HUnitID: 0, |
| | | HInspectVal: "", |
| | | HInspectVal: "0", |
| | | HTargetVal: "", |
| | | HUpLimit: "", |
| | | HDownLimit: "", |
| | | HInspectValQ:0, |
| | | HUpOffSet: "", |
| | | HDownOffSet: "", |
| | | HSampleDamageQty: 0, |
| | |
| | | HUpLimit: data["上限值"] || 0, |
| | | HDownLimit: data["下限值"] || 0, |
| | | HSampleDamageQty: data["样本破坏数"] || 0, |
| | | HInspectValQ: 0 |
| | | }); |
| | | await this.$nextTick(); |
| | | this.$refs.listPopup.exit(); |
| | |
| | | HStatus: 0, |
| | | HSampleSchemeID: data[i]["HSampleSchemeID"], |
| | | HUnitID: data[i]["HUnitID"], |
| | | HInspectVal: "", |
| | | HInspectVal: "0", |
| | | HTargetVal: "", |
| | | HUpLimit: data[i].上限值, |
| | | HDownLimit: data[i].下限值, |
| | |
| | | <!-- 只有定量分析才启用检验值 --> |
| | | <view class="detail editable" v-show="checkItem.HAnalysisMethod == 2"> |
| | | <text>检验值:</text> |
| | | <input type="text" class="editable-input" @blur="calcHResult(checkItem)" |
| | | v-model="checkItem.HInspectValQ" /> |
| | | <input type="number" class="editable-input" :data-index="checkItem.num" |
| | | :focus="checkItem.isFocus" @confirm.stop="calcHResult(checkItem, $event)" |
| | | @blur.stop="calcHResult(checkItem, $event)" v-model="checkItem.HInspectValQ" /> |
| | | |
| | | </view> |
| | | <view class="detail" v-if="checkItem.HQCNote"> |
| | |
| | | </view> |
| | | <view style="height: 120rpx"></view> |
| | | <view class="bottom-btn" @tap.stop="() => {}"> |
| | | <button class="btn-a" size="mini" @tap.stop="submit">提交</button> |
| | | <button class="btn-a" size="mini" @tap.stop="submit">提交</button> |
| | | <view style="flex: 1"></view> |
| | | <button class="btn-a" size="mini" @tap.stop="addNew">新增</button> |
| | | <button class="btn-c" size="mini" @tap.stop="goBack">退出</button> |
| | |
| | | }, |
| | | methods: { |
| | | // 检验值 计算是否合格 |
| | | calcHResult(item) { |
| | | calcHResult(item, event) { |
| | | // 非抽检条件下判断结论 |
| | | console.log('item: ', item); |
| | | if (!item.HSampleSchemeID) { |
| | | if (!item.HQCCheckItemID) { |
| | | CommonUtils.showTips({ |
| | | message: '录入检验值时,未选中检验项目,请选择检验项目后再录入检验值' |
| | | }) |
| | | return |
| | | } |
| | | |
| | | if (item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit) { |
| | | this.checkItems[item.num].HResult = 1 |
| | | return |
| | | } else { |
| | | this.checkItems[item.num].HResult = 2 |
| | | } |
| | | console.log('item: ', item); |
| | | console.log('event.type: ', event.type); |
| | | |
| | | this.checkItems[item.num].HResult = 2 |
| | | // 查找当前检验项目中,下一个分析方法为定量分析的检验项目,将检验项目的检验值设置为聚焦 |
| | | for (let key in this.checkItems) { |
| | | if (this.checkItems.hasOwnProperty(key)) { |
| | | let element = this.checkItems[key]; |
| | | if (key > item.num && element["HAnalysisMethod"] == 2) { |
| | | this.checkItems[item.num]["isFocus"] = false |
| | | element["isFocus"] = false |
| | | this.$nextTick(() => { |
| | | element["isFocus"] = true |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | // 读取缓存 |
| | | loadCache() { |
| | |
| | | } |
| | | return ""; |
| | | }, |
| | | checkResultChange({detail: {value}}) { |
| | | if(value == 1) { |
| | | this.hform.HLastResult = false |
| | | }else { |
| | | this.hform.HLastResult = true |
| | | } |
| | | checkResultChange({ |
| | | detail: { |
| | | value |
| | | } |
| | | }) { |
| | | if (value == 1) { |
| | | this.hform.HLastResult = false |
| | | } else { |
| | | this.hform.HLastResult = true |
| | | } |
| | | }, |
| | | // 检验项目新增行 |
| | | addCheckItem(resource) { |
| | |
| | | HStatus: 1, |
| | | HSampleSchemeID: "", |
| | | HUnitID: 0, |
| | | HInspectVal: "", |
| | | HInspectVal: "0", |
| | | HTargetVal: "", |
| | | HUpLimit: "", |
| | | HDownLimit: "", |
| | |
| | | HAQL: "", |
| | | HSamplingType: "", |
| | | HInspectResultToSee: "", |
| | | HInspectValQ: "0", |
| | | isFocus: false, |
| | | }; |
| | | if (resource) { |
| | | // 通过主表检验方案带出的检验项目 |
| | |
| | | HStatus: 0, |
| | | HSampleSchemeID: data[i]["HSampleSchemeID"], |
| | | HUnitID: data[i]["HUnitID"], |
| | | HInspectVal: "", |
| | | HInspectVal: "0", |
| | | HTargetVal: "", |
| | | HUpLimit: data[i].上限值, |
| | | HDownLimit: data[i].下限值, |
| | |
| | | }); |
| | | return false; |
| | | } |
| | | |
| | | |
| | | // 判断 最后结果为不合格的情况下,检验项目中是否有不合格项 |
| | | if(this.hform.HLastResult == 0 || this.hform.HLastResult == false){ |
| | | if (this.hform.HLastResult == 0 || this.hform.HLastResult == false) { |
| | | let count = 0 |
| | | console.log('this.checkItems: ',this.checkItems); |
| | | console.log('this.checkItems: ', this.checkItems); |
| | | for (let key in this.checkItems) { |
| | | if (this.checkItems.hasOwnProperty(key)) { |
| | | let element = this.checkItems[key]; |
| | | if(element.HResult == 2){ |
| | | count ++ |
| | | if (element.HResult == 2) { |
| | | count++ |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | if(count == 0) { |
| | | if (count == 0) { |
| | | CommonUtils.showTips({ |
| | | message: "判断结论为不合格,检验项目中不存在不合格单据,提交失败!", |
| | | }); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | if(!this.hform.HSourceBillNo) { |
| | | |
| | | if (!this.hform.HSourceBillNo) { |
| | | CommonUtils.showTips({ |
| | | message: "未扫描(选择)源单,请扫描(选择)源单后提交!", |
| | | }); |
| | |
| | | this.$refs.popup.open('center') |
| | | return |
| | | } |
| | | |
| | | |
| | | // 根据 提交返回 的是否允许显示提示信息 判断是直接新增单据还是提示信息 |
| | | if(res.data.NotShowTips) { |
| | | if (res.data.NotShowTips) { |
| | | this.addNew() |
| | | return |
| | | } |
| | |
| | | '&HSourceName=' + this.hform.HSourceName + |
| | | '&HSourceBillNo=' + this.hform.HSourceBillNo + |
| | | '&HType=' + item + |
| | | '&OperationType=5&linterid='+ this.hform.HInterID +'&HSouceBillType=7505' |
| | | '&OperationType=5&linterid=' + this.hform.HInterID + '&HSouceBillType=7505' |
| | | }) |
| | | }, |
| | | async auditBill() { |
| | |
| | | await this.getMaxBillNo(); |
| | | } else if (this.operationType == 2) { |
| | | //有源单下推 |
| | | await this.getMaxBillNo(); |
| | | await this.getMaxBillNo(); |
| | | |
| | | if (e.HSouceBillType == "7521") { |
| | | if (uni.getStorageSync('Organization') == "宁波市华舟包装有限公司") { |
| | |
| | | this.hform.HTakeSampleCheckBillID = e.linterid; |
| | | //取样单查询数据 |
| | | await this.LoadingInformation_TakeSampleCheckBill(e.linterid); |
| | | } else if (e.HSouceBillType == "3772"){ |
| | | } else if (e.HSouceBillType == "3772") { |
| | | if (uni.getStorageSync('Organization') == "宁波市华舟包装有限公司") { |
| | | this.HSourceBillType = "工序流转卡"; // 显示名称 |
| | | this.hform.HSourceBillType = "3772"; // 对应的值 |
| | | this.hform.HSourceBillNo = e.HBillNo |
| | | } |
| | | |
| | | |
| | | this.hform.HProcExchBillNo = e.HBillNo |
| | | this.hform.HProcExchInterID = e.linterid |
| | | this.hform.HProcExchEntryID = e.hsubid |
| | | |
| | | await this.HandleBillSelectComplete({HInterID: e.linterid, HEntryID: e.hsubid}) |
| | | |
| | | await this.HandleBillSelectComplete({ |
| | | HInterID: e.linterid, |
| | | HEntryID: e.hsubid |
| | | }) |
| | | } |
| | | } else if (this.operationType == 3) { |
| | | this.hform.HInterID = e.linterid || 0; |
| | |
| | | HStatus: 1, |
| | | HSampleSchemeID: "", |
| | | HUnitID: 0, |
| | | HInspectVal: "", |
| | | HInspectVal: "0", |
| | | HTargetVal: "", |
| | | HUpLimit: "", |
| | | HDownLimit: "", |
| | |
| | | HStatus: 0, |
| | | HSampleSchemeID: data[i]["HSampleSchemeID"], |
| | | HUnitID: data[i]["HUnitID"], |
| | | HInspectVal: "", |
| | | HInspectVal: "0", |
| | | HTargetVal: "", |
| | | HUpLimit: data[i].上限值, |
| | | HDownLimit: data[i].下限值, |
| New file |
| | |
| | | <template> |
| | | <view> |
| | | <view class="form"> |
| | | <view class="form-item"> |
| | | <view class="title">条码:</view> |
| | | <view class="right"> |
| | | <input class="" :focus="barCodeFocus" v-model="hform.HBarCode" placeholder="请扫描(或输入)条码" |
| | | @confirm="getCode(hform.HBarCode)" /> |
| | | </view> |
| | | <uni-icons type="scan" |
| | | style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" |
| | | size="20" @click="toScanHBarCode()"></uni-icons> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">数量:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HQty" placeholder="请输入数量" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓库:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHWHName" placeholder="请选择仓库" v-model="hform.HWHName" |
| | | @input="HWHNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓位:</view> |
| | | <view class="right" v-show="true"> |
| | | <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="请输入(或扫描)仓位" |
| | | v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange" |
| | | @confirm="HStockPlaceNameScan"></uni-combox> |
| | | </view> |
| | | <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="不可操作" |
| | | :disabled="!showHStockPlaceName" /></view> |
| | | </view> |
| | | |
| | | |
| | | <view class="tabs"> |
| | | <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">表头信息</view> |
| | | <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">物料信息</view> |
| | | <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">条码信息</view> |
| | | </view> |
| | | |
| | | <view v-if="tabs == 1"> |
| | | <view class="form-item" v-show="showHBillNo"> |
| | | <view class="title">单据号:</view> |
| | | <view class="right" style="width: 380rpx;"> |
| | | <input :focus="HBillNoFocus" name="HBillNo" v-model="hform.HBillNo" placeholder="请扫描(或输入)条码" |
| | | @confirm="GetMeesageByBillNo(hform.HBarCode)" /> |
| | | </view> |
| | | <uni-icons type="scan" |
| | | style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" |
| | | size="20" @click="toScanCode"></uni-icons> |
| | | </view> |
| | | <view class="form-item" v-show="!showHBillNo"> |
| | | <view class="title">单据号:</view> |
| | | <view class="righton"> |
| | | <input name="HBillNo" disabled v-model="hform.HBillNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据ID:</view> |
| | | <view class="righton"> |
| | | <input name="HInterID" disabled v-model="hform.HInterID" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">制单人:</view> |
| | | <view class="righton"> |
| | | <input name="HMaker" disabled v-model="hform.HMaker" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">组织:</view> |
| | | <view class="righton"> |
| | | <input name="HStockOrgName" disabled v-model="hform.HStockOrgName" /> |
| | | </view> |
| | | </view> |
| | | <label class="checkbox"> |
| | | <checkbox :checked="hform.chkHBarflag" style="transform:scale(0.8)" disabled color="#4f81fc" />条码核对 |
| | | </label> |
| | | </view> |
| | | <view v-if="tabs == 2"> |
| | | <view class="list" v-for="(item,index) in Materlist" :key="index"> |
| | | <uni-card :title="item.物料名称" :extra="'数量:'+item.数量" style="margin: 10px;" @tap="delMater(item)"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>单据数量:</text>{{item.单据数量}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>物料代码:</text>{{item.物料代码}} |
| | | </view> |
| | | <view class="detail" v-if="item.规格型号"> |
| | | <text>规格型号:</text>{{item.规格型号}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>批号:</text>{{item.批号}} |
| | | </view> |
| | | <view class="detail" v-if="item.辅助属性"> |
| | | <text>辅助属性:</text>{{item.辅助属性}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>仓库:</text>{{item.仓库}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>仓位:</text>{{item.仓位}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>生产日期:</text>{{item.生产日期}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>有效期至:</text>{{item.有效期至}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>单据号:</text>{{item.单据号}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>条码个数:</text>{{item.条码个数}} |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="over" v-if="Materlist.length == 0">暂无数据</view> |
| | | </view> |
| | | |
| | | <view v-if="tabs == 3"> |
| | | <view class="form-item"> |
| | | <view class="title">条码:</view> |
| | | <view class="righton"> |
| | | <input name="HBarCode_B" disabled v-model="hform.HBarCode_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">物料:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HMaterName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">规格:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HMaterModel_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">批次:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HBatchNo_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单位:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HUnitName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">数量:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HQty_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">容量:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HTMQty_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓库:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HWHName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓位:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HSPName_B" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="bottom-btn"> |
| | | <button class="btn-a" size="mini" @tap="submit">提交</button> |
| | | <view style="flex: 1;"></view> |
| | | <button class="btn-a" size="mini" @tap="addNew">新增</button> |
| | | <button class="btn-c" size="mini" @tap="goBack">退出</button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <script> |
| | | import getDateTime from '@/utils/getdateTime.js'; |
| | | import { |
| | | getUserInfo |
| | | } from "@/utils/auth.js"; |
| | | import { |
| | | CommonUtils |
| | | } from '../../utils/common'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | userInfo: getUserInfo(), |
| | | serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API', |
| | | HModName: 'Kf_POStockInBackBill_PDA', //已调整 |
| | | ModRightName: 'Kf_POStockInBackBill_Check', //已调整 |
| | | OperationType: 1, |
| | | |
| | | barCodeFocus: false, |
| | | showHStockPlaceName: false, |
| | | HBillNoFocus: false, |
| | | showHBillNo: true, |
| | | tabs: 1, |
| | | linterid: '', |
| | | HBillNo: '', |
| | | |
| | | arrayHWHName: [], //仓库 |
| | | HWHNameList: [], |
| | | arrayHStockPlaceName: [], //仓位 |
| | | HStockPlaceNameList: [], |
| | | |
| | | Materlist: [], |
| | | hform: { |
| | | HBillType: 1239, //已调整 |
| | | HBillerID: uni.getStorageSync('HBillerID'), |
| | | HRedBlueFlag: false, |
| | | |
| | | HBarCode: '', |
| | | HQty: '', |
| | | HWHName: getUserInfo().HWHName, |
| | | HWHID: getUserInfo().HWhID, |
| | | HStockPlaceName: getUserInfo().HSPName, |
| | | HStockPlaceID: getUserInfo().HSPID, |
| | | |
| | | HBillNo: '', |
| | | HInterID: '', |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgName: uni.getStorageSync('Organization'), |
| | | HStockOrgID: uni.getStorageSync('OrganizationID'), |
| | | HSourceBarCodeCtl: "N", //是否进行源单对应条码核对('Y'为核对) |
| | | chkHBarflag: false, |
| | | HBarflag: '', |
| | | |
| | | HBarCode_B: '', |
| | | HMaterName_B: '', |
| | | HMaterModel_B: '', |
| | | HBatchNo_B: '', |
| | | HUnitName_B: '', |
| | | HQty_B: '', |
| | | HTMQty_B: '', |
| | | HWHName_B: '', |
| | | HSPName_B: '', |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | arrayHStockPlaceNameComputed: { |
| | | get() { |
| | | // 动态计算对应仓库的仓位 |
| | | return this.HStockPlaceNameList |
| | | .filter(e => e['所属仓库'] == this.hform.HWHName) |
| | | .map(e => e['仓位名称']) |
| | | } |
| | | } |
| | | }, |
| | | onLoad(e) { |
| | | console.log(e, this.userInfo) |
| | | this.OperationType = e.OperationType |
| | | if (e.HBillNo) { |
| | | this.hform.HBillNo = e.HBillNo |
| | | this.GetMeesageByBillNo(e.HBillNo) |
| | | } else { |
| | | this.refreshHBillState() |
| | | } |
| | | this.getHBaseList() |
| | | }, |
| | | methods: { |
| | | //删除物料码 |
| | | delMater(item) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除 " ' + item.物料名称 + ' " 所有扫码记录?删除后将不可恢复!', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | uni.request({ |
| | | url: this.serverUrl + |
| | | '/WEBSController/set_DeleteBarCodeByEntryID_BillCheck_New_Json', |
| | | data: { |
| | | HInterID: this.hform.HInterID, |
| | | HBillType: this.hform.HBillType, |
| | | HSourceInterID: item.HSourceInterID, |
| | | HSourceEntryID: item.HSourceEntryID, |
| | | HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl |
| | | }, |
| | | success: (res) => { |
| | | if (res.data.count == 1) { |
| | | this.DisBillEntryList() |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | // 获取仓位 |
| | | async getStockPlaceRemote(HSPGroupID) { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: ` and HSPGroupID = ${HSPGroupID}`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | }) |
| | | |
| | | if (res.data.count == 1) { |
| | | this.HStockPlaceNameList = res.data.data |
| | | for (var i = 0; i < res.data.data.length; i++) { |
| | | this.arrayHStockPlaceName[i] = res.data.data[i].仓位名称 |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | async HStockPlaceNameScan(e) { |
| | | // 扫描仓位码 |
| | | console.log('Code: ', e); |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | this.hform.HStockPlaceID = 0 |
| | | this.hform.HStockPlaceName = '' |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: ` and 条码编号 = '${e}'`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | }) |
| | | |
| | | if (res.data.count == 1) { |
| | | |
| | | this.hform.HStockPlaceID = res.data.data[0].HMainID |
| | | this.hform.HStockPlaceName = res.data.data[0].仓位名称 |
| | | this.hform.HWHID = res.data.data[0].HWHID |
| | | this.hform.HWHName = res.data.data[0].所属仓库 |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | async refreshHBarCodeFocus() { |
| | | this.HBarCodeFocus = false |
| | | await this.$nextTick() |
| | | this.hform.HBarCode = '' |
| | | this.HBarCodeFocus = true |
| | | }, |
| | | async refreshHBillNoFocus() { |
| | | this.HBillNoFocus = false |
| | | await this.$nextTick(() => { |
| | | this.HBillNoFocus = true |
| | | this.hform.HBillNo = "" |
| | | }) |
| | | }, |
| | | getHBaseList() { |
| | | uni.request({ |
| | | url: this.serverUrl + '/Gy_Warehouse/list', |
| | | data: { |
| | | sWhere: "", |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | success: (res) => { |
| | | if (res.data.count == 1) { |
| | | this.HWHNameList = res.data.data |
| | | for (var i = 0; i < res.data.data.length; i++) { |
| | | this.arrayHWHName[i] = res.data.data[i].仓库名称 |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓库数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | |
| | | uni.request({ |
| | | url: this.serverUrl + '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: "", |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | success: (res) => { |
| | | if (res.data.count == 1) { |
| | | this.HStockPlaceNameList = res.data.data |
| | | for (var i = 0; i < res.data.data.length; i++) { |
| | | this.arrayHStockPlaceName[i] = res.data.data[i].仓位名称 |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | //选择仓库 |
| | | HWHNameChange(e) { |
| | | // var name = e.split("(") |
| | | for (var i = 0; i < this.HWHNameList.length; i++) { |
| | | if (this.HWHNameList[i].仓库名称 == e) { |
| | | this.hform.HWHName = this.HWHNameList[i].仓库名称 |
| | | this.hform.HWHID = this.HWHNameList[i].HItemID |
| | | this.HStockPlaceNameChange(null) |
| | | this.showHStockPlaceName = false |
| | | if (this.HWHNameList[i]['启用仓位'] == 'Y') { |
| | | this.showHStockPlaceName = true |
| | | this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | //选择仓位 |
| | | HStockPlaceNameChange(e) { |
| | | for (var i = 0; i < this.HStockPlaceNameList.length; i++) { |
| | | if (this.HStockPlaceNameList[i].仓位名称 == e) { |
| | | this.hform.HStockPlaceName = this.HStockPlaceNameList[i].仓位名称 |
| | | this.hform.HStockPlaceID = this.HStockPlaceNameList[i].HItemID |
| | | } |
| | | } |
| | | }, |
| | | async refreshBarCodeState() { |
| | | this.barCodeFocus = false |
| | | await this.$nextTick(() => { |
| | | this.hform.HBarCode = "" |
| | | this.barCodeFocus = true |
| | | }) |
| | | }, |
| | | async refreshHBillState() { |
| | | this.HBillNoFocus = false |
| | | await this.$nextTick(() => { |
| | | this.hform.HBillNo = "" |
| | | this.HBillNoFocus = true |
| | | |
| | | }) |
| | | }, |
| | | playSound(e) { |
| | | const innerAudioContext = uni.createInnerAudioContext(); |
| | | if (e == 1) { |
| | | innerAudioContext.src = '/static/success.wav'; |
| | | } else { |
| | | innerAudioContext.src = '/static/jingbao.wav'; |
| | | } |
| | | innerAudioContext.play(); // 播放音频 |
| | | }, |
| | | //扫码 |
| | | toScanHBarCode() { |
| | | var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") |
| | | mpaasScanModule.mpaasScan({ |
| | | 'hideAlbum': true, |
| | | 'timeoutInterval': '10', //超时时间 |
| | | 'timeoutText': '未识别到二维码' //超时提醒 |
| | | }, (ret) => { |
| | | console.log(ret.resp_result) |
| | | // if(this.hform.HBarCode == '*'){ |
| | | // this.hform.HBarCode = this.hform.HBarCode + ret.resp_result |
| | | // }else{ |
| | | // this.hform.HBarCode = ret.resp_result |
| | | // } |
| | | this.hform.HBarCode = ret.resp_result |
| | | // this.GetMeesageByBillNo(this.hform.HBarCode) |
| | | this.getCode(this.hform.HBarCode) |
| | | }) |
| | | }, |
| | | toScanCode() { |
| | | var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") |
| | | mpaasScanModule.mpaasScan({ |
| | | 'hideAlbum': true, |
| | | 'timeoutInterval': '10', //超时时间 |
| | | 'timeoutText': '未识别到二维码' //超时提醒 |
| | | }, (ret) => { |
| | | console.log(ret.resp_result) |
| | | this.hform.HBillNo = ret.resp_result |
| | | this.GetMeesageByBillNo(this.hform.HBillNo) |
| | | }) |
| | | }, |
| | | //扫描单据号条码 |
| | | async GetMeesageByBillNo(e) { |
| | | if (this.hform.HBillNo == "" || this.hform.HBillNo == undefined) { |
| | | return |
| | | } |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/WEBSController/get_BillBarCode_BillCheck_Json', |
| | | data: { |
| | | HBillNo: this.hform.HBillNo, |
| | | HBillType: this.hform.HBillType, |
| | | HMaker: this.hform.HMaker, |
| | | HStockOrgID: this.hform.HStockOrgID |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | // 触发请求锁,不返回任何值 |
| | | return |
| | | } |
| | | |
| | | let { |
| | | data, |
| | | Message, |
| | | count |
| | | } = res.data |
| | | if (count == 1) { |
| | | CommonUtils.playSound(1) |
| | | console.log(data) |
| | | this.hform.HInterID = data.hInterIDField |
| | | this.hform.HBillNo = data.hBillNoField |
| | | this.showHBillNo = false |
| | | //条码核对标记 |
| | | if (data.hSourceBarCodeFlagField) { |
| | | this.hform.HSourceBarCodeCtl = "Y" |
| | | this.hform.chkHBarflag = true |
| | | this.hform.HBarflag = data |
| | | } |
| | | this.tabs = 2 |
| | | this.DisBillEntryList(); |
| | | this.refreshHBarCodeFocus() |
| | | } else { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: Message, |
| | | icon: 'none' |
| | | }) |
| | | this.hform.HBillNo = '' |
| | | } |
| | | |
| | | } catch (e) { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: '接口请求失败: ' + e, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | async getCode(HBarCode) { |
| | | if (HBarCode == undefined || HBarCode == "") { |
| | | return |
| | | } |
| | | //仓库、仓位文本框为空时,清空对应ID |
| | | if (!this.hform.HWHName) { |
| | | this.hform.HWHID = 0 |
| | | } |
| | | if (!this.hform.HStockPlaceName) { |
| | | this.hform.HStockPlaceID = 0 |
| | | } |
| | | var sOldBarCode = HBarCode |
| | | var HDeleteFlag = sOldBarCode.substring(0, 1); |
| | | var sBarCode = sOldBarCode.slice(1); |
| | | |
| | | var sHWHID = this.hform.HWHID |
| | | var sHSPID = this.hform.HStockPlaceID |
| | | var sHQty = this.hform.HQty |
| | | var sSourceBillNo = this.hform.HSourceBillNo |
| | | var sSourceBillType = this.hform.HMainSourceBillType |
| | | var HSourceFlag = this.hform.HSourceBillNo == '' ? false : true |
| | | console.log(this.hform.HSourceBillNo, HSourceFlag) |
| | | if (HDeleteFlag == "*") { |
| | | if (sBarCode == "") { |
| | | CommonUtils.playSound(0) |
| | | uni.showToast({ |
| | | title: '请输入要删除的条码', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json', |
| | | data: { |
| | | HInterID: this.hform.HInterID, |
| | | HBillType: this.hform.HBillType, |
| | | HBarCode: sBarCode |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | // 请求被锁定,退出当前请求 |
| | | return |
| | | } |
| | | |
| | | console.log('删除条码', res.data); |
| | | this.hform.HBarCode = '' |
| | | if (res.data.count == 1) { |
| | | this.hform.HQty = '' |
| | | this.DisBillEntryList() |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (e) { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: '接口请求失败: ' + e, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | } else { |
| | | var sBarCode = this.hform.HBarCode |
| | | if (sHQty == "") { |
| | | sHQty = 0; |
| | | } |
| | | |
| | | |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/WEBSController/get_CheckTypeByBarCode_BillCheck_Json', |
| | | data: { |
| | | sBarCode: sBarCode, |
| | | HBillID: this.hform.HInterID || 0, |
| | | HBillType: this.hform.HBillType, |
| | | HBillNo: this.hform.HBillNo, |
| | | HMaker: this.hform.HMaker, |
| | | HWhID: sHWHID, |
| | | HSPID: sHSPID, |
| | | HSCWHID: 0, |
| | | HSCSPID: 0, |
| | | HQty: sHQty, |
| | | // HRedBlueFlag: this.hform.HRedBlueFlag, |
| | | // SourceFlag: HSourceFlag, |
| | | // HSourceBillNo: sSourceBillNo, |
| | | // HSourceBillType: sSourceBillType, |
| | | HStockOrgID: this.hform.HStockOrgID, |
| | | // HScanStyle: "", |
| | | // HCustom1: "", |
| | | // HCustom2: "" |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | |
| | | console.log('扫码返回', res.data); |
| | | this.hform.HBarCode = '' |
| | | if (res.data.count == 1) { |
| | | CommonUtils.playSound(1); |
| | | var data = res.data.data |
| | | if (data.hBarTypeField == '仓库条码') { |
| | | this.hform.HWHName = data.hWhNameField |
| | | this.hform.HWHID = data.hWhIDField |
| | | this.hform.HStockPlaceName = '' |
| | | this.hform.HStockPlaceID = 0 |
| | | if (data.hSPFlagField == 0) { |
| | | this.showHStockPlaceName = false |
| | | } else { |
| | | this.showHStockPlaceName = true |
| | | } |
| | | } else if (data.hBarTypeField == '仓位条码') { |
| | | this.hform.HWHName = data.hWhNameField |
| | | this.hform.HWHID = data.hWhIDField |
| | | this.hform.HStockPlaceName = data.hSPNameField |
| | | this.hform.HStockPlaceID = data.hSPIDField |
| | | } else if (data.hBarTypeField == '部门条码') { |
| | | this.hform.HDeptName = data.hDeptNameField |
| | | this.hform.HDeptID = data.hDeptIDField |
| | | this.tabs = 1 |
| | | } else if (data.hBarTypeField == '源单条码') { |
| | | this.hform.HSupName = data.hSupNameField |
| | | this.hform.HSupID = data.hSupIDField |
| | | if (data.hDeptIDField != 0) { |
| | | this.hform.HDeptID = data.hDeptIDField |
| | | this.hform.HDeptName = data.hDeptNameField |
| | | } |
| | | this.hform.HSourceBillNo = data.hSourceBillNoField |
| | | //获取源单类型、源单单号 |
| | | if (data.hSourceBillTypeField == "1103") { |
| | | this.HMainSourceBillType = '收料通知单' |
| | | this.hform.HMainSourceBillType = 1103 |
| | | this.showHMainSourceBillType = false |
| | | } else if (data.hSourceBillTypeField == "1102") { |
| | | this.HMainSourceBillType = '采购订单' |
| | | this.hform.HMainSourceBillType = 1102 |
| | | this.showHMainSourceBillType = false |
| | | } else { |
| | | this.HMainSourceBillType = '手工录入' |
| | | this.hform.HMainSourceBillType = -1 |
| | | this.showHMainSourceBillType = false |
| | | } |
| | | if (data.hMulSourceFlagField == 0) { |
| | | this.showHSourceBillNo = false |
| | | } |
| | | //供应商不可编辑 |
| | | this.showHSupName = false |
| | | this.tabs = 2 |
| | | } else { //物料条码 |
| | | this.tabs = 2 |
| | | console.log('data', data) |
| | | if (!this.hform.HSourceBillNo) { |
| | | this.hform.HSupName = data.hSupNameField |
| | | this.hform.HSupID = data.hSupIDField |
| | | this.hform.HSourceBillNo = data.hSourceBillNoField |
| | | if (data.hDeptIDField != 0) { |
| | | this.hform.HDeptID = data.hDeptIDField |
| | | this.hform.HDeptName = data.hDeptNameField |
| | | } |
| | | //获取源单类型、源单单号 |
| | | this.hform.HMainSourceBillType = data.hSourceBillTypeField |
| | | if (data.hSourceBillTypeField == "1103") { |
| | | this.HMainSourceBillType = '收料通知单' |
| | | this.hform.HMainSourceBillType = 1103 |
| | | this.showHMainSourceBillType = false |
| | | } else if (data.hSourceBillTypeField == "1102") { |
| | | this.HMainSourceBillType = '采购订单' |
| | | this.hform.HMainSourceBillType = 1102 |
| | | this.showHMainSourceBillType = false |
| | | } else { |
| | | this.HMainSourceBillType = '手工录入' |
| | | this.hform.HMainSourceBillType = -1 |
| | | this.showHMainSourceBillType = false |
| | | } |
| | | if (data.hMulSourceFlagField == 0) { |
| | | this.showHSourceBillNo = false |
| | | } |
| | | //供应商不可编辑 |
| | | this.showHSupName = false |
| | | } |
| | | } |
| | | //显示表体明细 |
| | | this.DisBillEntryList() |
| | | //清空数量 |
| | | this.hform.HQty = '' |
| | | } else { |
| | | CommonUtils.playSound(0); |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | this.refreshHBarCodeFocus() |
| | | |
| | | } catch (e) { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: '接口请求失败: ' + e, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | //物料信息 |
| | | DisBillEntryList() { |
| | | uni.request({ |
| | | url: this.serverUrl + '/WEBSController/GetKf_PonderationBillMain_Temp_BillCheck_New_Json', |
| | | data: { |
| | | HInterID: this.hform.HInterID, |
| | | HBillType: this.hform.HBillType, |
| | | sWhere: '', |
| | | HSourceBarCodeCtl: this.hform.HSourceBarCodeCt |
| | | }, |
| | | success: (res) => { |
| | | console.log('物料', res.data) |
| | | if (res.data.count == 1) { |
| | | var data = res.data.data |
| | | this.Materlist = data.Materlist |
| | | if (!data.BarCodeDetailslist[0].HBarCode) { |
| | | this.hform.HMaterName_B = '' |
| | | this.hform.HMaterModel_B = '' |
| | | this.hform.HBatchNo_B = '' |
| | | this.hform.HUnitName_B = '' |
| | | this.hform.HQty_B = '' |
| | | this.hform.HTMQty_B = '' |
| | | this.hform.HWHName_B = '' |
| | | this.hform.HSPName_B = '' |
| | | } else { |
| | | this.hform.HMaterName_B = data.BarCodeDetailslist[0].HMaterName |
| | | this.hform.HMaterModel_B = data.BarCodeDetailslist[0].HMaterModel |
| | | this.hform.HBatchNo_B = data.BarCodeDetailslist[0].HBatchNo |
| | | this.hform.HUnitName_B = data.BarCodeDetailslist[0].HUnitName |
| | | this.hform.HQty_B = data.BarCodeDetailslist[0].HQty |
| | | this.hform.HTMQty_B = data.BarCodeDetailslist[0].HTMQty |
| | | this.hform.HWHName_B = data.BarCodeDetailslist[0].HWHName |
| | | this.hform.HSPName_B = data.BarCodeDetailslist[0].HSPName |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | addNew() { |
| | | uni.redirectTo({ |
| | | url: '/pages/caigoutuiliaocheck/Kf_POStockInBackBill_Check?OperationType=1' |
| | | }) |
| | | }, |
| | | async submit() { |
| | | if (this.hform.HInterID == 0 || !this.hform.HInterID) { |
| | | uni.showToast({ |
| | | title: '没有扫码信息,请先扫描单据条码!', |
| | | icon: 'none' |
| | | }) |
| | | } else if (!this.hform.HBillNo) { |
| | | uni.showToast({ |
| | | title: '单据号获取失败,错误的单据号!', |
| | | icon: 'none' |
| | | }) |
| | | } else if (!this.Materlist || this.Materlist.length == 0) { |
| | | uni.showToast({ |
| | | title: '没有扫码信息,请先扫描条码,确认无误后再提交!', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | var s = 0; |
| | | for (var i = 0; i < this.Materlist.length; i++) { |
| | | if (this.Materlist[i].数量 > 0) { |
| | | s = 1; |
| | | } |
| | | } |
| | | if (s == 0) { |
| | | uni.showToast({ |
| | | title: '没有扫描物料条码,请先扫描物料条码,确认无误后再提交!', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | uni.showLoading({ |
| | | title: '请稍候' |
| | | }) |
| | | var sMainStr = JSON.stringify(this.hform); |
| | | |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/WEBSController/set_SavePOStockInBackBill_BillCheck_Json', |
| | | method: 'POST', |
| | | data: { |
| | | oMain: sMainStr |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | |
| | | console.log(1, res); |
| | | uni.hideLoading() |
| | | if (res.data.count == 1) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: res.data.Message + '。是否继续新增?(点击取消返回上级页面)', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | url: '/pages/shengchantuiliaoCheck/MateOutBackCheckBill?OperationType=1' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | setTimeout(() => { |
| | | uni.navigateBack(); |
| | | }, 50) |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (e) { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: '接口请求失败: ' + e, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | goBack() { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要退出当前页面吗?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | url: '/pages/caigoutuiliaocheck/Kf_POStockInBackBill_CheckList' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 668rpx; |
| | | margin: 20rpx auto; |
| | | padding-bottom: 240rpx; |
| | | } |
| | | |
| | | .tab_area { |
| | | width: 100%; |
| | | height: 50rpx; |
| | | } |
| | | |
| | | .other { |
| | | margin-top: 8rpx; |
| | | text-align: center; |
| | | font-size: 28rpx; |
| | | padding: 4rpx 18rpx; |
| | | color: #1890FF; |
| | | } |
| | | |
| | | .tabs { |
| | | width: 100%; |
| | | display: flex; |
| | | border-bottom: 1px solid #ddd; |
| | | margin: 20rpx 0; |
| | | |
| | | view { |
| | | // width: 25%; |
| | | flex: 1; |
| | | font-size: 30rpx; |
| | | color: #555; |
| | | text-align: center; |
| | | padding: 16rpx 0; |
| | | } |
| | | |
| | | .on { |
| | | color: #3a78ff; |
| | | font-weight: bold; |
| | | border-bottom: 3px solid #3a78ff; |
| | | } |
| | | } |
| | | |
| | | .form-item { |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 30rpx; |
| | | padding: 6rpx 0; |
| | | |
| | | .title { |
| | | width: 208rpx; |
| | | |
| | | text { |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | |
| | | .right { |
| | | // width: 450rpx; |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | } |
| | | |
| | | .righton { |
| | | // width: 450rpx; |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #e4e4e4; |
| | | background-color: #e4e4e4; |
| | | } |
| | | |
| | | input { |
| | | width: inherit; |
| | | padding: 8rpx 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | textarea { |
| | | width: 98%; |
| | | padding: 8rpx 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | } |
| | | |
| | | .bottom-btn { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | // height: 120rpx; |
| | | position: fixed; |
| | | bottom: 0; |
| | | left: 0; |
| | | background-color: #fff; |
| | | box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4); |
| | | padding: 30rpx 40rpx 40rpx 40rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | gap: 10rpx; |
| | | |
| | | button { |
| | | border-radius: 50rpx; |
| | | width: 180rpx; |
| | | height: 66rpx; |
| | | line-height: 66rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .btn-a { |
| | | background-color: #3A78FF; |
| | | color: #fff; |
| | | } |
| | | |
| | | .btn-b { |
| | | background-color: #41a863; |
| | | color: #fff; |
| | | } |
| | | |
| | | .btn-c { |
| | | background-color: #acacac; |
| | | color: #fff; |
| | | // position: absolute; |
| | | // right: 120rpx; |
| | | } |
| | | |
| | | .btn-d { |
| | | background-color: #ff8901; |
| | | color: #fff; |
| | | } |
| | | } |
| | | |
| | | .list { |
| | | width: 100%; |
| | | |
| | | .card-detail { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | line-height: 120%; |
| | | |
| | | .detail { |
| | | // width: 50%; |
| | | font-size: 26rpx; |
| | | margin-bottom: 12rpx; |
| | | color: #555; |
| | | margin-right: 20rpx; |
| | | |
| | | text { |
| | | color: #999; |
| | | font-size: 26rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .more { |
| | | color: #888; |
| | | font-size: 24rpx; |
| | | display: flex; |
| | | border-top: 1px solid #eee; |
| | | padding-top: 20rpx; |
| | | |
| | | .part { |
| | | width: 50%; |
| | | text-align: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .checkbox { |
| | | color: #888; |
| | | font-size: 28rpx; |
| | | margin-top: 30rpx; |
| | | float: right; |
| | | } |
| | | </style> |
| New file |
| | |
| | | <template> |
| | | <view class="content"> |
| | | <view class="tabs"> |
| | | <view :class="tabs == 0 ? 'on':''" @tap="changeTab(0)">缓存列表</view> |
| | | <view :class="tabs == 1 ? 'on':''" @tap="changeTab(1)">已上传列表</view> |
| | | </view> |
| | | |
| | | <view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view> |
| | | |
| | | <view class="form" v-if="tabs == 0"> |
| | | <view class="buttons" @tap="add"> |
| | | <uni-icons type="plus" style="margin-right: 10rpx;" size="22"></uni-icons>新增 |
| | | </view> |
| | | </view> |
| | | <view class="form" v-if="tabs == 1"> |
| | | <view class="form-item"> |
| | | <view class="title">单据号:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HBillNo" placeholder="请输入单据号" /> |
| | | </view> |
| | | </view> |
| | | <view class="buttons"> |
| | | <button class="btn-a" size="mini" type="default" @tap="clear">重置</button> |
| | | <button class="btn-c" size="mini" type="default" @tap="search">查询</button> |
| | | </view> |
| | | </view> |
| | | |
| | | <view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view> |
| | | |
| | | <view class="list" v-for="(item,index) in showList" :key="index" v-if="tabs==0"> |
| | | <uni-card :title="item.制单日期.substr(0,10)" :extra="item.单据号" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index"> |
| | | <view class="card-detail"> |
| | | <view class="detail" v-if="item.制单人"> |
| | | <text>制单人:</text>{{item.制单人}} |
| | | </view> |
| | | <view class="detail" v-if="item.组织"> |
| | | <text>组织:</text>{{item.组织}} |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="more"> |
| | | <view class="part" style="border-right: 1px solid #eee;color: #3a78ff;" @tap.stop="edit(item)"> |
| | | <uni-icons type="compose" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>编辑 |
| | | </view> |
| | | <view class="part" style="color: #da0000;" @tap.stop="del(item)"> |
| | | <uni-icons type="trash" style="color: #da0000;margin-right: 10rpx;" size="18"></uni-icons>删除 |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="list" v-for="(item,index) in showList" :key="index" v-if="tabs==1"> |
| | | <uni-card :title="item.日期" :extra="item.单据号" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index"> |
| | | <view class="card-detail"> |
| | | <view class="detail" v-if="item.制单人"> |
| | | <text>制单人:</text>{{item.制单人}} |
| | | </view> |
| | | <view class="detail" v-if="item.数量"> |
| | | <text>数量:</text>{{item.数量}} |
| | | </view> |
| | | <view class="detail" v-if="item.物料代码"> |
| | | <text>物料代码:</text>{{item.物料代码}} |
| | | </view> |
| | | <view class="detail" v-if="item.物料名称"> |
| | | <text>物料名称:</text>{{item.物料名称}} |
| | | </view> |
| | | <view class="detail" v-if="item.规格型号"> |
| | | <text>规格型号:</text>{{item.规格型号}} |
| | | </view> |
| | | <view class="detail" v-if="item.组织"> |
| | | <text>组织:</text>{{item.组织}} |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="more"> |
| | | <view class="part" style="color: #d98d00;width: 100%;" @tap.stop="revoke(item)"> |
| | | <uni-icons type="undo" style="color: #d98d00;margin-right: 10rpx;" size="18"></uni-icons>撤销 |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | |
| | | <view class="over" v-if="!listData || listData.length == 0">暂无数据</view> |
| | | <view class="over" v-if="listData.length != 0 && listData.length != showList.length">加载中...</view> |
| | | <view class="over" v-if="listData.length != 0 && listData.length == showList.length">已到底</view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getUserInfo } from "@/utils/auth.js"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | userInfo:getUserInfo(), |
| | | serverUrl: uni.getStorageSync('serverUrl')||'http://47.96.97.237/API', |
| | | tabs:0, |
| | | urls:'/WEBSController/GetKf_PonderationBillMain_TempList_BillCheck_Json', |
| | | MvarReportTitle:'采购退料单校验缓存列表', |
| | | hform:{ |
| | | HBillNo:'', |
| | | HBillType: 1239, |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgID: uni.getStorageSync('OrganizationID'), |
| | | }, |
| | | sWhere:'', |
| | | listData:[], |
| | | showList:[], |
| | | showDetail:-1, |
| | | |
| | | page:1, |
| | | } |
| | | }, |
| | | onLoad() { |
| | | //用户模块权限判断 |
| | | this.CheckModRight() |
| | | this.changeTab(0) |
| | | console.log(this.userInfo,uni.getStorageSync('HUserName')) |
| | | }, |
| | | onReachBottom: function() { |
| | | this.page++ |
| | | setTimeout(() => { |
| | | this.showList = this.showList.concat(this.getPage(this.page,this.listData)) |
| | | }, 100) |
| | | }, |
| | | onPullDownRefresh: function() { |
| | | this.clear() |
| | | setTimeout(()=>{ |
| | | uni.stopPullDownRefresh(); |
| | | }, 1000); |
| | | }, |
| | | methods: { |
| | | CheckModRight(){ |
| | | uni.request({ |
| | | url: this.serverUrl + '/WEBSController/CheckModRight_Json', |
| | | data:{ |
| | | ModRightName: 'CE_MateOutBackCheck', |
| | | HUserName: uni.getStorageSync('HUserName') |
| | | }, |
| | | success: (res) => { |
| | | if(res.data.count == 1){}else{ |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title:'接口请求失败', |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | getPage(page,list){ |
| | | let sindex = (parseInt(page) - 1) * 20 |
| | | let eindex = parseInt(page) * 20 |
| | | let newList = list.slice(sindex,eindex) |
| | | return newList |
| | | }, |
| | | changeTab(e){ |
| | | this.tabs = e |
| | | this.page = 1 |
| | | this.showList = [] |
| | | |
| | | if(this.tabs == 0){ |
| | | this.urls = '/WEBSController/GetKf_PonderationBillMain_TempList_BillCheck_Json' |
| | | } |
| | | if(this.tabs == 1){ |
| | | this.urls = '/WEBSController/GetKf_ICStockBillQueryList_User_BillCheck_Json' |
| | | } |
| | | this.getList() |
| | | }, |
| | | getList(){ |
| | | uni.showLoading({ |
| | | title:'加载中...' |
| | | }) |
| | | uni.request({ |
| | | url: this.serverUrl + this.urls, |
| | | data:this.hform, |
| | | success: (res) => { |
| | | console.log(1,res); |
| | | if(res.data.count == 1){ |
| | | this.listData = res.data.data |
| | | this.showList = this.getPage(this.page,this.listData) |
| | | setTimeout(()=>{ |
| | | uni.hideLoading() |
| | | }, 1000) |
| | | }else{ |
| | | uni.hideLoading() |
| | | this.listData = [] |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.hideLoading() |
| | | uni.showToast({ |
| | | title:'接口请求失败', |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | search(){ |
| | | this.sWhere = '' |
| | | this.listData = [] |
| | | this.page = 1 |
| | | this.showList = [] |
| | | |
| | | console.log(this.hform) |
| | | this.getList() |
| | | }, |
| | | clear(){ |
| | | this.listData = [] |
| | | this.page = 1 |
| | | this.showList = [] |
| | | |
| | | this.sWhere = '' |
| | | this.hform = { |
| | | HBillNo:'', |
| | | HBillType: 1244, |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgID: uni.getStorageSync('OrganizationID'), |
| | | } |
| | | this.getList() |
| | | }, |
| | | add(){ |
| | | uni.navigateTo({ |
| | | url:'./Kf_POStockInBackBill_Check?OperationType=1' |
| | | }) |
| | | }, |
| | | //编辑 |
| | | edit(item){ |
| | | console.log(item) |
| | | uni.navigateTo({ |
| | | url:'./Kf_POStockInBackBill_Check?OperationType=2&HBillNo=' + item.HBillNo |
| | | }) |
| | | }, |
| | | //删除 |
| | | del(item){ |
| | | // console.log(item.hmainid,uni.getStorageSync('HUserName')) |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除记录?删除后不能恢复', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.request({ |
| | | url: this.serverUrl + '/WEBSController/DeleteTempBillList_BillCheck_Json', |
| | | data:{ |
| | | HInterID: item.HInterID, |
| | | HBillNo: item.单据号, |
| | | HBillType: this.hform.HBillType, |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgID:this.hform.HStockOrgID, |
| | | MvarReportTitle:this.MvarReportTitle, |
| | | }, |
| | | success: (res) => { |
| | | console.log(1,res); |
| | | if(res.data.count == 1){ |
| | | this.clear() |
| | | } |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.hideLoading() |
| | | uni.showToast({ |
| | | title:'接口请求失败', |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | }); |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | //撤销 |
| | | revoke(item){ |
| | | // console.log(item.hmainid,uni.getStorageSync('HUserName')) |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '是否确认撤销', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.request({ |
| | | url: this.serverUrl + '/WEBSController/set_DeleteICStockBillAndWMS_BillCheck_Json', |
| | | data:{ |
| | | HInterID: item.HInterID, |
| | | HBillNo: item.单据号, |
| | | HBillType: this.hform.HBillType, |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgID:this.hform.HStockOrgID, |
| | | MvarReportTitle:this.MvarReportTitle, |
| | | }, |
| | | success: (res) => { |
| | | console.log(1,res); |
| | | if(res.data.count == 1){ |
| | | this.clear() |
| | | } |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.hideLoading() |
| | | uni.showToast({ |
| | | title:'接口请求失败', |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | }); |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .form{ |
| | | width: 640rpx; |
| | | margin: 20rpx auto; |
| | | margin-top: 90rpx; |
| | | } |
| | | .tabs{ |
| | | width: 100%; |
| | | position: fixed; |
| | | left: 0; |
| | | z-index: 9; |
| | | display: flex; |
| | | background-color: #e5e5e5; |
| | | view{ |
| | | width: 50%; |
| | | font-size: 30rpx; |
| | | color: #333; |
| | | text-align: center; |
| | | padding: 16rpx 0; |
| | | } |
| | | .on{ |
| | | color: #3a78ff; |
| | | font-weight: bold; |
| | | border-bottom: 3px solid #3a78ff; |
| | | } |
| | | } |
| | | .buttons{ |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | margin-top: 20rpx; |
| | | button{ |
| | | border-radius: 50rpx; |
| | | width: 180rpx; |
| | | height: 66rpx; |
| | | line-height: 66rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | .btn-a{ |
| | | background-color: #acacac; |
| | | color: #fff; |
| | | } |
| | | .btn-b{ |
| | | background-color: #41a863; |
| | | color: #fff; |
| | | } |
| | | .btn-c{ |
| | | background-color: #3a78ff; |
| | | color: #fff; |
| | | } |
| | | } |
| | | .form-item{ |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 28rpx; |
| | | padding: 6rpx 0; |
| | | .title{ |
| | | width: 180rpx; |
| | | text{ |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | .right{ |
| | | width: 450rpx; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | } |
| | | .righton{ |
| | | width: 450rpx; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #e4e4e4; |
| | | background-color: #e4e4e4; |
| | | } |
| | | input{ |
| | | width: 100%; |
| | | padding: 8rpx 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | } |
| | | .list{ |
| | | width: 100%; |
| | | .card-detail{ |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | line-height: 120%; |
| | | .detail{ |
| | | // width: 50%; |
| | | font-size: 26rpx; |
| | | margin-bottom: 12rpx; |
| | | color: #555; |
| | | margin-right: 20rpx; |
| | | text{ |
| | | color: #999; |
| | | font-size: 26rpx; |
| | | } |
| | | } |
| | | } |
| | | .more{ |
| | | color: #888; |
| | | font-size: 26rpx; |
| | | display: flex; |
| | | border-top: 1px solid #eee; |
| | | padding-top: 20rpx; |
| | | .part{ |
| | | width: 50%; |
| | | display: flex;align-items: center;justify-content: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | </style> |
| | |
| | | this.hform.NoOutboundHqty = (data.流转卡数量 - data.出站报废关联数量 - data.出站关联数量) |
| | | this.hform.HStyleNumber = data['款号'] |
| | | this.hform.HNotReportQty = data['未报工数量'] |
| | | this.hform.HQty = data['合格数量'] |
| | | //设置序列 |
| | | this.getHSEQList(e); |
| | | |
| | |
| | | "url": "/pages/Sc_PackUnionCarryUpBill/Sc_PackUnionCarryUpBill_Fast", |
| | | "id": 47, |
| | | "hidden": false |
| | | } |
| | | }, |
| | | { |
| | | img: '../../static/icon/icon17.png', |
| | | text: '采购退料校验', |
| | | url: '/pages/caigoutuiliaocheck/Kf_POStockInBackBill_Check?OperationType=1', |
| | | id: 48, |
| | | hidden: false, |
| | | }, |
| | | { |
| | | img: '../../static/icon/icon17.png', |
| | | text: '委外退料校验', |
| | | url: '/pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_Check?OperationType=1', |
| | | id: 49, |
| | | hidden: false, |
| | | } |
| | | ], |
| | | } |
| | | }, |
| | |
| | | "id": 55, |
| | | "hidden": false |
| | | }, |
| | | { |
| | | "img": "../../static/icon/icon15.png", |
| | | "text": "委外退料校验缓存列表", |
| | | "url": "/pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_CheckList", |
| | | "id": 80, |
| | | "hidden": false |
| | | }, |
| | | { |
| | | "img": "../../static/icon/icon15.png", |
| | | "text": "采购退料校验缓存列表", |
| | | "url": "/pages/caigoutuiliaocheck/Kf_POStockInBackBill_CheckList", |
| | | "id": 81, |
| | | "hidden": false |
| | | } |
| | | |
| | | ] |
| | | } |
| | | }, |
| | |
| | | <template> |
| | | <view class="page" id="pageContent"> |
| | | <!-- <view class="search-condition-zone"> |
| | | <!-- <view class="search-condition-zone"> |
| | | <view class="form-item"> |
| | | <view class="left"> |
| | | 条码: |
| | |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | <!-- <view class="button-zone"> |
| | | <!-- <view class="button-zone"> |
| | | <button type="default" class="btn-a" size="mini" @tap="cmdChange">调整</button> |
| | | <button type="default" class="btn-c" size="mini" @tap="exit">退出</button> |
| | | </view> --> |
| | | <view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}"> |
| | | <view class="list" v-for="(item, index) in Materlist" :key="index"> |
| | | <uni-card :title="item.HBarCode" style="margin: 10px;" @tap="delMater(item)"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>{{ $t("Kf_ProductInBill_PDA.table_SourceBillNo") == "Kf_ProductInBill_PDA.table_SourceBillNo" ? "批次" : $t("Kf_ProductInBill_PDA.table_SourceBillNo") }}:</text>{{ item.HBatchNo }} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>{{ $t("Kf_ProductInBill_PDA.table_SourceBillNo") == "Kf_ProductInBill_PDA.table_SourceBillNo" ? "数量" : $t("Kf_ProductInBill_PDA.table_SourceBillNo") }}:</text>{{ item.HQty }} |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="list" v-for="(item, index) in Materlist" :key="index"> |
| | | <uni-card style="margin: 10px;" @tap="delMater(item)"> |
| | | <template slot="title"> |
| | | <view class="uni-card__header"> |
| | | <view class="uni-card__header-box"> |
| | | <view class="uni-card__header-content"> |
| | | <view class="uni-card__header-content-title wrap-title">{{ item.HBarCode }}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>{{ $t("Kf_ProductInBill_PDA.table_SourceBillNo") == "Kf_ProductInBill_PDA.table_SourceBillNo" ? "批次" : $t("Kf_ProductInBill_PDA.table_SourceBillNo") }}:</text>{{ item.HBatchNo }} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>{{ $t("Kf_ProductInBill_PDA.SourceBillQty") == "Kf_ProductInBill_PDA.SourceBillQty" ? "数量" : $t("Kf_ProductInBill_PDA.SourceBillQty") }}:</text>{{ item.HQty }} |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | </view> |
| | | <view class="pagination-zone" id="pagination-zone"> |
| | | <uni-pagination show-icon :page-size="paginationMeta.pageSize" :total="paginationMeta.total" |
| | |
| | | arrayHWHName: [], |
| | | HStockPlaceNameList: [], |
| | | arrayHStockPlaceName: [], |
| | | Materlist: [], |
| | | HMaterID: 0, |
| | | HBillType: 0, |
| | | HInterID: 0, |
| | | Materlist: [], |
| | | HMaterID: 0, |
| | | HBillType: 0, |
| | | HInterID: 0, |
| | | HIsStockMgr: false, |
| | | scrollTop: 0, |
| | | |
| | | HInterID_check: 0, |
| | | HBillType_check: '', |
| | | sBatchNo_check: '', |
| | | sBarCode_check: '', |
| | | sSCWhID_check: 0, |
| | | sSCSPID_check: 0, |
| | | sAuxPropID_check: 0, |
| | | sMTONo_check: '', |
| | | HMaterID_check: 0, |
| | | sWhID_check: 0, |
| | | sSPID_check: 0, |
| | | HSourceInterID_check: 0, |
| | | HSourceEntryID_check: 0, |
| | | EndQty_check: 0, |
| | | HInterID_check_check: 0, |
| | | |
| | | HInterID_check: 0, |
| | | HBillType_check: '', |
| | | sBatchNo_check: '', |
| | | sBarCode_check: '', |
| | | sSCWhID_check: 0, |
| | | sSCSPID_check: 0, |
| | | sAuxPropID_check: 0, |
| | | sMTONo_check: '', |
| | | HMaterID_check: 0, |
| | | sWhID_check: 0, |
| | | sSPID_check: 0, |
| | | HSourceInterID_check: 0, |
| | | HSourceEntryID_check: 0, |
| | | EndQty_check: 0, |
| | | HInterID_check_check: 0, |
| | | hform: { |
| | | HBarCode: '', |
| | | HWHName: '', |
| | | HWHID: 0, |
| | | HStockPlaceName: '', |
| | | HStockPlaceID: 0, |
| | | iQty: 0, |
| | | iQty: 0, |
| | | }, |
| | | |
| | | paginationMeta: { |
| | |
| | | }, |
| | | ) |
| | | }, |
| | | delMater(item){ |
| | | console.log(this.HBillType, this.HInterID, item.HBarCode); |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除 "' + item.HBarCode + '" 吗?删除后将不可恢复!', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | try { |
| | | CommonUtils.doRequest2({ |
| | | url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json', |
| | | data: { |
| | | HInterID: this.HInterID, |
| | | HBillType: this.HBillType, |
| | | HBarCode: item.HBarCode |
| | | }, |
| | | resFunction: () => { |
| | | console.log("删除成功,开始刷新") |
| | | uni.$emit('refreshList') |
| | | this.GetMater(); |
| | | uni.showToast({ |
| | | title: '删除成功', |
| | | icon: 'success' |
| | | }) |
| | | } |
| | | }); |
| | | } catch (e) { |
| | | console.log("删除异常", e); |
| | | } |
| | | } else if (res.cancel) { |
| | | console.log('用户取消删除'); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | GetMater(){ |
| | | delMater(item) { |
| | | console.log(this.HBillType, this.HInterID, item.HBarCode); |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除 "' + item.HBarCode + '" 吗?删除后将不可恢复!', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | try { |
| | | CommonUtils.doRequest2({ |
| | | url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json', |
| | | data: { |
| | | HInterID: this.HInterID, |
| | | HBillType: this.HBillType, |
| | | HBarCode: item.HBarCode |
| | | }, |
| | | resFunction: () => { |
| | | console.log("删除成功,开始刷新") |
| | | uni.$emit('refreshList') |
| | | this.GetMater(); |
| | | uni.showToast({ |
| | | title: '删除成功', |
| | | icon: 'success' |
| | | }) |
| | | } |
| | | }); |
| | | } catch (e) { |
| | | console.log("删除异常", e); |
| | | } |
| | | } else if (res.cancel) { |
| | | console.log('用户取消删除'); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | GetMater() { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/Kf_BarCodeEditDlg_Json', |
| | | data: { |
| | | swhere: ' and HInterID= ' + this.HInterID + ' and HMaterID= '+ this.HMaterID + '' |
| | | }, |
| | | swhere: ' and HInterID= ' + this.HInterID + ' and HMaterID= ' + this.HMaterID + '' |
| | | }, |
| | | resFunction: (res) => { |
| | | let { |
| | | data, |
| | |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | }); |
| | | }, |
| | | onArrayHStockPlaceNameChangeHandler() { |
| | | let index = this.HStockPlaceNameList.findIndex(p => p.HName == e) |
| | | if (index != -1) { |
| | |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败'+res.Message, |
| | | title: '仓位数据请求失败' + res.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | |
| | | ) |
| | | }, |
| | | cmdChange() { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/Kf_BarCodeEditDlg_Json', |
| | | data: { |
| | | swhere: ' and HInterID= ' + this.HInterID + ' and HMaterID= '+ this.HMaterID + " and HBarCode= '" + this.hform.HBarCode + "'" |
| | | }, |
| | | resFunction: (res) => { |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count > 0) { |
| | | console.log(data) |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要修改 "' + data[0].HBarCode + '" 吗?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | try { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/GetCheckQtyByBarCodeBill', |
| | | data: { |
| | | HInterID: data[0].HInterID, |
| | | HBillType: data[0].HBillType, |
| | | sBatchNo: data[0].HBatchNo, |
| | | sBarCode: data[0].HBarCode, |
| | | sSCSPID: data[0].HOutStockPlaceID, |
| | | sSCWhID: data[0].HSCWHID, |
| | | sAuxPropID: data[0].HAuxPropID, |
| | | sMTONo: data[0].HMTONo, |
| | | iQty: this.hform.iQty, |
| | | HMaterID: data[0].HMaterID, |
| | | sWhID: data[0].HWhID, |
| | | sSPID: data[0].HStockPlaceID, |
| | | HSourceInterID: data[0].HSourceInterID, |
| | | HSourceEntryID: data[0].HSourceEntryID, |
| | | EndQty: this.hform.iQty - data[0].HQty, |
| | | sQty: data[0].HQty |
| | | }, |
| | | resFunction: () => { |
| | | console.log("修改成功,开始刷新") |
| | | uni.$emit('refreshList') |
| | | this.GetMater(); |
| | | uni.showToast({ |
| | | title: '修改成功', |
| | | icon: 'success' |
| | | }) |
| | | try { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/GetCheckQtyByBarCodeBill', |
| | | data: { |
| | | HInterID: data[0].HInterID, |
| | | HBillType: data[0].HBillType, |
| | | sBatchNo: data[0].HBatchNo, |
| | | sBarCode: data[0].HBarCode, |
| | | sSCSPID: data[0].HOutStockPlaceID, |
| | | sSCWhID: data[0].HSCWHID, |
| | | sAuxPropID: data[0].HAuxPropID, |
| | | sMTONo: data[0].HMTONo, |
| | | iQty: this.hform.iQty, |
| | | HMaterID: data[0].HMaterID, |
| | | sWhID: data[0].HWhID, |
| | | sSPID: data[0].HStockPlaceID, |
| | | HSourceInterID: data[0].HSourceInterID, |
| | | HSourceEntryID: data[0].HSourceEntryID, |
| | | EndQty: this.hform.iQty - data[0].HQty, |
| | | sQty: data[0].HQty |
| | | }, |
| | | resFunction: () => { |
| | | console.log("修改成功,开始刷新") |
| | | uni.$emit('refreshList') |
| | | this.GetMater(); |
| | | uni.showToast({ |
| | | title: '修改成功', |
| | | icon: 'success' |
| | | }) |
| | | } |
| | | }); |
| | | } catch (e) { |
| | | console.log("修改异常", e); |
| | | } |
| | | } |
| | | }); |
| | | } catch (e) { |
| | | console.log("修改异常", e); |
| | | } |
| | | } else if (res.cancel) { |
| | | console.log('用户取消修改'); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | icon: 'none', |
| | | title: Message |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/Kf_BarCodeEditDlg_Json', |
| | | data: { |
| | | swhere: ' and HInterID= ' + this.HInterID + ' and HMaterID= ' + this.HMaterID + |
| | | " and HBarCode= '" + this.hform.HBarCode + "'" |
| | | }, |
| | | resFunction: (res) => { |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count > 0) { |
| | | console.log(data) |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要修改 "' + data[0].HBarCode + '" 吗?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | try { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/GetCheckQtyByBarCodeBill', |
| | | data: { |
| | | HInterID: data[0].HInterID, |
| | | HBillType: data[0].HBillType, |
| | | sBatchNo: data[0].HBatchNo, |
| | | sBarCode: data[0].HBarCode, |
| | | sSCSPID: data[0].HOutStockPlaceID, |
| | | sSCWhID: data[0].HSCWHID, |
| | | sAuxPropID: data[0].HAuxPropID, |
| | | sMTONo: data[0].HMTONo, |
| | | iQty: this.hform.iQty, |
| | | HMaterID: data[0].HMaterID, |
| | | sWhID: data[0].HWhID, |
| | | sSPID: data[0].HStockPlaceID, |
| | | HSourceInterID: data[0] |
| | | .HSourceInterID, |
| | | HSourceEntryID: data[0] |
| | | .HSourceEntryID, |
| | | EndQty: this.hform.iQty - data[0] |
| | | .HQty, |
| | | sQty: data[0].HQty |
| | | }, |
| | | resFunction: () => { |
| | | console.log("修改成功,开始刷新") |
| | | uni.$emit('refreshList') |
| | | this.GetMater(); |
| | | uni.showToast({ |
| | | title: '修改成功', |
| | | icon: 'success' |
| | | }) |
| | | try { |
| | | CommonUtils.doRequest2({ |
| | | url: '/Kf_BarCodeEditDlg/GetCheckQtyByBarCodeBill', |
| | | data: { |
| | | HInterID: data[ |
| | | 0] |
| | | .HInterID, |
| | | HBillType: data[ |
| | | 0] |
| | | .HBillType, |
| | | sBatchNo: data[ |
| | | 0] |
| | | .HBatchNo, |
| | | sBarCode: data[ |
| | | 0] |
| | | .HBarCode, |
| | | sSCSPID: data[ |
| | | 0] |
| | | .HOutStockPlaceID, |
| | | sSCWhID: data[ |
| | | 0] |
| | | .HSCWHID, |
| | | sAuxPropID: data[ |
| | | 0] |
| | | .HAuxPropID, |
| | | sMTONo: data[ |
| | | 0] |
| | | .HMTONo, |
| | | iQty: this |
| | | .hform |
| | | .iQty, |
| | | HMaterID: data[ |
| | | 0] |
| | | .HMaterID, |
| | | sWhID: data[ |
| | | 0] |
| | | .HWhID, |
| | | sSPID: data[ |
| | | 0] |
| | | .HStockPlaceID, |
| | | HSourceInterID: data[ |
| | | 0] |
| | | .HSourceInterID, |
| | | HSourceEntryID: data[ |
| | | 0] |
| | | .HSourceEntryID, |
| | | EndQty: this |
| | | .hform |
| | | .iQty - |
| | | data[0] |
| | | .HQty, |
| | | sQty: data[ |
| | | 0] |
| | | .HQty |
| | | }, |
| | | resFunction: () => { |
| | | console |
| | | .log( |
| | | "修改成功,开始刷新" |
| | | ) |
| | | uni.$emit( |
| | | 'refreshList' |
| | | ) |
| | | this |
| | | .GetMater(); |
| | | uni.showToast({ |
| | | title: '修改成功', |
| | | icon: 'success' |
| | | }) |
| | | } |
| | | }); |
| | | } catch (e) { |
| | | console.log("修改异常", e); |
| | | } |
| | | } |
| | | }); |
| | | } catch (e) { |
| | | console.log("修改异常", e); |
| | | } |
| | | } else if (res.cancel) { |
| | | console.log('用户取消修改'); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | icon: 'none', |
| | | title: Message |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | async onPaginationChangeHandler({current}) { |
| | | this.listDataShow =this.listData.slice((current - 1) * this.paginationMeta.pageSize,current * this.paginationMeta.pageSize) |
| | | async onPaginationChangeHandler({ |
| | | current |
| | | }) { |
| | | this.listDataShow = this.listData.slice((current - 1) * this.paginationMeta.pageSize, current * this |
| | | .paginationMeta.pageSize) |
| | | } |
| | | }, |
| | | async onLoad(options) { |
| | | this.hform.HBarCode = options.HMaterNumber || ''; |
| | | this.hform.HBarCode = options.HMaterNumber || ''; |
| | | this.getWHInfo() |
| | | this.getStockPlaceInfo() |
| | | this.HMaterID = options.HMaterID |
| | | this.HBillType = options.HBillType |
| | | this.HInterID = options.HInterID |
| | | console.log("赋值后:", this.HInterID, this.HMaterID, this.HBillType); |
| | | await this.$nextTick(); |
| | | this.GetMater() |
| | | this.HMaterID = options.HMaterID |
| | | this.HBillType = options.HBillType |
| | | this.HInterID = options.HInterID |
| | | console.log("赋值后:", this.HInterID, this.HMaterID, this.HBillType); |
| | | await this.$nextTick(); |
| | | this.GetMater() |
| | | // this.$nextTick(() => { |
| | | // this.cmdSearch() |
| | | // }) |
| | |
| | | }).exec() |
| | | query.select("#pagination-zone").boundingClientRect((data) => { |
| | | this.pageMeta.bottomBtnTop = data.top |
| | | console.log('this.pageMeta.bottomBtnTop: ',this.pageMeta.bottomBtnTop); |
| | | console.log('this.pageMeta.bottomBtnTop: ', this.pageMeta.bottomBtnTop); |
| | | }).exec() |
| | | }, |
| | | } |
| | |
| | | width: 100%; |
| | | } |
| | | } |
| | | |
| | | .wrap-title { |
| | | white-space: normal; |
| | | display: inline-block; |
| | | /* 行内块,可设宽高、触发文本完整换行 */ |
| | | max-width: 100%; |
| | | /* 限制不超过父容器 */ |
| | | word-break: break-all; |
| | | /* 兼容旧浏览器备用 */ |
| | | overflow-wrap: break-word; |
| | | } |
| | | |
| | | .uni-card__header { |
| | | display: flex; |
| | | border-bottom: 1px #EBEEF5 solid; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | padding: 10px; |
| | | overflow: hidden; |
| | | |
| | | .uni-card__header-box { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex: 1; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .uni-card__header-avatar { |
| | | width: 40px; |
| | | height: 40px; |
| | | overflow: hidden; |
| | | border-radius: 5px; |
| | | margin-right: 10px; |
| | | .uni-card__header-avatar-image { |
| | | flex: 1; |
| | | width: 40px; |
| | | height: 40px; |
| | | } |
| | | } |
| | | |
| | | .uni-card__header-content { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | flex: 1; |
| | | // height: 40px; |
| | | overflow: hidden; |
| | | |
| | | .uni-card__header-content-title { |
| | | font-size: 14px; |
| | | color: #3a3a3a; |
| | | // line-height: 22px; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | </style> |
| | |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓库:</view> |
| | | <view class="title">{{ $t(`Gy.HWHName`) == "Gy.HWHName"?"仓库": $t(`Gy.HWHName`) }}:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHWHName" placeholder="请输入(或扫描)仓库" v-model="hform.HWHName" |
| | | @input="HWHNameChange" @confirm="HWHNameScan"></uni-combox> |
| | | <uni-combox :candidates="arrayHWHName" :placeholder="$t(`Gy.HWHName_Placeholder`)" |
| | | v-model="hform.HWHName" @input="HWHNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓位:</view> |
| | | <view class="right" v-show="showHStockPlaceName"> |
| | | <uni-combox :candidates="HStockPlaceNameListComputed" placeholder="请输入(或扫描)仓位" |
| | | v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange" |
| | | @confirm='HStockPlaceNameScan'></uni-combox> |
| | | <view class="title"> |
| | | {{ $t(`Gy.HStockPlaceName`) == "Gy.HStockPlaceName"?"仓位": $t(`Gy.HStockPlaceName`) }}: |
| | | </view> |
| | | <view class="righton" v-show="!showHStockPlaceName"> |
| | | <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="不可操作" /> |
| | | <view class="right" v-show="true"> |
| | | <uni-combox :candidates="arrayHStockPlaceNameComputed" |
| | | :placeholder="$t(`Gy.HStockPlaceName_Placeholder`)" v-model="hform.HStockPlaceName" |
| | | @input="HStockPlaceNameChange" @confirm="HStockPlaceNameScan"></uni-combox> |
| | | </view> |
| | | <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" |
| | | :placeholder="$t(`Gy.OperationDisabled`)" :disabled="!showHStockPlaceName" /></view> |
| | | </view> |
| | | |
| | | |
| | | <view class="tabs"> |
| | | <view :class="tabs == 0 ? 'on' : ''" @tap="tabs = 0">选择源单</view> |
| | | <view :class="tabs == 1 ? 'on' : ''" @tap="tabs = 1">表头信息</view> |
| | |
| | | BarCodePopupVue |
| | | }, |
| | | computed: { |
| | | HStockPlaceNameListComputed: { |
| | | arrayHStockPlaceNameComputed: { |
| | | get() { |
| | | // 动态计算对应仓库的仓位 |
| | | return this.HStockPlaceNameList |
| | |
| | | this.getHSupList() |
| | | this.getHEmpList() |
| | | this.getHDeptList() |
| | | uni.$on('refreshList', () => { |
| | | console.log('收到刷新指令!') |
| | | this.DisBillEntryList() // 你的刷新方法 |
| | | }) |
| | | uni.$on('refreshList', () => { |
| | | console.log('收到刷新指令!') |
| | | this.DisBillEntryList() // 你的刷新方法 |
| | | }) |
| | | |
| | | this.getRelationStore() |
| | | |
| | |
| | | }, |
| | | onUnload() { |
| | | uni.$off('BillSelectComplete') |
| | | this.$refs.billList.exit() |
| | | this.$refs.billList.exit() |
| | | }, |
| | | methods: { |
| | | async HWHNameScan(e) { |
| | |
| | | }, |
| | | async HStockPlaceNameScan(e) { |
| | | // 扫描仓位码 |
| | | console.log('仓位码: ', e); |
| | | let index = this.HStockPlaceNameList.findIndex(elem => elem['条码编号'] == e.trim()) |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | console.log('Code: ', e); |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | this.hform.HStockPlaceID = 0 |
| | | this.hform.HStockPlaceName = '' |
| | | await this.$nextTick() |
| | | if (index == -1) { |
| | | uni.showToast({ |
| | | icon: 'none', |
| | | title: '扫描仓位条码对应的仓位不存在...' |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: ` and 条码编号 = '${e}'`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | }) |
| | | } else { |
| | | this.HStockPlaceNameChange(this.HStockPlaceNameList[index]['仓位名称']) |
| | | |
| | | if (res.data.count == 1) { |
| | | this.hform.HStockPlaceID = res.data.data[0].HMainID |
| | | this.hform.HStockPlaceName = res.data.data[0].仓位名称 |
| | | this.hform.HWHID = res.data.data[0].HWHID |
| | | this.hform.HWHName = res.data.data[0].所属仓库 |
| | | |
| | | this.refreshBarCodeState() |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | async qrCodeDisplay() { |
| | |
| | | }, |
| | | //删除物料码 |
| | | delMater(item) { |
| | | uni.navigateTo({ |
| | | url:'../tiaomamingxi/tiaomamingxi?HInterID=' + this.hform.HInterID + '&HMaterID=' + item.HMaterID + '&HBillType=' + this.hform.HBillType |
| | | }) |
| | | uni.navigateTo({ |
| | | url: '../tiaomamingxi/tiaomamingxi?HInterID=' + this.hform.HInterID + '&HMaterID=' + item |
| | | .HMaterID + '&HBillType=' + this.hform.HBillType |
| | | }) |
| | | // uni.showModal({ |
| | | // title: '提示', |
| | | // content: '确认要删除 " ' + item.物料名称 + ' " 所有扫码记录?删除后将不可恢复!', |
| | |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | |
| | | // uni.request({ |
| | | // url: this.serverUrl + '/WEBSController/set_SaveEntrustInBill_Json', |
| | | // method: 'POST', |
| New file |
| | |
| | | <template> |
| | | <view> |
| | | <view class="form"> |
| | | <view class="form-item"> |
| | | <view class="title">条码:</view> |
| | | <view class="right"> |
| | | <input class="" :focus="barCodeFocus" v-model="hform.HBarCode" placeholder="请扫描(或输入)条码" |
| | | @confirm="getCode(hform.HBarCode)" /> |
| | | </view> |
| | | <uni-icons type="scan" |
| | | style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" |
| | | size="20" @click="toScanHBarCode()"></uni-icons> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">数量:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HQty" placeholder="请输入数量" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓库:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHWHName" placeholder="请选择仓库" v-model="hform.HWHName" |
| | | @input="HWHNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓位:</view> |
| | | <view class="right" v-show="true"> |
| | | <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="请输入(或扫描)仓位" |
| | | v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange" |
| | | @confirm="HStockPlaceNameScan"></uni-combox> |
| | | </view> |
| | | <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="不可操作" |
| | | :disabled="!showHStockPlaceName" /></view> |
| | | </view> |
| | | |
| | | |
| | | <view class="tabs"> |
| | | <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">表头信息</view> |
| | | <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">物料信息</view> |
| | | <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">条码信息</view> |
| | | </view> |
| | | |
| | | <view v-if="tabs == 1"> |
| | | <view class="form-item" v-show="showHBillNo"> |
| | | <view class="title">单据号:</view> |
| | | <view class="right" style="width: 380rpx;"> |
| | | <input :focus="HBillNoFocus" name="HBillNo" v-model="hform.HBillNo" placeholder="请扫描(或输入)条码" |
| | | @confirm="GetMeesageByBillNo(hform.HBarCode)" /> |
| | | </view> |
| | | <uni-icons type="scan" |
| | | style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" |
| | | size="20" @click="toScanCode"></uni-icons> |
| | | </view> |
| | | <view class="form-item" v-show="!showHBillNo"> |
| | | <view class="title">单据号:</view> |
| | | <view class="righton"> |
| | | <input name="HBillNo" disabled v-model="hform.HBillNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据ID:</view> |
| | | <view class="righton"> |
| | | <input name="HInterID" disabled v-model="hform.HInterID" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">制单人:</view> |
| | | <view class="righton"> |
| | | <input name="HMaker" disabled v-model="hform.HMaker" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">组织:</view> |
| | | <view class="righton"> |
| | | <input name="HStockOrgName" disabled v-model="hform.HStockOrgName" /> |
| | | </view> |
| | | </view> |
| | | <label class="checkbox"> |
| | | <checkbox :checked="hform.chkHBarflag" style="transform:scale(0.8)" disabled color="#4f81fc" />条码核对 |
| | | </label> |
| | | </view> |
| | | <view v-if="tabs == 2"> |
| | | <view class="list" v-for="(item,index) in Materlist" :key="index"> |
| | | <uni-card :title="item.物料名称" :extra="'数量:'+item.数量" style="margin: 10px;" @tap="delMater(item)"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>单据数量:</text>{{item.单据数量}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>物料代码:</text>{{item.物料代码}} |
| | | </view> |
| | | <view class="detail" v-if="item.规格型号"> |
| | | <text>规格型号:</text>{{item.规格型号}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>批号:</text>{{item.批号}} |
| | | </view> |
| | | <view class="detail" v-if="item.辅助属性"> |
| | | <text>辅助属性:</text>{{item.辅助属性}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>仓库:</text>{{item.仓库}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>仓位:</text>{{item.仓位}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>生产日期:</text>{{item.生产日期}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>有效期至:</text>{{item.有效期至}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>单据号:</text>{{item.单据号}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>条码个数:</text>{{item.条码个数}} |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="over" v-if="Materlist.length == 0">暂无数据</view> |
| | | </view> |
| | | |
| | | <view v-if="tabs == 3"> |
| | | <view class="form-item"> |
| | | <view class="title">条码:</view> |
| | | <view class="righton"> |
| | | <input name="HBarCode_B" disabled v-model="hform.HBarCode_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">物料:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HMaterName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">规格:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HMaterModel_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">批次:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HBatchNo_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单位:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HUnitName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">数量:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HQty_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">容量:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HTMQty_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓库:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HWHName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓位:</view> |
| | | <view class="righton"> |
| | | <input disabled v-model="hform.HSPName_B" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="bottom-btn"> |
| | | <button class="btn-a" size="mini" @tap="submit">提交</button> |
| | | <view style="flex: 1;"></view> |
| | | <button class="btn-a" size="mini" @tap="addNew">新增</button> |
| | | <button class="btn-c" size="mini" @tap="goBack">退出</button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | <script> |
| | | import getDateTime from '@/utils/getdateTime.js'; |
| | | import { |
| | | getUserInfo |
| | | } from "@/utils/auth.js"; |
| | | import { |
| | | CommonUtils |
| | | } from '../../utils/common'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | userInfo: getUserInfo(), |
| | | serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API', |
| | | HModName: 'Kf_POStockInBackBill_PDA', //已调整 |
| | | ModRightName: 'Kf_POStockInBackBill_Check', //已调整 |
| | | OperationType: 1, |
| | | |
| | | barCodeFocus: false, |
| | | showHStockPlaceName: false, |
| | | HBillNoFocus: false, |
| | | showHBillNo: true, |
| | | tabs: 1, |
| | | linterid: '', |
| | | HBillNo: '', |
| | | |
| | | arrayHWHName: [], //仓库 |
| | | HWHNameList: [], |
| | | arrayHStockPlaceName: [], //仓位 |
| | | HStockPlaceNameList: [], |
| | | |
| | | Materlist: [], |
| | | hform: { |
| | | HBillType: 1238, //已调整 |
| | | HBillerID: uni.getStorageSync('HBillerID'), |
| | | HRedBlueFlag: false, |
| | | |
| | | HBarCode: '', |
| | | HQty: '', |
| | | HWHName: getUserInfo().HWHName, |
| | | HWHID: getUserInfo().HWhID, |
| | | HStockPlaceName: getUserInfo().HSPName, |
| | | HStockPlaceID: getUserInfo().HSPID, |
| | | |
| | | HBillNo: '', |
| | | HInterID: '', |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgName: uni.getStorageSync('Organization'), |
| | | HStockOrgID: uni.getStorageSync('OrganizationID'), |
| | | HSourceBarCodeCtl: "N", //是否进行源单对应条码核对('Y'为核对) |
| | | chkHBarflag: false, |
| | | HBarflag: '', |
| | | |
| | | HBarCode_B: '', |
| | | HMaterName_B: '', |
| | | HMaterModel_B: '', |
| | | HBatchNo_B: '', |
| | | HUnitName_B: '', |
| | | HQty_B: '', |
| | | HTMQty_B: '', |
| | | HWHName_B: '', |
| | | HSPName_B: '', |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | arrayHStockPlaceNameComputed: { |
| | | get() { |
| | | // 动态计算对应仓库的仓位 |
| | | return this.HStockPlaceNameList |
| | | .filter(e => e['所属仓库'] == this.hform.HWHName) |
| | | .map(e => e['仓位名称']) |
| | | } |
| | | } |
| | | }, |
| | | onLoad(e) { |
| | | console.log(e, this.userInfo) |
| | | this.OperationType = e.OperationType |
| | | if (e.HBillNo) { |
| | | this.hform.HBillNo = e.HBillNo |
| | | this.GetMeesageByBillNo(e.HBillNo) |
| | | } else { |
| | | this.refreshHBillState() |
| | | } |
| | | this.getHBaseList() |
| | | }, |
| | | methods: { |
| | | //删除物料码 |
| | | delMater(item) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除 " ' + item.物料名称 + ' " 所有扫码记录?删除后将不可恢复!', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | uni.request({ |
| | | url: this.serverUrl + |
| | | '/WEBSController/set_DeleteBarCodeByEntryID_BillCheck_New_Json', |
| | | data: { |
| | | HInterID: this.hform.HInterID, |
| | | HBillType: this.hform.HBillType, |
| | | HSourceInterID: item.HSourceInterID, |
| | | HSourceEntryID: item.HSourceEntryID, |
| | | HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl |
| | | }, |
| | | success: (res) => { |
| | | if (res.data.count == 1) { |
| | | this.DisBillEntryList() |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | // 获取仓位 |
| | | async getStockPlaceRemote(HSPGroupID) { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: ` and HSPGroupID = ${HSPGroupID}`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | }) |
| | | |
| | | if (res.data.count == 1) { |
| | | this.HStockPlaceNameList = res.data.data |
| | | for (var i = 0; i < res.data.data.length; i++) { |
| | | this.arrayHStockPlaceName[i] = res.data.data[i].仓位名称 |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | async HStockPlaceNameScan(e) { |
| | | // 扫描仓位码 |
| | | console.log('Code: ', e); |
| | | // 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新 |
| | | this.hform.HStockPlaceID = 0 |
| | | this.hform.HStockPlaceName = '' |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: ` and 条码编号 = '${e}'`, |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | }) |
| | | |
| | | if (res.data.count == 1) { |
| | | |
| | | this.hform.HStockPlaceID = res.data.data[0].HMainID |
| | | this.hform.HStockPlaceName = res.data.data[0].仓位名称 |
| | | this.hform.HWHID = res.data.data[0].HWHID |
| | | this.hform.HWHName = res.data.data[0].所属仓库 |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | async refreshHBarCodeFocus() { |
| | | this.HBarCodeFocus = false |
| | | await this.$nextTick() |
| | | this.hform.HBarCode = '' |
| | | this.HBarCodeFocus = true |
| | | }, |
| | | async refreshHBillNoFocus() { |
| | | this.HBillNoFocus = false |
| | | await this.$nextTick(() => { |
| | | this.HBillNoFocus = true |
| | | this.hform.HBillNo = "" |
| | | }) |
| | | }, |
| | | getHBaseList() { |
| | | uni.request({ |
| | | url: this.serverUrl + '/Gy_Warehouse/list', |
| | | data: { |
| | | sWhere: "", |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | success: (res) => { |
| | | if (res.data.count == 1) { |
| | | this.HWHNameList = res.data.data |
| | | for (var i = 0; i < res.data.data.length; i++) { |
| | | this.arrayHWHName[i] = res.data.data[i].仓库名称 |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓库数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | |
| | | uni.request({ |
| | | url: this.serverUrl + '/Gy_StockPlace/list', |
| | | data: { |
| | | sWhere: "", |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | success: (res) => { |
| | | if (res.data.count == 1) { |
| | | this.HStockPlaceNameList = res.data.data |
| | | for (var i = 0; i < res.data.data.length; i++) { |
| | | this.arrayHStockPlaceName[i] = res.data.data[i].仓位名称 |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | //选择仓库 |
| | | HWHNameChange(e) { |
| | | // var name = e.split("(") |
| | | for (var i = 0; i < this.HWHNameList.length; i++) { |
| | | if (this.HWHNameList[i].仓库名称 == e) { |
| | | this.hform.HWHName = this.HWHNameList[i].仓库名称 |
| | | this.hform.HWHID = this.HWHNameList[i].HItemID |
| | | this.HStockPlaceNameChange(null) |
| | | this.showHStockPlaceName = false |
| | | if (this.HWHNameList[i]['启用仓位'] == 'Y') { |
| | | this.showHStockPlaceName = true |
| | | this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"]) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | //选择仓位 |
| | | HStockPlaceNameChange(e) { |
| | | for (var i = 0; i < this.HStockPlaceNameList.length; i++) { |
| | | if (this.HStockPlaceNameList[i].仓位名称 == e) { |
| | | this.hform.HStockPlaceName = this.HStockPlaceNameList[i].仓位名称 |
| | | this.hform.HStockPlaceID = this.HStockPlaceNameList[i].HItemID |
| | | } |
| | | } |
| | | }, |
| | | async refreshBarCodeState() { |
| | | this.barCodeFocus = false |
| | | await this.$nextTick(() => { |
| | | this.hform.HBarCode = "" |
| | | this.barCodeFocus = true |
| | | }) |
| | | }, |
| | | async refreshHBillState() { |
| | | this.HBillNoFocus = false |
| | | await this.$nextTick(() => { |
| | | this.hform.HBillNo = "" |
| | | this.HBillNoFocus = true |
| | | |
| | | }) |
| | | }, |
| | | playSound(e) { |
| | | const innerAudioContext = uni.createInnerAudioContext(); |
| | | if (e == 1) { |
| | | innerAudioContext.src = '/static/success.wav'; |
| | | } else { |
| | | innerAudioContext.src = '/static/jingbao.wav'; |
| | | } |
| | | innerAudioContext.play(); // 播放音频 |
| | | }, |
| | | //扫码 |
| | | toScanHBarCode() { |
| | | var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") |
| | | mpaasScanModule.mpaasScan({ |
| | | 'hideAlbum': true, |
| | | 'timeoutInterval': '10', //超时时间 |
| | | 'timeoutText': '未识别到二维码' //超时提醒 |
| | | }, (ret) => { |
| | | console.log(ret.resp_result) |
| | | // if(this.hform.HBarCode == '*'){ |
| | | // this.hform.HBarCode = this.hform.HBarCode + ret.resp_result |
| | | // }else{ |
| | | // this.hform.HBarCode = ret.resp_result |
| | | // } |
| | | this.hform.HBarCode = ret.resp_result |
| | | // this.GetMeesageByBillNo(this.hform.HBarCode) |
| | | this.getCode(this.hform.HBarCode) |
| | | }) |
| | | }, |
| | | toScanCode() { |
| | | var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") |
| | | mpaasScanModule.mpaasScan({ |
| | | 'hideAlbum': true, |
| | | 'timeoutInterval': '10', //超时时间 |
| | | 'timeoutText': '未识别到二维码' //超时提醒 |
| | | }, (ret) => { |
| | | console.log(ret.resp_result) |
| | | this.hform.HBillNo = ret.resp_result |
| | | this.GetMeesageByBillNo(this.hform.HBillNo) |
| | | }) |
| | | }, |
| | | //扫描单据号条码 |
| | | async GetMeesageByBillNo(e) { |
| | | if (this.hform.HBillNo == "" || this.hform.HBillNo == undefined) { |
| | | return |
| | | } |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/WEBSController/get_BillBarCode_BillCheck_Json', |
| | | data: { |
| | | HBillNo: this.hform.HBillNo, |
| | | HBillType: this.hform.HBillType, |
| | | HMaker: this.hform.HMaker, |
| | | HStockOrgID: this.hform.HStockOrgID |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | // 触发请求锁,不返回任何值 |
| | | return |
| | | } |
| | | |
| | | let { |
| | | data, |
| | | Message, |
| | | count |
| | | } = res.data |
| | | if (count == 1) { |
| | | CommonUtils.playSound(1) |
| | | console.log(data) |
| | | this.hform.HInterID = data.hInterIDField |
| | | this.hform.HBillNo = data.hBillNoField |
| | | this.showHBillNo = false |
| | | //条码核对标记 |
| | | if (data.hSourceBarCodeFlagField) { |
| | | this.hform.HSourceBarCodeCtl = "Y" |
| | | this.hform.chkHBarflag = true |
| | | this.hform.HBarflag = data |
| | | } |
| | | this.tabs = 2 |
| | | this.DisBillEntryList(); |
| | | this.refreshHBarCodeFocus() |
| | | } else { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: Message, |
| | | icon: 'none' |
| | | }) |
| | | this.hform.HBillNo = '' |
| | | } |
| | | |
| | | } catch (e) { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: '接口请求失败: ' + e, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | async getCode(HBarCode) { |
| | | if (HBarCode == undefined || HBarCode == "") { |
| | | return |
| | | } |
| | | //仓库、仓位文本框为空时,清空对应ID |
| | | if (!this.hform.HWHName) { |
| | | this.hform.HWHID = 0 |
| | | } |
| | | if (!this.hform.HStockPlaceName) { |
| | | this.hform.HStockPlaceID = 0 |
| | | } |
| | | var sOldBarCode = HBarCode |
| | | var HDeleteFlag = sOldBarCode.substring(0, 1); |
| | | var sBarCode = sOldBarCode.slice(1); |
| | | |
| | | var sHWHID = this.hform.HWHID |
| | | var sHSPID = this.hform.HStockPlaceID |
| | | var sHQty = this.hform.HQty |
| | | var sSourceBillNo = this.hform.HSourceBillNo |
| | | var sSourceBillType = this.hform.HMainSourceBillType |
| | | var HSourceFlag = this.hform.HSourceBillNo == '' ? false : true |
| | | console.log(this.hform.HSourceBillNo, HSourceFlag) |
| | | if (HDeleteFlag == "*") { |
| | | if (sBarCode == "") { |
| | | CommonUtils.playSound(0) |
| | | uni.showToast({ |
| | | title: '请输入要删除的条码', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json', |
| | | data: { |
| | | HInterID: this.hform.HInterID, |
| | | HBillType: this.hform.HBillType, |
| | | HBarCode: sBarCode |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | // 请求被锁定,退出当前请求 |
| | | return |
| | | } |
| | | |
| | | console.log('删除条码', res.data); |
| | | this.hform.HBarCode = '' |
| | | if (res.data.count == 1) { |
| | | this.hform.HQty = '' |
| | | this.DisBillEntryList() |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (e) { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: '接口请求失败: ' + e, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | } else { |
| | | var sBarCode = this.hform.HBarCode |
| | | if (sHQty == "") { |
| | | sHQty = 0; |
| | | } |
| | | |
| | | |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/WEBSController/get_CheckTypeByBarCode_BillCheck_Json', |
| | | data: { |
| | | sBarCode: sBarCode, |
| | | HBillID: this.hform.HInterID || 0, |
| | | HBillType: this.hform.HBillType, |
| | | HBillNo: this.hform.HBillNo, |
| | | HMaker: this.hform.HMaker, |
| | | HWhID: sHWHID, |
| | | HSPID: sHSPID, |
| | | HSCWHID: 0, |
| | | HSCSPID: 0, |
| | | HQty: sHQty, |
| | | // HRedBlueFlag: this.hform.HRedBlueFlag, |
| | | // SourceFlag: HSourceFlag, |
| | | // HSourceBillNo: sSourceBillNo, |
| | | // HSourceBillType: sSourceBillType, |
| | | HStockOrgID: this.hform.HStockOrgID, |
| | | // HScanStyle: "", |
| | | // HCustom1: "", |
| | | // HCustom2: "" |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | |
| | | console.log('扫码返回', res.data); |
| | | this.hform.HBarCode = '' |
| | | if (res.data.count == 1) { |
| | | CommonUtils.playSound(1); |
| | | var data = res.data.data |
| | | if (data.hBarTypeField == '仓库条码') { |
| | | this.hform.HWHName = data.hWhNameField |
| | | this.hform.HWHID = data.hWhIDField |
| | | this.hform.HStockPlaceName = '' |
| | | this.hform.HStockPlaceID = 0 |
| | | if (data.hSPFlagField == 0) { |
| | | this.showHStockPlaceName = false |
| | | } else { |
| | | this.showHStockPlaceName = true |
| | | } |
| | | } else if (data.hBarTypeField == '仓位条码') { |
| | | this.hform.HWHName = data.hWhNameField |
| | | this.hform.HWHID = data.hWhIDField |
| | | this.hform.HStockPlaceName = data.hSPNameField |
| | | this.hform.HStockPlaceID = data.hSPIDField |
| | | } else if (data.hBarTypeField == '部门条码') { |
| | | this.hform.HDeptName = data.hDeptNameField |
| | | this.hform.HDeptID = data.hDeptIDField |
| | | this.tabs = 1 |
| | | } else if (data.hBarTypeField == '源单条码') { |
| | | this.hform.HSupName = data.hSupNameField |
| | | this.hform.HSupID = data.hSupIDField |
| | | if (data.hDeptIDField != 0) { |
| | | this.hform.HDeptID = data.hDeptIDField |
| | | this.hform.HDeptName = data.hDeptNameField |
| | | } |
| | | this.hform.HSourceBillNo = data.hSourceBillNoField |
| | | //获取源单类型、源单单号 |
| | | if (data.hSourceBillTypeField == "1103") { |
| | | this.HMainSourceBillType = '收料通知单' |
| | | this.hform.HMainSourceBillType = 1103 |
| | | this.showHMainSourceBillType = false |
| | | } else if (data.hSourceBillTypeField == "1102") { |
| | | this.HMainSourceBillType = '采购订单' |
| | | this.hform.HMainSourceBillType = 1102 |
| | | this.showHMainSourceBillType = false |
| | | } else { |
| | | this.HMainSourceBillType = '手工录入' |
| | | this.hform.HMainSourceBillType = -1 |
| | | this.showHMainSourceBillType = false |
| | | } |
| | | if (data.hMulSourceFlagField == 0) { |
| | | this.showHSourceBillNo = false |
| | | } |
| | | //供应商不可编辑 |
| | | this.showHSupName = false |
| | | this.tabs = 2 |
| | | } else { //物料条码 |
| | | this.tabs = 2 |
| | | console.log('data', data) |
| | | if (!this.hform.HSourceBillNo) { |
| | | this.hform.HSupName = data.hSupNameField |
| | | this.hform.HSupID = data.hSupIDField |
| | | this.hform.HSourceBillNo = data.hSourceBillNoField |
| | | if (data.hDeptIDField != 0) { |
| | | this.hform.HDeptID = data.hDeptIDField |
| | | this.hform.HDeptName = data.hDeptNameField |
| | | } |
| | | //获取源单类型、源单单号 |
| | | this.hform.HMainSourceBillType = data.hSourceBillTypeField |
| | | if (data.hSourceBillTypeField == "1103") { |
| | | this.HMainSourceBillType = '收料通知单' |
| | | this.hform.HMainSourceBillType = 1103 |
| | | this.showHMainSourceBillType = false |
| | | } else if (data.hSourceBillTypeField == "1102") { |
| | | this.HMainSourceBillType = '采购订单' |
| | | this.hform.HMainSourceBillType = 1102 |
| | | this.showHMainSourceBillType = false |
| | | } else { |
| | | this.HMainSourceBillType = '手工录入' |
| | | this.hform.HMainSourceBillType = -1 |
| | | this.showHMainSourceBillType = false |
| | | } |
| | | if (data.hMulSourceFlagField == 0) { |
| | | this.showHSourceBillNo = false |
| | | } |
| | | //供应商不可编辑 |
| | | this.showHSupName = false |
| | | } |
| | | } |
| | | //显示表体明细 |
| | | this.DisBillEntryList() |
| | | //清空数量 |
| | | this.hform.HQty = '' |
| | | } else { |
| | | CommonUtils.playSound(0); |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | this.refreshHBarCodeFocus() |
| | | |
| | | } catch (e) { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: '接口请求失败: ' + e, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | //物料信息 |
| | | DisBillEntryList() { |
| | | uni.request({ |
| | | url: this.serverUrl + '/WEBSController/GetKf_PonderationBillMain_Temp_BillCheck_New_Json', |
| | | data: { |
| | | HInterID: this.hform.HInterID, |
| | | HBillType: this.hform.HBillType, |
| | | sWhere: '', |
| | | HSourceBarCodeCtl: this.hform.HSourceBarCodeCt |
| | | }, |
| | | success: (res) => { |
| | | console.log('物料', res.data) |
| | | if (res.data.count == 1) { |
| | | var data = res.data.data |
| | | this.Materlist = data.Materlist |
| | | if (!data.BarCodeDetailslist[0].HBarCode) { |
| | | this.hform.HMaterName_B = '' |
| | | this.hform.HMaterModel_B = '' |
| | | this.hform.HBatchNo_B = '' |
| | | this.hform.HUnitName_B = '' |
| | | this.hform.HQty_B = '' |
| | | this.hform.HTMQty_B = '' |
| | | this.hform.HWHName_B = '' |
| | | this.hform.HSPName_B = '' |
| | | } else { |
| | | this.hform.HMaterName_B = data.BarCodeDetailslist[0].HMaterName |
| | | this.hform.HMaterModel_B = data.BarCodeDetailslist[0].HMaterModel |
| | | this.hform.HBatchNo_B = data.BarCodeDetailslist[0].HBatchNo |
| | | this.hform.HUnitName_B = data.BarCodeDetailslist[0].HUnitName |
| | | this.hform.HQty_B = data.BarCodeDetailslist[0].HQty |
| | | this.hform.HTMQty_B = data.BarCodeDetailslist[0].HTMQty |
| | | this.hform.HWHName_B = data.BarCodeDetailslist[0].HWHName |
| | | this.hform.HSPName_B = data.BarCodeDetailslist[0].HSPName |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | addNew() { |
| | | uni.redirectTo({ |
| | | url: '/pages/shengchantuiliaoCheck/MateOutBackCheckBill?OperationType=1' |
| | | }) |
| | | }, |
| | | async submit() { |
| | | if (this.hform.HInterID == 0 || !this.hform.HInterID) { |
| | | uni.showToast({ |
| | | title: '没有扫码信息,请先扫描单据条码!', |
| | | icon: 'none' |
| | | }) |
| | | } else if (!this.hform.HBillNo) { |
| | | uni.showToast({ |
| | | title: '单据号获取失败,错误的单据号!', |
| | | icon: 'none' |
| | | }) |
| | | } else if (!this.Materlist || this.Materlist.length == 0) { |
| | | uni.showToast({ |
| | | title: '没有扫码信息,请先扫描条码,确认无误后再提交!', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | var s = 0; |
| | | for (var i = 0; i < this.Materlist.length; i++) { |
| | | if (this.Materlist[i].数量 > 0) { |
| | | s = 1; |
| | | } |
| | | } |
| | | if (s == 0) { |
| | | uni.showToast({ |
| | | title: '没有扫描物料条码,请先扫描物料条码,确认无误后再提交!', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | uni.showLoading({ |
| | | title: '请稍候' |
| | | }) |
| | | var sMainStr = JSON.stringify(this.hform); |
| | | |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/WEBSController/set_SaveEntrustOutBackBill_BillCheck_Json', |
| | | method: 'POST', |
| | | data: { |
| | | oMain: sMainStr |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | |
| | | console.log(1, res); |
| | | uni.hideLoading() |
| | | if (res.data.count == 1) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: res.data.Message + '。是否继续新增?(点击取消返回上级页面)', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | url: '/pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_Check?OperationType=1' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | setTimeout(() => { |
| | | uni.navigateBack(); |
| | | }, 50) |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | } catch (e) { |
| | | CommonUtils.playSound(0) |
| | | this.refreshHBillNoFocus() |
| | | uni.showToast({ |
| | | title: '接口请求失败: ' + e, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | |
| | | goBack() { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要退出当前页面吗?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | url: '/pages/weiwaituiliaocheck/Kf_EntrustOutBackBill_CheckList' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 668rpx; |
| | | margin: 20rpx auto; |
| | | padding-bottom: 240rpx; |
| | | } |
| | | |
| | | .tab_area { |
| | | width: 100%; |
| | | height: 50rpx; |
| | | } |
| | | |
| | | .other { |
| | | margin-top: 8rpx; |
| | | text-align: center; |
| | | font-size: 28rpx; |
| | | padding: 4rpx 18rpx; |
| | | color: #1890FF; |
| | | } |
| | | |
| | | .tabs { |
| | | width: 100%; |
| | | display: flex; |
| | | border-bottom: 1px solid #ddd; |
| | | margin: 20rpx 0; |
| | | |
| | | view { |
| | | // width: 25%; |
| | | flex: 1; |
| | | font-size: 30rpx; |
| | | color: #555; |
| | | text-align: center; |
| | | padding: 16rpx 0; |
| | | } |
| | | |
| | | .on { |
| | | color: #3a78ff; |
| | | font-weight: bold; |
| | | border-bottom: 3px solid #3a78ff; |
| | | } |
| | | } |
| | | |
| | | .form-item { |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 30rpx; |
| | | padding: 6rpx 0; |
| | | |
| | | .title { |
| | | width: 208rpx; |
| | | |
| | | text { |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | |
| | | .right { |
| | | // width: 450rpx; |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | } |
| | | |
| | | .righton { |
| | | // width: 450rpx; |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #e4e4e4; |
| | | background-color: #e4e4e4; |
| | | } |
| | | |
| | | input { |
| | | width: inherit; |
| | | padding: 8rpx 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | textarea { |
| | | width: 98%; |
| | | padding: 8rpx 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | } |
| | | |
| | | .bottom-btn { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | // height: 120rpx; |
| | | position: fixed; |
| | | bottom: 0; |
| | | left: 0; |
| | | background-color: #fff; |
| | | box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4); |
| | | padding: 30rpx 40rpx 40rpx 40rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | gap: 10rpx; |
| | | |
| | | button { |
| | | border-radius: 50rpx; |
| | | width: 180rpx; |
| | | height: 66rpx; |
| | | line-height: 66rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | .btn-a { |
| | | background-color: #3A78FF; |
| | | color: #fff; |
| | | } |
| | | |
| | | .btn-b { |
| | | background-color: #41a863; |
| | | color: #fff; |
| | | } |
| | | |
| | | .btn-c { |
| | | background-color: #acacac; |
| | | color: #fff; |
| | | // position: absolute; |
| | | // right: 120rpx; |
| | | } |
| | | |
| | | .btn-d { |
| | | background-color: #ff8901; |
| | | color: #fff; |
| | | } |
| | | } |
| | | |
| | | .list { |
| | | width: 100%; |
| | | |
| | | .card-detail { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | line-height: 120%; |
| | | |
| | | .detail { |
| | | // width: 50%; |
| | | font-size: 26rpx; |
| | | margin-bottom: 12rpx; |
| | | color: #555; |
| | | margin-right: 20rpx; |
| | | |
| | | text { |
| | | color: #999; |
| | | font-size: 26rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .more { |
| | | color: #888; |
| | | font-size: 24rpx; |
| | | display: flex; |
| | | border-top: 1px solid #eee; |
| | | padding-top: 20rpx; |
| | | |
| | | .part { |
| | | width: 50%; |
| | | text-align: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .checkbox { |
| | | color: #888; |
| | | font-size: 28rpx; |
| | | margin-top: 30rpx; |
| | | float: right; |
| | | } |
| | | </style> |
| New file |
| | |
| | | <template> |
| | | <view class="content"> |
| | | <view class="tabs"> |
| | | <view :class="tabs == 0 ? 'on':''" @tap="changeTab(0)">缓存列表</view> |
| | | <view :class="tabs == 1 ? 'on':''" @tap="changeTab(1)">已上传列表</view> |
| | | </view> |
| | | |
| | | <view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view> |
| | | |
| | | <view class="form" v-if="tabs == 0"> |
| | | <view class="buttons" @tap="add"> |
| | | <uni-icons type="plus" style="margin-right: 10rpx;" size="22"></uni-icons>新增 |
| | | </view> |
| | | </view> |
| | | <view class="form" v-if="tabs == 1"> |
| | | <view class="form-item"> |
| | | <view class="title">单据号:</view> |
| | | <view class="right"> |
| | | <input v-model="hform.HBillNo" placeholder="请输入单据号" /> |
| | | </view> |
| | | </view> |
| | | <view class="buttons"> |
| | | <button class="btn-a" size="mini" type="default" @tap="clear">重置</button> |
| | | <button class="btn-c" size="mini" type="default" @tap="search">查询</button> |
| | | </view> |
| | | </view> |
| | | |
| | | <view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view> |
| | | |
| | | <view class="list" v-for="(item,index) in showList" :key="index" v-if="tabs==0"> |
| | | <uni-card :title="item.制单日期.substr(0,10)" :extra="item.单据号" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index"> |
| | | <view class="card-detail"> |
| | | <view class="detail" v-if="item.制单人"> |
| | | <text>制单人:</text>{{item.制单人}} |
| | | </view> |
| | | <view class="detail" v-if="item.组织"> |
| | | <text>组织:</text>{{item.组织}} |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="more"> |
| | | <view class="part" style="border-right: 1px solid #eee;color: #3a78ff;" @tap.stop="edit(item)"> |
| | | <uni-icons type="compose" style="color: #3a78ff;margin-right: 10rpx;" size="18"></uni-icons>编辑 |
| | | </view> |
| | | <view class="part" style="color: #da0000;" @tap.stop="del(item)"> |
| | | <uni-icons type="trash" style="color: #da0000;margin-right: 10rpx;" size="18"></uni-icons>删除 |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="list" v-for="(item,index) in showList" :key="index" v-if="tabs==1"> |
| | | <uni-card :title="item.日期" :extra="item.单据号" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index"> |
| | | <view class="card-detail"> |
| | | <view class="detail" v-if="item.制单人"> |
| | | <text>制单人:</text>{{item.制单人}} |
| | | </view> |
| | | <view class="detail" v-if="item.数量"> |
| | | <text>数量:</text>{{item.数量}} |
| | | </view> |
| | | <view class="detail" v-if="item.物料代码"> |
| | | <text>物料代码:</text>{{item.物料代码}} |
| | | </view> |
| | | <view class="detail" v-if="item.物料名称"> |
| | | <text>物料名称:</text>{{item.物料名称}} |
| | | </view> |
| | | <view class="detail" v-if="item.规格型号"> |
| | | <text>规格型号:</text>{{item.规格型号}} |
| | | </view> |
| | | <view class="detail" v-if="item.组织"> |
| | | <text>组织:</text>{{item.组织}} |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="more"> |
| | | <view class="part" style="color: #d98d00;width: 100%;" @tap.stop="revoke(item)"> |
| | | <uni-icons type="undo" style="color: #d98d00;margin-right: 10rpx;" size="18"></uni-icons>撤销 |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | |
| | | <view class="over" v-if="!listData || listData.length == 0">暂无数据</view> |
| | | <view class="over" v-if="listData.length != 0 && listData.length != showList.length">加载中...</view> |
| | | <view class="over" v-if="listData.length != 0 && listData.length == showList.length">已到底</view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getUserInfo } from "@/utils/auth.js"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | userInfo:getUserInfo(), |
| | | serverUrl: uni.getStorageSync('serverUrl')||'http://47.96.97.237/API', |
| | | tabs:0, |
| | | urls:'/WEBSController/GetKf_PonderationBillMain_TempList_BillCheck_Json', |
| | | MvarReportTitle:'委外退料单校验缓存列表', |
| | | hform:{ |
| | | HBillNo:'', |
| | | HBillType: 1238, |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgID: uni.getStorageSync('OrganizationID'), |
| | | }, |
| | | sWhere:'', |
| | | listData:[], |
| | | showList:[], |
| | | showDetail:-1, |
| | | |
| | | page:1, |
| | | } |
| | | }, |
| | | onLoad() { |
| | | //用户模块权限判断 |
| | | this.CheckModRight() |
| | | this.changeTab(0) |
| | | console.log(this.userInfo,uni.getStorageSync('HUserName')) |
| | | }, |
| | | onReachBottom: function() { |
| | | this.page++ |
| | | setTimeout(() => { |
| | | this.showList = this.showList.concat(this.getPage(this.page,this.listData)) |
| | | }, 100) |
| | | }, |
| | | onPullDownRefresh: function() { |
| | | this.clear() |
| | | setTimeout(()=>{ |
| | | uni.stopPullDownRefresh(); |
| | | }, 1000); |
| | | }, |
| | | methods: { |
| | | CheckModRight(){ |
| | | uni.request({ |
| | | url: this.serverUrl + '/WEBSController/CheckModRight_Json', |
| | | data:{ |
| | | ModRightName: 'CE_MateOutBackCheck', |
| | | HUserName: uni.getStorageSync('HUserName') |
| | | }, |
| | | success: (res) => { |
| | | if(res.data.count == 1){}else{ |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title:'接口请求失败', |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | getPage(page,list){ |
| | | let sindex = (parseInt(page) - 1) * 20 |
| | | let eindex = parseInt(page) * 20 |
| | | let newList = list.slice(sindex,eindex) |
| | | return newList |
| | | }, |
| | | changeTab(e){ |
| | | this.tabs = e |
| | | this.page = 1 |
| | | this.showList = [] |
| | | |
| | | if(this.tabs == 0){ |
| | | this.urls = '/WEBSController/GetKf_PonderationBillMain_TempList_BillCheck_Json' |
| | | } |
| | | if(this.tabs == 1){ |
| | | this.urls = '/WEBSController/GetKf_ICStockBillQueryList_User_BillCheck_Json' |
| | | } |
| | | this.getList() |
| | | }, |
| | | getList(){ |
| | | uni.showLoading({ |
| | | title:'加载中...' |
| | | }) |
| | | uni.request({ |
| | | url: this.serverUrl + this.urls, |
| | | data:this.hform, |
| | | success: (res) => { |
| | | console.log(1,res); |
| | | if(res.data.count == 1){ |
| | | this.listData = res.data.data |
| | | this.showList = this.getPage(this.page,this.listData) |
| | | setTimeout(()=>{ |
| | | uni.hideLoading() |
| | | }, 1000) |
| | | }else{ |
| | | uni.hideLoading() |
| | | this.listData = [] |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.hideLoading() |
| | | uni.showToast({ |
| | | title:'接口请求失败', |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | search(){ |
| | | this.sWhere = '' |
| | | this.listData = [] |
| | | this.page = 1 |
| | | this.showList = [] |
| | | |
| | | console.log(this.hform) |
| | | this.getList() |
| | | }, |
| | | clear(){ |
| | | this.listData = [] |
| | | this.page = 1 |
| | | this.showList = [] |
| | | |
| | | this.sWhere = '' |
| | | this.hform = { |
| | | HBillNo:'', |
| | | HBillType: 1244, |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgID: uni.getStorageSync('OrganizationID'), |
| | | } |
| | | this.getList() |
| | | }, |
| | | add(){ |
| | | uni.navigateTo({ |
| | | url:'./Kf_EntrustOutBackBill_Check?OperationType=1' |
| | | }) |
| | | }, |
| | | //编辑 |
| | | edit(item){ |
| | | console.log(item) |
| | | uni.navigateTo({ |
| | | url:'./Kf_EntrustOutBackBill_Check?OperationType=2&HBillNo=' + item.HBillNo |
| | | }) |
| | | }, |
| | | //删除 |
| | | del(item){ |
| | | // console.log(item.hmainid,uni.getStorageSync('HUserName')) |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除记录?删除后不能恢复', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.request({ |
| | | url: this.serverUrl + '/WEBSController/DeleteTempBillList_BillCheck_Json', |
| | | data:{ |
| | | HInterID: item.HInterID, |
| | | HBillNo: item.单据号, |
| | | HBillType: this.hform.HBillType, |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgID:this.hform.HStockOrgID, |
| | | MvarReportTitle:this.MvarReportTitle, |
| | | }, |
| | | success: (res) => { |
| | | console.log(1,res); |
| | | if(res.data.count == 1){ |
| | | this.clear() |
| | | } |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.hideLoading() |
| | | uni.showToast({ |
| | | title:'接口请求失败', |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | }); |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | //撤销 |
| | | revoke(item){ |
| | | // console.log(item.hmainid,uni.getStorageSync('HUserName')) |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '是否确认撤销', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.request({ |
| | | url: this.serverUrl + '/WEBSController/set_DeleteICStockBillAndWMS_BillCheck_Json', |
| | | data:{ |
| | | HInterID: item.HInterID, |
| | | HBillNo: item.单据号, |
| | | HBillType: this.hform.HBillType, |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | HStockOrgID:this.hform.HStockOrgID, |
| | | MvarReportTitle:this.MvarReportTitle, |
| | | }, |
| | | success: (res) => { |
| | | console.log(1,res); |
| | | if(res.data.count == 1){ |
| | | this.clear() |
| | | } |
| | | uni.showToast({ |
| | | title:res.data.Message, |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.hideLoading() |
| | | uni.showToast({ |
| | | title:'接口请求失败', |
| | | icon:'none' |
| | | }) |
| | | }, |
| | | }); |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .form{ |
| | | width: 640rpx; |
| | | margin: 20rpx auto; |
| | | margin-top: 90rpx; |
| | | } |
| | | .tabs{ |
| | | width: 100%; |
| | | position: fixed; |
| | | left: 0; |
| | | z-index: 9; |
| | | display: flex; |
| | | background-color: #e5e5e5; |
| | | view{ |
| | | width: 50%; |
| | | font-size: 30rpx; |
| | | color: #333; |
| | | text-align: center; |
| | | padding: 16rpx 0; |
| | | } |
| | | .on{ |
| | | color: #3a78ff; |
| | | font-weight: bold; |
| | | border-bottom: 3px solid #3a78ff; |
| | | } |
| | | } |
| | | .buttons{ |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | margin-top: 20rpx; |
| | | button{ |
| | | border-radius: 50rpx; |
| | | width: 180rpx; |
| | | height: 66rpx; |
| | | line-height: 66rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | .btn-a{ |
| | | background-color: #acacac; |
| | | color: #fff; |
| | | } |
| | | .btn-b{ |
| | | background-color: #41a863; |
| | | color: #fff; |
| | | } |
| | | .btn-c{ |
| | | background-color: #3a78ff; |
| | | color: #fff; |
| | | } |
| | | } |
| | | .form-item{ |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 28rpx; |
| | | padding: 6rpx 0; |
| | | .title{ |
| | | width: 180rpx; |
| | | text{ |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | .right{ |
| | | width: 450rpx; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | } |
| | | .righton{ |
| | | width: 450rpx; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #e4e4e4; |
| | | background-color: #e4e4e4; |
| | | } |
| | | input{ |
| | | width: 100%; |
| | | padding: 8rpx 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | } |
| | | .list{ |
| | | width: 100%; |
| | | .card-detail{ |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | line-height: 120%; |
| | | .detail{ |
| | | // width: 50%; |
| | | font-size: 26rpx; |
| | | margin-bottom: 12rpx; |
| | | color: #555; |
| | | margin-right: 20rpx; |
| | | text{ |
| | | color: #999; |
| | | font-size: 26rpx; |
| | | } |
| | | } |
| | | } |
| | | .more{ |
| | | color: #888; |
| | | font-size: 26rpx; |
| | | display: flex; |
| | | border-top: 1px solid #eee; |
| | | padding-top: 20rpx; |
| | | .part{ |
| | | width: 50%; |
| | | display: flex;align-items: center;justify-content: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | </style> |