Commit 65f8d38f by 陈桂东

提交代码

parent 73b4f62c
...@@ -32,5 +32,21 @@ export interface WzcrkDetailDto { ...@@ -32,5 +32,21 @@ export interface WzcrkDetailDto {
fwgldwdm: string, fwgldwdm: string,
swgldwdm: string, swgldwdm: string,
zmlx: string, zmlx: string,
hwh?:string hwh?: string
} }
\ No newline at end of file
/**
* 货架号
*/
export interface HjListDto {
guid: string,
hjh: string,
hjmc: string,
hjcs: number,
mchws: number,
hjrl: number,
hjbz: string,
qyguid: string,
qymc: string,
kfmc: string,
}
...@@ -46,10 +46,11 @@ export class GldwDao extends BaseTable<Gldw> { ...@@ -46,10 +46,11 @@ export class GldwDao extends BaseTable<Gldw> {
*/ */
getGldwList(offset: number, dwmc?: string): Promise<Gldw[]> { getGldwList(offset: number, dwmc?: string): Promise<Gldw[]> {
let wp = this.getPredicates(); let wp = this.getPredicates();
wp.orderByAsc('DWDM').offsetAs(offset).limitAs(20);
if (dwmc) { if (dwmc) {
wp.like('DWFH', `%${dwmc}%`) wp.like('DWFH', `%${dwmc}%`)
// wp.equalTo('DWFH', dwmc)
} }
wp.orderByAsc('DWDM').offsetAs(offset).limitAs(20);
return this.query(wp, this.getTableColumns()); return this.query(wp, this.getTableColumns());
} }
......
import relationalStore from '@ohos.data.relationalStore'; import relationalStore from '@ohos.data.relationalStore';
import { HjListDto, WzcrkMxRefWzDto } from '../../bean/dto/WzcrkMxRefWzDto';
import { HjInfo } from '../../entity/HjInfo'; import { HjInfo } from '../../entity/HjInfo';
import BaseTable, { ValueType } from '../BaseTable'; import BaseTable, { ValueType } from '../BaseTable';
import { Table } from '../decorator/Decorators'; import { Table } from '../decorator/Decorators';
...@@ -40,12 +41,39 @@ export class HjInfoDao extends BaseTable<HjInfo> { ...@@ -40,12 +41,39 @@ export class HjInfoDao extends BaseTable<HjInfo> {
return NativeSql.getHjInfoTable(); return NativeSql.getHjInfoTable();
} }
async getHjList(no: string): Promise<HjInfo[]> { async getHjList(hjh: string): Promise<HjListDto[]> {
let wp = this.getPredicates(); try {
if (no) { let val_sql = NativeSql.getHjListSql(hjh);
wp.equalTo('HJH', no); let db = await this.futureDb;
let rs = await db.querySql(val_sql);
let items = []
if (rs.goToFirstRow()) {
do {
items.push(this.toWzcrkRefWz(rs))
} while (rs.goToNextRow())
}
return items;
} catch (e) {
throw new Error('[查询异常]|' + e)
} }
wp.orderByAsc('HJH');
return this.query(wp, this.getTableColumns())
} }
} /**
\ No newline at end of file * 物资出入库明细转换
*/
toWzcrkRefWz(cursor: relationalStore.ResultSet): HjListDto {
let info: HjListDto = {
guid: cursor.getString(cursor.getColumnIndex('guid')),
hjh: cursor.getString(cursor.getColumnIndex('hjh')),
hjmc: cursor.getString(cursor.getColumnIndex('hjmc')),
mchws: cursor.getLong(cursor.getColumnIndex('mchws')),
hjrl: cursor.getLong(cursor.getColumnIndex('hjrl')),
hjcs: cursor.getLong(cursor.getColumnIndex('hjcs')),
hjbz: cursor.getString(cursor.getColumnIndex('hjbz')),
qyguid: cursor.getString(cursor.getColumnIndex('qyguid')),
qymc: cursor.getString(cursor.getColumnIndex('qymc')),
kfmc: cursor.getString(cursor.getColumnIndex('kfmc')),
};
return info;
}
}
...@@ -45,11 +45,17 @@ export class KfInfoDao extends BaseTable<KfInfo> { ...@@ -45,11 +45,17 @@ export class KfInfoDao extends BaseTable<KfInfo> {
let wp = this.getPredicates(); let wp = this.getPredicates();
for (const [key, value] of Object.entries(data)) { for (const [key, value] of Object.entries(data)) {
if(value) { if (value) {
wp.equalTo(key, value) wp.equalTo(key, value)
} }
} }
wp.orderByAsc("KFDM"); wp.orderByAsc("KFDM");
return this.query(wp, this.getTableColumns()); return this.query(wp, this.getTableColumns());
} }
async updateDefault(guid) {
let db = await this.futureDb;
await db.executeSql(`update ${this.getTableName()} set isDefault = '0'`);
await db.executeSql(`update ${this.getTableName()} set isDefault = '1' where guid = '${guid}'`);
}
} }
\ No newline at end of file
import { uuid } from '../../utils/util'; import { uuid } from '../../utils/util';
import { Logger } from '../../utils/Logger';
export class NativeSql { export class NativeSql {
/** /**
* 构建出入库明细查询语句 * 构建出入库明细查询语句
...@@ -153,6 +155,27 @@ WHERE ...@@ -153,6 +155,27 @@ WHERE
return bzhx_sql; return bzhx_sql;
} }
/**
* 获取货架的四级结构
* @param pmguid 品名主键
* @param kfdm 库房代码
*/
static getHjListSql(hjh): string {
let sql_val = `SELECT
jh.*,
qy.qymc,
kf.kfmc
FROM
TAB_BZGL_KNZY_APP_HJB jh
LEFT JOIN TAB_BZGL_KNZY_APP_QYB qy ON qy.guid = jh.qyguid
LEFT JOIN tab_bzgl_knzy_app_dwkf kf ON kf.guid = qy.kfguid`
if (hjh) {
sql_val += ` where hjh = '${hjh}'`
}
Logger.info('sql_val>>', sql_val)
return sql_val
}
/** /**
* 导出记录表 * 导出记录表
......
import { KfInfoDao, SQLiteContext,KfInfo } from '@ohos/common' import { KfInfo, KfInfoDao, SQLiteContext } from '@ohos/common'
// 库房管理 // 库房管理
class KfModel { class KfModel {
// 添加库房 // 添加库房
async set(data: KfInfo[]) { async set(data: KfInfo[]) {
const copyData = data.map(v => {
return {
...v,
isdefault: "0"
}
})
await SQLiteContext.with(KfInfoDao).batchInsert(data) await SQLiteContext.with(KfInfoDao).batchInsert(data)
} }
...@@ -13,6 +19,11 @@ class KfModel { ...@@ -13,6 +19,11 @@ class KfModel {
return res; return res;
} }
// 设置推荐货位
async update(guid) {
let res = await SQLiteContext.with(KfInfoDao).updateDefault(guid)
}
// 清空表 // 清空表
async clear() { async clear() {
await SQLiteContext.with(KfInfoDao).clearTable() await SQLiteContext.with(KfInfoDao).clearTable()
......
...@@ -5,17 +5,14 @@ import { DirectConnect } from '@ohos/direct'; ...@@ -5,17 +5,14 @@ import { DirectConnect } from '@ohos/direct';
import { MaterialManagement } from '@ohos/material'; import { MaterialManagement } from '@ohos/material';
import { PageManagement } from '@ohos/pagemanagement'; import { PageManagement } from '@ohos/pagemanagement';
import { SystemMaintenance } from '@ohos/system'; import { SystemMaintenance } from '@ohos/system';
import { import { BreakpointConstants, BreakpointSystem, Logger, StyleConstants } from '@ohos/common';
BreakpointSystem,
Logger,
StyleConstants,
BreakpointConstants
} from '@ohos/common';
@Entry @Entry
@Component @Component
struct MainPage { struct MainPage {
@StorageProp('currentBreakpoint') currentBreakpoint: string = 'sm'; @StorageProp('currentBreakpoint') currentBreakpoint: string = 'sm';
@StorageLink('IndexPage') currentPageIndex: number = 0; @StorageLink('IndexPage') currentPageIndex: number = 0;
@State index: number = 0;
private breakpointSystem = new BreakpointSystem(); private breakpointSystem = new BreakpointSystem();
aboutToAppear() { aboutToAppear() {
...@@ -46,7 +43,7 @@ struct MainPage { ...@@ -46,7 +43,7 @@ struct MainPage {
.tabBar(this.BottomNavigation(buttonInfo[PageConstants.NEW_PRODUCT_INDEX])) .tabBar(this.BottomNavigation(buttonInfo[PageConstants.NEW_PRODUCT_INDEX]))
TabContent() { TabContent() {
PageManagement() PageManagement({ currentPageIndex: this.index })
} }
.tabBar(this.BottomNavigation(buttonInfo[PageConstants.SHOP_CART_INDEX])) .tabBar(this.BottomNavigation(buttonInfo[PageConstants.SHOP_CART_INDEX]))
...@@ -63,6 +60,8 @@ struct MainPage { ...@@ -63,6 +60,8 @@ struct MainPage {
.scrollable(false) .scrollable(false)
.onChange((index: number) => { .onChange((index: number) => {
this.currentPageIndex = index; this.currentPageIndex = index;
this.index = index
// if (index === PageConstants.PERSONAL_INDEX) { // if (index === PageConstants.PERSONAL_INDEX) {
// this.queryShopCart(); // this.queryShopCart();
// } else if (index === PageConstants.PERSONAL_INDEX) { // } else if (index === PageConstants.PERSONAL_INDEX) {
......
...@@ -10,7 +10,6 @@ export struct WzScanInfoDialog { ...@@ -10,7 +10,6 @@ export struct WzScanInfoDialog {
@Link currentHwh: string @Link currentHwh: string
@Link currentWZInfo: Array<any> @Link currentWZInfo: Array<any>
handleDefaultHwDetail: () => void handleDefaultHwDetail: () => void
@BuilderParam container: () => void @BuilderParam container: () => void
// hwDetailDialog: CustomDialogController = new CustomDialogController({ // hwDetailDialog: CustomDialogController = new CustomDialogController({
...@@ -30,8 +29,8 @@ export struct WzScanInfoDialog { ...@@ -30,8 +29,8 @@ export struct WzScanInfoDialog {
build() { build() {
Column() { Column() {
Flex({ justifyContent: FlexAlign.SpaceBetween }) { Flex({ justifyContent: FlexAlign.SpaceBetween }) {
DividerTitle({title: "扫描信息"}) DividerTitle({ title: "扫描信息" })
.padding({ top: 10, bottom: 10 }) .padding({ top: 10, bottom: 10 })
Image($rawfile('scan/close.png')) Image($rawfile('scan/close.png'))
.width(28) .width(28)
.height(28) .height(28)
...@@ -50,7 +49,7 @@ export struct WzScanInfoDialog { ...@@ -50,7 +49,7 @@ export struct WzScanInfoDialog {
}) })
}.padding(15) }.padding(15)
} }
.margin({top: 80}) .margin({ top: 80 })
.width('100%') .width('100%')
.borderRadius(5) .borderRadius(5)
.backgroundColor('#fff') .backgroundColor('#fff')
......
...@@ -3,7 +3,7 @@ import { Logger } from '@ohos/common'; ...@@ -3,7 +3,7 @@ import { Logger } from '@ohos/common';
import gldwModel from '../../../model/GldwModel'; import gldwModel from '../../../model/GldwModel';
import kfModel from '../../../model/KfModel'; import kfModel from '../../../model/KfModel';
import { DividerTitle } from '../../../view/DividerTitle/DividerTitle'; import { DividerTitle } from '../../../view/DividerTitle/DividerTitle';
import { PzFormClass, WzClass, WzmxClass } from './Wzcrk.data'; import { PzFormClass, ScanWzClass, WzClass, WzmxClass } from './Wzcrk.data';
import { WzList } from '../WzInPage/WzinDetail/WzList'; import { WzList } from '../WzInPage/WzinDetail/WzList';
import { WzScanInfoDialog } from './Dialog/WzScanInfoDialog'; import { WzScanInfoDialog } from './Dialog/WzScanInfoDialog';
import { analysisQrCode } from '../../../identify/analysis/analysis_QR_code' import { analysisQrCode } from '../../../identify/analysis/analysis_QR_code'
...@@ -29,12 +29,12 @@ export struct WzInfo { ...@@ -29,12 +29,12 @@ export struct WzInfo {
@State currentHwh: string = '' // 当前货位 @State currentHwh: string = '' // 当前货位
@State pageType: string = "" //当前凭证的类型 @State pageType: string = "" //当前凭证的类型
@State currentModel: boolean = false //倒出:true/倒入:false @State currentModel: boolean = false //倒出:true/倒入:false
@State currentWZInfo: Array<any> = [] //当前扫描物资信息 @State currentWZInfo: ScanWzClass[] = [] //当前扫描物资信息
@State defaultArr: Array<any> = [] @State defaultArr: Array<any> = []
@State dataType: boolean = false // 导入是true, 其他false 根据单据状态控制提交按钮显示隐藏 @State dataType: boolean = false // 导入是true, 其他false 根据单据状态控制提交按钮显示隐藏
@State isHaveButton: boolean = false // 完成状态, 未完成是true, 其他false @State isHaveButton: boolean = false // 完成状态, 未完成是true, 其他false
@State isAutomation: boolean = true //控制扫描提示显示隐藏 @State isAutomation: boolean = true //控制扫描提示显示隐藏
@State pzxqGuild:string = '' //当前凭证guid @State pzxqGuild: string = '' //当前凭证guid
@State historicalInformation: Array<any> = [] //物资数据 @State historicalInformation: Array<any> = [] //物资数据
@State currentPmdmcode: string = '' //当前扫描pmdm10位 @State currentPmdmcode: string = '' //当前扫描pmdm10位
...@@ -106,10 +106,10 @@ export struct WzInfo { ...@@ -106,10 +106,10 @@ export struct WzInfo {
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) { Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
ForEach(this.currentWZInfo, item => { ForEach(this.currentWZInfo, item => {
Text(item.pmdm).width("25%").textAlign(TextAlign.Start).fontSize(14) Text(item.pmdmcode).width("25%").textAlign(TextAlign.Start).fontSize(14)
Text(item.wzpm).width("25%").textAlign(TextAlign.Center).fontSize(14) Text(item.wzpm).width("25%").textAlign(TextAlign.Center).fontSize(14)
Text(item.hxmc).width("25%").textAlign(TextAlign.Center).fontSize(14) Text(item.hxmc).width("25%").textAlign(TextAlign.Center).fontSize(14)
Text(item.crksl) Text(item.crksl + '')
.width("25%") .width("25%")
.textAlign(TextAlign.Center) .textAlign(TextAlign.Center)
.fontSize(20) .fontSize(20)
...@@ -448,7 +448,7 @@ export struct WzInfo { ...@@ -448,7 +448,7 @@ export struct WzInfo {
/*** /***
* @description: 单据明细新增/修改 * @description: 单据明细新增/修改
*/ */
async handleSetInsertOrUpdate(res, ITEM) { async handleSetInsertOrUpdate(res, ITEM) {
const [filterInsrtData] = res.data.filter(item => item.pmdmcode == ITEM.pmdmcode && item const [filterInsrtData] = res.data.filter(item => item.pmdmcode == ITEM.pmdmcode && item
.hxmc == ITEM.hxmc) .hxmc == ITEM.hxmc)
var testPmdmCodeSql = [] var testPmdmCodeSql = []
...@@ -876,8 +876,14 @@ export struct WzInfo { ...@@ -876,8 +876,14 @@ export struct WzInfo {
const [filterData] = this.historicalInformation.filter((fLe) => fLe.pmdmcode == const [filterData] = this.historicalInformation.filter((fLe) => fLe.pmdmcode ==
item.pmdmcode && fLe.hwh == this.currentHwh) item.pmdmcode && fLe.hwh == this.currentHwh)
return filterData return filterData
}) as ScanWzClass []
console.log('this.newData', JSON.stringify(newData))
this.currentWZInfo = []
newData.forEach(i => {
this.currentWZInfo.push(new ScanWzClass(i))
}) })
this.currentWZInfo = newData
console.log('this.currentWZInfo', JSON.stringify(this.currentWZInfo)) console.log('this.currentWZInfo', JSON.stringify(this.currentWZInfo))
Logger.info(this, '手动修改结束', dateUtils.formatDate(new Date())) Logger.info(this, '手动修改结束', dateUtils.formatDate(new Date()))
} catch (e) { } catch (e) {
...@@ -1003,9 +1009,6 @@ export struct WzInfo { ...@@ -1003,9 +1009,6 @@ export struct WzInfo {
} }
handleGetDefaultHwh(res) { handleGetDefaultHwh(res) {
try { try {
var defaultArr = [] var defaultArr = []
......
...@@ -293,6 +293,42 @@ export class PzFormClass { ...@@ -293,6 +293,42 @@ export class PzFormClass {
} }
} }
@Observed
export class ScanWzClass {
pzsl: string
crksl: number
hwh: string
hxmc: string
pmdmcode: string
wzpm: string
pzmxguid: string
mxguid: string
pmdmsix: string
constructor(data: {
pzsl: string
crksl: number
hwh: string
hxmc: string
pmdmcode: string
wzpm: string
pzmxguid: string
mxguid: string
pmdmsix: string
}) {
this.pmdmsix = data.pmdmsix;
this.mxguid = data.mxguid;
this.crksl = data.crksl;
this.hwh = data.hwh;
this.hxmc = data.hxmc;
this.pmdmcode = data.pmdmcode;
this.wzpm = data.wzpm;
this.hxmc = data.hxmc;
this.mxguid = data.mxguid;
}
}
// 凭证类型 // 凭证类型
export function renderPzlx(pzlx) { export function renderPzlx(pzlx) {
Logger.info('szlx>>', pzlx) Logger.info('szlx>>', pzlx)
......
import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
import { WzmxClass } from '../../Common/Wzcrk.data' import { WzmxClass } from '../../Common/Wzcrk.data'
@Component @Component
......
...@@ -108,8 +108,15 @@ struct WzinDetail { ...@@ -108,8 +108,15 @@ struct WzinDetail {
// pageType必传 入库 出库 盘库 调号 倒库 换位 // pageType必传 入库 出库 盘库 调号 倒库 换位
// dataType必传 导入是true, 其他为false // dataType必传 导入是true, 其他为false
// isHaveButton 必传 完成状态 未完成是true, 其他为false // isHaveButton 必传 完成状态 未完成是true, 其他为false
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getWzmxList, WzInfo({
pageType: "入库", pzForm: this.pzForm, dataType: this.isUpdate ? true : false, isHaveButton: this.wzcrk.wczt == '未完成' ? true : false}) wzmx: this.wzmx,
wzcrk: this.wzcrk,
getDetail: this.getWzmxList,
pageType: "入库",
pzForm: $pzForm,
dataType: this.isUpdate ? true : false,
isHaveButton: this.wzcrk.wczt == '未完成' ? true : false
})
}.width("100%") }.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息')) }.tabBar(this.TabBuilder(1, '物资信息'))
} }
......
...@@ -48,8 +48,9 @@ export struct ListDialog { ...@@ -48,8 +48,9 @@ export struct ListDialog {
await hwModel.clear(); await hwModel.clear();
await hjModel.clear(); await hjModel.clear();
await gldwModel.clear(); await gldwModel.clear();
await await drModel.set('清除基础数据') await bzhxModel.clear()
await this.getDrData() await drModel.set('清除基础数据')
await this.getDrData()
promptAction.showToast({ promptAction.showToast({
message: '清除基础数据成功' message: '清除基础数据成功'
}) })
...@@ -58,6 +59,7 @@ export struct ListDialog { ...@@ -58,6 +59,7 @@ export struct ListDialog {
message: '清除基础数据失败' message: '清除基础数据失败'
}) })
} }
break;
case '是否确认清除单据数据': case '是否确认清除单据数据':
try { try {
......
import { DividerTitle } from '../../../../view/DividerTitle/DividerTitle' import { DividerTitle } from '../../../../view/DividerTitle/DividerTitle'
import promptAction from '@ohos.promptAction' import promptAction from '@ohos.promptAction'
import wzcrkModel from '../../../../model/WzcrkModel'
import wzcrkmxModel from '../../../../model/WzcrkmxModel'
import dsRfidModel from '../../../../model/DsRfidModel'
import { getDjList, getLsqList } from '../sync.api' import { getDjList, getLsqList } from '../sync.api'
import drModel from '../../../../model/DrModel' import drModel from '../../../../model/DrModel'
import { KfInfo } from '@ohos/common/src/main/ets/entity/KfInfo'
import kfModel from '../../../../model/KfModel' import kfModel from '../../../../model/KfModel'
import { pzlx_dict } from '@ohos/common/src/main/ets/utils/dict'
import hwModel from '../../../../model/HwModel' import hwModel from '../../../../model/HwModel'
@Extend(Button) function CommonButtonStyle() { @Extend(Button) function CommonButtonStyle() {
...@@ -106,7 +101,8 @@ export struct OrderModal { ...@@ -106,7 +101,8 @@ export struct OrderModal {
Row() { Row() {
Text('*').fontColor('red') Text('*').fontColor('red')
Text('单位代码:').width('25%') Text('单位代码:').width('25%')
TextInput({ placeholder: "请输入单位代码", text: this.form.ckdwguid }).width('60%') TextInput({ placeholder: "请输入单位代码", text: this.form.ckdwguid })
.width('60%')
.borderRadius(6) .borderRadius(6)
.borderColor('#bcc5d7') .borderColor('#bcc5d7')
.borderWidth(1) .borderWidth(1)
......
...@@ -33,6 +33,7 @@ export struct GoodShelf { ...@@ -33,6 +33,7 @@ export struct GoodShelf {
.placeholderFont({ size: 14, weight: 400 }) .placeholderFont({ size: 14, weight: 400 })
.textFont({ size: 14, weight: 400 }) .textFont({ size: 14, weight: 400 })
.onSubmit((value) => this.getShelfList(value)) .onSubmit((value) => this.getShelfList(value))
.onChange((value) => this.getShelfList(value))
.borderRadius(5) .borderRadius(5)
}.width('100%') }.width('100%')
Column() { Column() {
......
...@@ -2,71 +2,56 @@ import { HjInfo } from '@ohos/common' ...@@ -2,71 +2,56 @@ import { HjInfo } from '@ohos/common'
@Component @Component
export struct Shelf { export struct Shelf {
@Link dataSource: HjInfo[] @Link dataSource: HjInfo[]
@Styles commonPadding() { @Styles commonPadding() {
.padding({top:4, bottom:4}) .padding({ top: 4, bottom: 4 })
.alignSelf(ItemAlign.Start) .alignSelf(ItemAlign.Start)
} }
@Builder renderList() { @Builder renderList() {
Column() { Column() {
List(){ List() {
ForEach(this.dataSource, (item, index) => { ForEach(this.dataSource, (item, index) => {
ListItem(){ ListItem() {
Row() { Row() {
Column() { Column() {
Row(){ Text("区域:" + item.qymc).commonPadding()
Text("区域:").commonPadding() Text("货架号:" + item.hjh).commonPadding()
Text(item.kfdm).commonPadding() }.width('45%')
}.margin({left:20})
Row(){
Text("库房名称:").commonPadding()
Text(item.kfmc).commonPadding()
}
}.width('40%')
Column() { Column() {
Row(){ Text("层数:" + item.mchws).commonPadding()
Text("库房类型:").commonPadding()
Text(item.kflx).commonPadding() Text("货位数/层:" + item.hjcs).commonPadding()
}
Row(){ }.width('30%')
Text("优先级:").commonPadding()
Text(item.yxj + '').commonPadding()
}
}.width('40%')
Row() { Row() {
Radio({ value: 'Radio1', group: 'radioGroup' }) Text('仓库:' + item.kfmc)
.height(18) }.width('25%')
.width(18)
.onChange((isChecked: boolean) => {
console.log('Radio1 status is ' + isChecked)
})
}.width('10%')
}.commonPadding() }.commonPadding()
} }
}) })
}.divider({strokeWidth:1,color:'505050'}) }.divider({ strokeWidth: 1, color: '505050' })
}.width('100%').height('100%').backgroundColor('#fff') }.width('100%').height('100%').backgroundColor('#fff')
} }
@Builder renderEmpty() { @Builder renderEmpty() {
Flex({justifyContent:FlexAlign.Center,alignItems:ItemAlign.Center}) { Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
Column() { Column() {
Image($r("app.media.empty")).width("42%") Image($r("app.media.empty")).width("42%")
Text("暂无数据").fontSize(22).fontColor("#fff").margin({top: 5}) Text("暂无数据").fontSize(22).fontColor("#fff").margin({ top: 5 })
} }
}.height('70%') }.height('70%')
} }
build() { build() {
if(this.dataSource.length == 0) { if (this.dataSource.length == 0) {
this.renderEmpty() this.renderEmpty()
} else { } else {
this.renderList() this.renderList()
}
} }
}
} }
\ No newline at end of file
import bzhxModal from '../../../model/BzhxModel' import bzhxModal from '../../../model/BzhxModel'
import { BasicTable } from '../../../view/BasicTable/BasicTable'
import { TitleBar } from '../../../view/title/TitleBar' import { TitleBar } from '../../../view/title/TitleBar'
import { Bzhx, Logger } from '@ohos/common' import { Bzhx, BzhxDao, SQLiteContext } from '@ohos/common'
import { pmhxList } from './pmhxList' import { pmhxList } from './pmhxList'
@Entry @Entry
...@@ -11,6 +10,8 @@ export struct Pmhx { ...@@ -11,6 +10,8 @@ export struct Pmhx {
@State offsetNumber: number = 0 @State offsetNumber: number = 0
@State finished: boolean = false @State finished: boolean = false
@State pmdmsix: string = '' @State pmdmsix: string = ''
@State pmsl: number = 0
@State hxsl: number = 0
controller: SearchController = new SearchController() controller: SearchController = new SearchController()
aboutToAppear() { aboutToAppear() {
...@@ -23,6 +24,23 @@ export struct Pmhx { ...@@ -23,6 +24,23 @@ export struct Pmhx {
this.finished = true this.finished = true
} }
this.dataSource = [...this.dataSource, ...res] this.dataSource = [...this.dataSource, ...res]
this.getHxsl()
this.getPmsl()
}
// 号型数量
async getHxsl() {
const res = await SQLiteContext.with(BzhxDao).queryAll()
this.hxsl = res.length
}
// 号型数量
async getPmsl() {
let wp = SQLiteContext.with(BzhxDao).getPredicates()
wp.groupBy(['pmdmsix'])
const res = await SQLiteContext.with(BzhxDao).query(wp)
this.pmsl = res.length
} }
clearData() { clearData() {
...@@ -38,19 +56,20 @@ export struct Pmhx { ...@@ -38,19 +56,20 @@ export struct Pmhx {
Row() { Row() {
Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) { Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {
Column() { Column() {
Text('品名数量: 0个') Text(`品名数量: ${this.pmsl}个`)
} }
Column() { Column() {
Text('号型数量: 0个') Text(`号型数量: ${this.hxsl}个`)
} }
} }
.height(80)
.width('100%') .width('100%')
.backgroundColor('#fff') .backgroundColor('#fff')
.height(52) .height(52)
.borderRadius(5) .borderRadius(5)
.padding({ left: 10, right: 10 }) .padding({ left: 10, right: 10 })
} }.margin({ top: 20 })
Row() { Row() {
Search({ placeholder: '请输入六位品名代码', controller: this.controller }) Search({ placeholder: '请输入六位品名代码', controller: this.controller })
...@@ -64,9 +83,13 @@ export struct Pmhx { ...@@ -64,9 +83,13 @@ export struct Pmhx {
this.pmdmsix = value this.pmdmsix = value
this.getPmhxList() this.getPmhxList()
}) })
.onChange((value) => {
this.clearData()
this.pmdmsix = value
this.getPmhxList()
})
.borderRadius(5) .borderRadius(5)
.margin({ top: 15 }) }.height(50).margin({ top: 30 })
}
Column() { Column() {
pmhxList({ pmhxList({
......
import { Gldw, Logger } from '@ohos/common' import { Gldw, Logger } from '@ohos/common'
@Component @Component
...@@ -6,13 +5,13 @@ export struct UnitList { ...@@ -6,13 +5,13 @@ export struct UnitList {
@Link dataSource: Gldw[] @Link dataSource: Gldw[]
@Link finished: boolean @Link finished: boolean
@Link offsetNumber: number @Link offsetNumber: number
onScrollEdge: () => void
scroller: Scroller = new Scroller()
@Styles commonPadding() { @Styles commonPadding() {
.padding({top:4, bottom:4}) .padding({ top: 4, bottom: 4 })
.alignSelf(ItemAlign.Start) .alignSelf(ItemAlign.Start)
} }
onScrollEdge: () => void
scroller: Scroller = new Scroller()
@Builder renderList() { @Builder renderList() {
Column() { Column() {
...@@ -28,49 +27,51 @@ export struct UnitList { ...@@ -28,49 +27,51 @@ export struct UnitList {
.padding({ top: 8, bottom: 8 }) .padding({ top: 8, bottom: 8 })
.width('60%') .width('60%')
} }
List({ space: 2, scroller: this.scroller }){
ForEach(this.dataSource, (item, index) => {
ListItem(){
Row() {
Column() {
Row(){
Text(item.dwdm).commonPadding()
}.margin({left:10})
}.width('40%')
Column() { List({ space: 2, scroller: this.scroller }) {
Row(){ ForEach(this.dataSource, (item, index) => {
Text(item.dwfh).commonPadding() ListItem() {
} Row() {
}.width('60%') Column() {
}.commonPadding() Row() {
}.borderRadius(4) Text(item.dwdm).commonPadding()
}) }.margin({ left: 10 })
}.divider({strokeWidth:1,color:'505050'}) }.width('40%')
.onScrollIndex((firstIndex: number, lastIndex: number) => {
if (!this.finished && this.dataSource.length == (lastIndex + 1) ) { Column() {
// 如果没完成并且划到最底部则调刷新数据接口 Row() {
this.offsetNumber ++ Text(item.dwfh).commonPadding()
this.onScrollEdge() }
} }.width('60%')
}) }.commonPadding()
}.borderRadius(4)
})
}.divider({ strokeWidth: 1, color: '505050' })
.margin({ bottom: 20 })
.onScrollIndex((firstIndex: number, lastIndex: number) => {
if (!this.finished && this.dataSource.length == (lastIndex + 1)) {
// 如果没完成并且划到最底部则调刷新数据接口
this.offsetNumber++
this.onScrollEdge()
}
})
}.width('100%').height('100%').backgroundColor('#fff') }.width('100%').height('100%').backgroundColor('#fff')
} }
@Builder renderEmpty() { @Builder renderEmpty() {
Flex({justifyContent:FlexAlign.Center,alignItems:ItemAlign.Center}) { Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
Column() { Column() {
Image($r("app.media.empty")).width("42%") Image($r("app.media.empty")).width("42%")
Text("暂无数据").fontSize(22).fontColor("#fff").margin({top: 5}) Text("暂无数据").fontSize(22).fontColor("#fff").margin({ top: 5 })
} }
}.height('70%') }.height('70%')
} }
build() { build() {
if(this.dataSource.length == 0) { if (this.dataSource.length == 0) {
this.renderEmpty() this.renderEmpty()
} else { } else {
this.renderList() this.renderList()
}
} }
}
} }
\ No newline at end of file
import { KfInfo } from '@ohos/common/src/main/ets/entity/KfInfo' import { KfInfo } from '@ohos/common/src/main/ets/entity/KfInfo'
import kfModel from '../../../model/KfModel'
@Component @Component
export struct HouseList { export struct HouseList {
...@@ -39,13 +40,19 @@ export struct HouseList { ...@@ -39,13 +40,19 @@ export struct HouseList {
} }
}.width('40%') }.width('40%')
Row() { Column() {
Radio({ value: 'Radio1', group: 'radioGroup' }) Radio({ value: item.guid, group: 'radioGroup' })
.checked(item.isdefault == '1')
.height(18) .height(18)
.width(18) .width(18)
.onChange((isChecked: boolean) => { .onChange((isChecked: boolean) => {
console.log('Radio1 status is ' + isChecked) if (isChecked) {
kfModel.update(item.guid)
}
}) })
if (item.isdefault == '1') {
Text('默认库房').fontColor('#3672cf')
}
}.width('10%') }.width('10%')
}.commonPadding() }.commonPadding()
} }
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
"pages/metailmange/WzConversionPage", "pages/metailmange/WzConversionPage",
"pages/metailmange/WzConversionPage/WzConversionPage", "pages/metailmange/WzConversionPage/WzConversionPage",
"pages/metailmange/WzConversionPage/WzConversionDetailPage/WzConversionDetailPage", "pages/metailmange/WzConversionPage/WzConversionDetailPage/WzConversionDetailPage",
"pages/metailmange/WzInvPage", "pages/metailmange/WzInvPage",
"pages/metailmange/WzInvPage/WzInvPage", "pages/metailmange/WzInvPage/WzInvPage",
"pages/metailmange/WzInvPage/WzInvDetail/WzInvDetail", "pages/metailmange/WzInvPage/WzInvDetail/WzInvDetail",
......
import router from '@ohos.router' import router from '@ohos.router'
import { import { BgglDao, Logger, SQLiteContext, StatusBarManager } from '@ohos/common';
StatusBarManager,
SQLiteContext, @Extend(Text) function numberStyle() {
BgglDao, .fontSize(20)
Logger .fontColor('#17d56b')
} from '@ohos/common'; .padding({ left: 5, right: 5 })
@Entry }
@Component @Component
export struct PageManagement { export struct PageManagement {
@State currentIndex: number = 0 @State currentIndex: number = 0
private controller: TabsController = new TabsController()
searchController: SearchController = new SearchController() searchController: SearchController = new SearchController()
@Prop @Watch('onCountUpdated') currentPageIndex: number
@State total: number = 0
@State dsj: number = 0
@State wlq: number = 0
@State ylq: number = 0
private controller: TabsController = new TabsController()
onCountUpdated(index: number) {
if (this.currentPageIndex == 2) {
this.getTotal()
this.getDsj()
this.getYlq()
this.getWlq()
}
}
@Builder TabBuilder(index: number, name: string) { @Builder TabBuilder(index: number, name: string) {
Column() { Column() {
...@@ -27,24 +41,35 @@ export struct PageManagement { ...@@ -27,24 +41,35 @@ export struct PageManagement {
}.width('100%') }.width('100%')
} }
onPageShow(){
this.getPackList()
}
// 获取包裹列表 // 获取包裹列表
async getPackList(ddh?: string) { async getPackList(ddh?: string) {
let wp = SQLiteContext.with(BgglDao).getPredicates() }
if(ddh) { async getTotal() {
wp.equalTo('DDH', ddh) const res = await SQLiteContext.with(BgglDao).queryAll()
} Logger.info('total>>', res.length + '')
this.total = res.length
}
wp.equalTo('WCZT','未完成') async getDsj() {
const res = await SQLiteContext.with(BgglDao).queryAll(wp) let wp = SQLiteContext.with(BgglDao).getPredicates()
const res1 = await SQLiteContext.with(BgglDao).queryAll() wp.equalTo('WCZT', '待上架')
const res = await SQLiteContext.with(BgglDao).query(wp)
this.dsj = res.length
}
Logger.info('包裹列表>>', JSON.stringify(res)) async getWlq() {
Logger.info('包裹列表1111>>', JSON.stringify(res1)) let wp = SQLiteContext.with(BgglDao).getPredicates()
wp.equalTo('WCZT', '未领取')
const res = await SQLiteContext.with(BgglDao).query(wp)
this.wlq = res.length
}
async getYlq() {
let wp = SQLiteContext.with(BgglDao).getPredicates()
wp.equalTo('WCZT', '已领取')
const res = await SQLiteContext.with(BgglDao).query(wp)
this.ylq = res.length
} }
build() { build() {
...@@ -119,48 +144,78 @@ export struct PageManagement { ...@@ -119,48 +144,78 @@ export struct PageManagement {
Row() { Row() {
Column() { Column() {
Row() { Row() {
Text("0条") Text(this.total + '').numberStyle()
Text("条")
} }
Text("订单数量").padding({ top: 8, bottom: 8 }) Text("订单数量").padding({ top: 8, bottom: 8 })
} }
}.width('50%').justifyContent(FlexAlign.Center).onClick(() => { }
.width('50%')
.justifyContent(FlexAlign.Center)
.onClick(() => {
router.pushUrl({ url: "pages/package/Pack", params: { router.pushUrl({ url: "pages/package/Pack", params: {
type: "all" type: "all"
} }) } })
}).border({ })
.border({
width: { left: '0lpx', right: '2lpx', top: '0lpx', bottom: '0lpx' }, width: { left: '0lpx', right: '2lpx', top: '0lpx', bottom: '0lpx' },
}).height('100%') })
.height('100%')
Row() { Row() {
Column() { Column() {
Text("待上架0条").onClick(() => { Row() {
Text(`待上架`)
Text(`${this.dsj}`).numberStyle()
Text(`条`)
}
.justifyContent(FlexAlign.Center)
.onClick(() => {
router.pushUrl({ url: "pages/package/Pack", params: { router.pushUrl({ url: "pages/package/Pack", params: {
type: "wait" type: "wait"
} }) } })
}).padding({ top: 10, bottom: 10 }).border({ })
.padding({ top: 10, bottom: 10 })
.border({
width: { left: '0lpx', right: '0lpx', top: '0lpx', bottom: '2lpx' }, width: { left: '0lpx', right: '0lpx', top: '0lpx', bottom: '2lpx' },
}).textAlign(TextAlign.Center).width('100%') })
.width('100%')
Text("未领取0条").onClick(() => { Row() {
Text(`未领取`)
Text(`${this.wlq}`).numberStyle()
Text(`条`)
}
.onClick(() => {
router.pushUrl({ url: "pages/package/Pack", params: { router.pushUrl({ url: "pages/package/Pack", params: {
type: "unclaimed" type: "unclaimed"
} }) } })
}).padding({ top: 10, bottom: 10 }).textAlign(TextAlign.Center).width('100%').border({ })
.padding({ top: 10, bottom: 10 })
.justifyContent(FlexAlign.Center)
.width('100%')
.border({
width: { left: 'lpx', right: '0lpx', top: '0lpx', bottom: '2lpx' }, width: { left: 'lpx', right: '0lpx', top: '0lpx', bottom: '2lpx' },
}) })
Text("已领取0条").onClick(() => { Row() {
Text(`已领取`)
Text(`${this.ylq}`).numberStyle()
Text(`条`)
}.onClick(() => {
router.pushUrl({ url: "pages/package/Pack", params: { router.pushUrl({ url: "pages/package/Pack", params: {
type: "received" type: "received"
} }) } })
}).padding({ top: 10, bottom: 10 }).textAlign(TextAlign.Center).width('100%') }).padding({ top: 10, bottom: 10 }).justifyContent(FlexAlign.Center).width('100%')
} }
}.width('50%').justifyContent(FlexAlign.Center) }.width('50%').justifyContent(FlexAlign.Center)
}.border({ }.border({
width: { left: '0lpx', right: '0lpx', top: '2lpx', bottom: '0lpx' }, width: { left: '0lpx', right: '0lpx', top: '2lpx', bottom: '0lpx' },
}).height(120) }).height(130)
} }
}.padding({top: `${StatusBarManager.get().getSystemBarOffset()}px`}) }.padding({ top: `${StatusBarManager.get().getSystemBarOffset()}px` })
.width('100%').backgroundColor('#fff') .width('100%')
} }
} }
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论