Commit 0919e842 by 毛勇泽

Merge remote-tracking branch 'origin/master'

parents 75d4e02c f7a8f5b4
...@@ -8,4 +8,45 @@ export interface RecommendHwDto { ...@@ -8,4 +8,45 @@ export interface RecommendHwDto {
pmguid: string, pmguid: string,
hwguid: string, hwguid: string,
hwh: string, hwh: string,
}
/**
* 验证当前货位在本方库
*/
export interface TestHwWzDto {
guid: string,
hwh: string,
pmdmcode: string,
hwsl: string,
hjguid: string,
hwzt: string,
hwxgsj: string,
gldwguid: string,
kfguid: string,
zmlx: string,
kfdm: string
}
export interface PzMxItemDto {
guid: string,
gznd: string,
pmdmcode: string,
pzsl: string,
crksl: string,
wzcrkguid: string,
hwh: string,
pzmxguid: string
}
export interface CommonHxPzMxDto {
wzpm: string,
pmdmsix: string,
pmdmcode: string,
hxmc: string,
pzsl: string,
crksl: string,
hwh: string,
mxguid: string,
pzmxguid: string
} }
\ No newline at end of file
...@@ -32,4 +32,21 @@ export interface WzcrkDetailDto { ...@@ -32,4 +32,21 @@ export interface WzcrkDetailDto {
fwgldwdm: string, fwgldwdm: string,
swgldwdm: string, swgldwdm: string,
zmlx: string, zmlx: 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
...@@ -99,6 +99,7 @@ export class WzcrkDao extends BaseTable<Wzcrk> { ...@@ -99,6 +99,7 @@ export class WzcrkDao extends BaseTable<Wzcrk> {
Logger.info(this, 'wzcrkguidwzcrkguid' + JSON.stringify(wzcrkguid)) Logger.info(this, 'wzcrkguidwzcrkguid' + JSON.stringify(wzcrkguid))
try { try {
let val_sql = NativeSql.getSqlByCrkDetail(wzcrkguid); let val_sql = NativeSql.getSqlByCrkDetail(wzcrkguid);
Logger.info(this, val_sql)
let db = await this.futureDb; let db = await this.futureDb;
let rs = await db.querySql(val_sql); let rs = await db.querySql(val_sql);
let items = [] let items = []
......
...@@ -5,7 +5,7 @@ import { Table } from '../decorator/Decorators'; ...@@ -5,7 +5,7 @@ import { Table } from '../decorator/Decorators';
import { Logger } from '../../utils/Logger'; import { Logger } from '../../utils/Logger';
import { NativeSql } from '../sql/NativeSql'; import { NativeSql } from '../sql/NativeSql';
import { WzcrkDetailDto, WzcrkMxRefWzDto } from '../../bean/dto/WzcrkMxRefWzDto'; import { WzcrkDetailDto, WzcrkMxRefWzDto } from '../../bean/dto/WzcrkMxRefWzDto';
import { RecommendHwDto } from '../../bean/dto/RecommendHwDto.ts'; import { CommonHxPzMxDto, PzMxItemDto, RecommendHwDto, TestHwWzDto } from '../../bean/dto/RecommendHwDto.ts';
/** /**
...@@ -234,12 +234,147 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> { ...@@ -234,12 +234,147 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
*/ */
toRecommendHwDto(cursor: relationalStore.ResultSet): RecommendHwDto { toRecommendHwDto(cursor: relationalStore.ResultSet): RecommendHwDto {
let info: RecommendHwDto = { let info: RecommendHwDto = {
guid: cursor.getString(cursor.getColumnIndex('GUID')),
hjguid: cursor.getString(cursor.getColumnIndex('HJGUID')),
pmguid: cursor.getString(cursor.getColumnIndex('PMGUID')),
hwguid: cursor.getString(cursor.getColumnIndex('HWGUID')),
hwh: cursor.getString(cursor.getColumnIndex('HWH'))
};
return info;
}
async testHwWz(kfdm, hjguid, hwh): Promise<TestHwWzDto[]> {
try {
let val_sql = NativeSql.testHwWzSql(kfdm, hjguid, hwh);
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
let items = []
if (rs.goToFirstRow()) {
do {
items.push(this.toTestHwWzDto(rs))
} while (rs.goToNextRow())
}
Logger.info(this, 'queryAll items=' + JSON.stringify(items))
return items;
} catch (e) {
throw new Error('[查询异常]|' + e)
}
}
/**
* 验证当前货位在本方库转换
*/
toTestHwWzDto(cursor: relationalStore.ResultSet): TestHwWzDto {
let info: TestHwWzDto = {
guid: cursor.getString(cursor.getColumnIndex('guid')), guid: cursor.getString(cursor.getColumnIndex('guid')),
hwh: cursor.getString(cursor.getColumnIndex('hwh')),
pmdmcode: cursor.getString(cursor.getColumnIndex('pmdmcode')),
hwsl: cursor.getString(cursor.getColumnIndex('hwsl')),
hjguid: cursor.getString(cursor.getColumnIndex('hjguid')), hjguid: cursor.getString(cursor.getColumnIndex('hjguid')),
pmguid: cursor.getString(cursor.getColumnIndex('pmguid')), hwzt: cursor.getString(cursor.getColumnIndex('hwzt')),
hwguid: cursor.getString(cursor.getColumnIndex('hwguid')), hwxgsj: cursor.getString(cursor.getColumnIndex('hwxgsj')),
hwh: cursor.getString(cursor.getColumnIndex('hwh')) gldwguid: cursor.getString(cursor.getColumnIndex('gldwguid')),
kfguid: cursor.getString(cursor.getColumnIndex('kfguid')),
zmlx: cursor.getString(cursor.getColumnIndex('zmlx')),
kfdm: cursor.getString(cursor.getColumnIndex('kfdm'))
}; };
return info; return info;
} }
async getPzMxItem(params, isPmSix): Promise<PzMxItemDto[]> {
try {
let val_sql = NativeSql.getPzMxItemSql(params, isPmSix);
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
let items = []
if (rs.goToFirstRow()) {
do {
items.push(this.toPzMxItemDto(rs))
} while (rs.goToNextRow())
}
Logger.info(this, 'queryAll items=' + JSON.stringify(items))
return items;
} catch (e) {
throw new Error('[查询异常]|' + e)
}
}
/**
* 验证当前货位在本方库转换
*/
toPzMxItemDto(cursor: relationalStore.ResultSet): PzMxItemDto {
let info: PzMxItemDto = {
guid: cursor.getString(cursor.getColumnIndex('guid')),
gznd: cursor.getString(cursor.getColumnIndex('gznd')),
pmdmcode: cursor.getString(cursor.getColumnIndex('pmdmcode')),
pzsl: cursor.getString(cursor.getColumnIndex('pzsl')),
crksl: cursor.getString(cursor.getColumnIndex('crksl')),
wzcrkguid: cursor.getString(cursor.getColumnIndex('wzcrkguid')),
hwh: cursor.getString(cursor.getColumnIndex('hwh')),
pzmxguid: cursor.getString(cursor.getColumnIndex('pzmxguid'))
};
return info;
}
async getCommonHxPzMx(params): Promise<CommonHxPzMxDto[]> {
try {
let val_sql = NativeSql.getCommonHxPzMxSql(params);
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
let items = []
if (rs.goToFirstRow()) {
do {
items.push(this.toCommonHxPzMx(rs))
} while (rs.goToNextRow())
}
Logger.info(this, 'queryAll items=' + JSON.stringify(items))
return items;
} catch (e) {
throw new Error('[查询异常]|' + e)
}
}
toCommonHxPzMx(cursor: relationalStore.ResultSet): CommonHxPzMxDto {
let info: CommonHxPzMxDto = {
wzpm: cursor.getString(cursor.getColumnIndex('wzpm')),
pmdmsix: cursor.getString(cursor.getColumnIndex('pmdmsix')),
pmdmcode: cursor.getString(cursor.getColumnIndex('pmdmcode')),
hxmc: cursor.getString(cursor.getColumnIndex('hxmc')),
pzsl: cursor.getString(cursor.getColumnIndex('pzsl')),
crksl: cursor.getString(cursor.getColumnIndex('crksl')),
hwh: cursor.getString(cursor.getColumnIndex('hwh')),
mxguid: cursor.getString(cursor.getColumnIndex('mxguid')),
pzmxguid: cursor.getString(cursor.getColumnIndex('pzmxguid'))
};
return info;
}
async insertWz(params) {
try {
let val_sql = NativeSql.insertWzSql(params)
let db = await this.futureDb;
let rs = await db.querySql(val_sql);
return rs;
} catch (e) {
throw new Error('[插入异常]|' + e)
}
}
async updateWzmx(params): Promise<number> {
try {
let valueBucket = {
hwh: params.hwh,
crksl: params.crksl
}
let wp = this.getPredicates()
wp.equalTo('guid', params.mxguid)
return this.updateData(valueBucket, wp)
} catch (e) {
throw new Error('[更新异常]|' + e)
}
}
} }
\ No newline at end of file
import { uuid } from '../../utils/util';
export class NativeSql { export class NativeSql {
/** /**
* 构建出入库明细查询语句 * 构建出入库明细查询语句
...@@ -21,15 +22,26 @@ export class NativeSql { ...@@ -21,15 +22,26 @@ export class NativeSql {
* *
*/ */
static getSqlByCrkDetail(wzcrkguid: string): string { static getSqlByCrkDetail(wzcrkguid: string): string {
let sql_val = ` // let sql_val = `SELECT crk.pzlx pzlx, crk.guid, crk.pzh pzh, rk.kfdm rkkfdm, ck.kfdm kfdm, crk.pzszlx pzszlx, crk.sfdw sfdw, crk.ydh ydh, crk.dec dec, crk.fwgldwdm fwgldwdm, crk.swgldwdm swgldwdm, crk.zmlx zmlx FROM tab_bzgl_knzy_app_wzcrk crk LEFT JOIN TAB_BZGL_KNZY_APP_DWKF ck ON ck.KFDM = crk.kfdm LEFT JOIN TAB_BZGL_KNZY_APP_DWKF rk ON rk.KFDM = crk.rkkfdm WHERE crk.guid = '${ wzcrkguid }'`
select crk.pzlx pzlx,crk.guid, crk.pzh pzh, rk.kfdm rkkfdm, ck.kfdm kfdm, crk.pzszlx pzszlx, crk.sfdw sfdw, crk.ydh ydh,crk.dec dec, crk.fwgldwdm fwgldwdm, crk.swgldwdm swgldwdm, crk.zmlx zmlx let sql_val = `SELECT
from tab_bzgl_knzy_app_wzcrk crk crk.pzlx pzlx,
left join crk.guid,
TAB_BZGL_KNZY_APP_DWKF ck crk.pzh pzh,
on ck.KFDM = crk.kfdm rk.kfdm rkkfdm,
left join TAB_BZGL_KNZY_APP_DWKF rk ck.kfdm kfdm,
on rk.KFDM = crk.rkkfdm crk.pzszlx pzszlx,
where crk.guid = '${wzcrkguid}'`; crk.sfdw sfdw,
crk.ydh ydh,
crk.dec dec,
crk.fwgldwdm fwgldwdm,
crk.swgldwdm swgldwdm,
crk.zmlx zmlx
FROM
tab_bzgl_knzy_app_wzcrk crk
LEFT JOIN TAB_BZGL_KNZY_APP_DWKF ck ON ck.KFDM = crk.kfdm
LEFT JOIN TAB_BZGL_KNZY_APP_DWKF rk ON rk.KFDM = crk.rkkfdm
WHERE
crk.guid = '${wzcrkguid}'`;
return sql_val; return sql_val;
} }
...@@ -40,18 +52,60 @@ export class NativeSql { ...@@ -40,18 +52,60 @@ export class NativeSql {
* @param kfdm 库房代码 * @param kfdm 库房代码
*/ */
static getRecommendHwSql(pmguid, kfdm): string { static getRecommendHwSql(pmguid, kfdm): string {
let sql_val = `SELECT tjhw.*, hw.hwh let sql_val = `SELECT tjhw.*,hw.hwh from HW_PROJECT_TABLE tjhw left join tab_bzgl_knzy_app_hwb hw on tjhw.hwguid = hw.guid left join TAB_BZGL_KNZY_APP_HJB hj ON tjhw.hjguid=hj.guid left join TAB_BZGL_KNZY_APP_QYB qy on hj.qyguid=qy.guid where tjhw.pmguid='${pmguid}' and qy.kfguid in (select guid from TAB_BZGL_KNZY_APP_DWKF where kfdm = '${kfdm}' )`
return sql_val
}
/**
* 验证当前货位在本方库
*/
static testHwWzSql(kfdm, hjguid, hwh): string {
let sql_val = `SELECT
*
FROM
(
SELECT
hw.*,
qy.kfdm kfdm
FROM FROM
HW_PROJECT_TABLE tjhw tab_bzgl_knzy_app_hwb hw
LEFT JOIN tab_bzgl_knzy_app_hwb hw ON tjhw.hwguid = hw.guid LEFT JOIN tab_bzgl_knzy_app_hjb hj ON hj.guid = hw.hjguid
LEFT JOIN TAB_BZGL_KNZY_APP_HJB hj ON tjhw.hjguid = hj.guid LEFT JOIN tab_bzgl_knzy_app_qyb qy ON qy.guid = hj.qyguid
LEFT JOIN TAB_BZGL_KNZY_APP_QYB qy ON hj.qyguid = qy.guid )
WHERE WHERE
tjhw.pmguid =${pmguid} kfdm = '${kfdm}'
AND qy.kfguid IN ( SELECT guid FROM TAB_BZGL_KNZY_APP_DWKF WHERE kfdm = ${kfdm} )` AND hjguid = '${hjguid}'
AND hwh = '${hwh}'`
return sql_val return sql_val
} }
// 查询物资明细是否含有对应物资数据
static getPzMxItemSql(params, isPmSix): string {
if (isPmSix) {
return `select * from TAB_BZGL_KNZY_APP_WZCRKMX where wzcrkguid='${params.wzcrkguid}' and substr(PMDMCODE,1,6)='${params.pmdmcode}'`
} else {
return `select * from TAB_BZGL_KNZY_APP_WZCRKMX where wzcrkguid='${params.wzcrkguid}' and PMDMCODE='${params.pmdmcode}'`
}
}
// 查询同号型
static getCommonHxPzMxSql(params): string {
// pmdm前6位
return `select hx.wzpm wzpm, hx.pmdmsix pmdmsix,hx.pmdmten pmdmcode, hx.hxmc hxmc, mx.pzsl pzsl, mx.crksl crksl, mx.hwh hwh, mx.guid mxguid,mx.pzmxguid pzmxguid from tab_bzgl_knzy_app_wzcrk crk left join tab_bzgl_knzy_app_wzcrkmx mx on crk.GUID = mx.wzcrkguid left join tab_xtwh_jcsj_bzhx hx on mx.pmdmcode = hx.pmdmten where crk.guid = '${(params.guid)}' and hx.PMDMSIX= '${(params.pmdm)}' order by hx.PMDMSIX, hx.XH`
}
// 出入盘库
// 入库修改
static updateWzmxSql(params): string {
return `update tab_bzgl_knzy_app_wzcrkmx set crksl = '${params.crksl}' , hwh = '${params.hwh}' where guid = '${params.mxguid}'`
}
// 不存在物资,进行物资新增
static insertWzSql(params): string {
const sql =
`insert into tab_bzgl_knzy_app_hwb (guid, hwh, pmdmcode, hwsl, hjguid, hwzt) values ('${params.guid}', '${params.hwh}', '${params.pmdmcode}', '${params.hwsl}', '${params.hjguid}','11111111SF1')`
return sql
}
/** /**
* 包裹管理表 * 包裹管理表
...@@ -99,6 +153,26 @@ export class NativeSql { ...@@ -99,6 +153,26 @@ export class NativeSql {
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}'`
}
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()
......
...@@ -48,6 +48,27 @@ class WzcrkmxModel { ...@@ -48,6 +48,27 @@ class WzcrkmxModel {
let res = await SQLiteContext.with(WzcrkmxDao).queryRecommendHw(data.pmguid, data.kfdm) let res = await SQLiteContext.with(WzcrkmxDao).queryRecommendHw(data.pmguid, data.kfdm)
return res return res
} }
// 验证当前货位在本方库
async testHwWz(data) {
let res = await SQLiteContext.with(WzcrkmxDao).testHwWz(data.kfdm, data.hjguid, data.hwh)
return res
}
async getPzMxItem(params, isPmSix) {
let res = await SQLiteContext.with(WzcrkmxDao).getPzMxItem(params, isPmSix)
return res
}
async getCommonHxPzMx(params) {
let res = await SQLiteContext.with(WzcrkmxDao).getCommonHxPzMx(params)
return res
}
async insertWz(params) {
let res = await SQLiteContext.with(WzcrkmxDao).insertWz(params)
return res
}
async updateWzmx(params) {
let res = await SQLiteContext.with(WzcrkmxDao).updateWzmx(params)
return res
}
// 清空表 // 清空表
async clear() { async clear() {
await SQLiteContext.with(WzcrkmxDao).clearTable() await SQLiteContext.with(WzcrkmxDao).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')
......
import { pzlx_dict, szlx_dict, new_zmlx_dict, Logger } from '@ohos/common' import { Logger, new_zmlx_dict, pzlx_dict, szlx_dict } from '@ohos/common'
import wzcrkModel from '../../../model/WzcrkModel' import wzcrkModel from '../../../model/WzcrkModel'
...@@ -169,7 +169,7 @@ export class WzmxClass { ...@@ -169,7 +169,7 @@ export class WzmxClass {
/** /**
* 品名代码 * 品名代码
*/ */
// pmdmcode: string pmdmcode: string
/** /**
* 凭证数量 * 凭证数量
*/ */
...@@ -211,10 +211,14 @@ export class WzmxClass { ...@@ -211,10 +211,14 @@ export class WzmxClass {
*/ */
wczt: string wczt: string
currentModel?: boolean
constructor(data: { constructor(data: {
guid?: string, guid?: string,
// gznd: string, // gznd: string,
// pmdmcode: string, pmdmcode: string,
pzsl: number, pzsl: number,
crksl: number, crksl: number,
wzcrkguid: string, wzcrkguid: string,
...@@ -224,11 +228,12 @@ export class WzmxClass { ...@@ -224,11 +228,12 @@ export class WzmxClass {
xh: string, xh: string,
wzpm: string, wzpm: string,
pmdmSix: string, pmdmSix: string,
wczt: string wczt: string,
currentModel?: boolean
}) { }) {
this.guid = data.guid; this.guid = data.guid;
// this.gznd = data.gznd; // this.gznd = data.gznd;
// this.pmdmcode = data.pmdmcode; this.pmdmcode = data.pmdmcode;
this.pzsl = data.pzsl; this.pzsl = data.pzsl;
this.crksl = data.crksl; this.crksl = data.crksl;
this.wzcrkguid = data.wzcrkguid; this.wzcrkguid = data.wzcrkguid;
...@@ -239,6 +244,94 @@ export class WzmxClass { ...@@ -239,6 +244,94 @@ export class WzmxClass {
this.wzpm = data.wzpm; this.wzpm = data.wzpm;
this.pmdmSix = data.pmdmSix; this.pmdmSix = data.pmdmSix;
this.wczt = data.wczt; this.wczt = data.wczt;
this.currentModel = data.currentModel
}
}
// 物资表单详情
@Observed
export class PzFormClass {
guid: string;
pzlx: string;
pzh: number;
rkkfdm: string;
kfdm: string;
pzszlx: string;
sfdw: string;
ydh: string;
dec: string;
fwgldwdm: string;
swgldwdm: string;
zmlx: string;
hwh?: string;
constructor(
data: {
guid: string,
pzlx: string,
pzh: number,
rkkfdm: string,
kfdm: string,
pzszlx: string,
sfdw: string,
ydh: string,
dec: string,
fwgldwdm: string,
swgldwdm: string,
zmlx: string,
hwh?: string
}
) {
this.guid = data.guid || '';
this.pzlx = data.pzlx || '';
this.pzh = data.pzh || 0;
this.rkkfdm = data.rkkfdm || '';
this.kfdm = data.kfdm || '';
this.pzszlx = data.pzszlx || '';
this.sfdw = data.sfdw || '';
this.ydh = data.ydh || '';
this.dec = data.dec || '';
this.fwgldwdm = data.fwgldwdm || '';
this.swgldwdm = data.swgldwdm || '';
this.zmlx = data.zmlx || '';
this.hwh = data.hwh || '';
}
}
@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;
} }
} }
......
import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
import { WzmxClass } from '../../Common/Wzcrk.data' import { WzmxClass } from '../../Common/Wzcrk.data'
@Component @Component
......
...@@ -5,14 +5,14 @@ import { Wzcrk } from '@ohos/common/src/main/ets/entity/Wzcrk'; ...@@ -5,14 +5,14 @@ import { Wzcrk } from '@ohos/common/src/main/ets/entity/Wzcrk';
import { WzInfo } from '../../Common/WzInfo' import { WzInfo } from '../../Common/WzInfo'
import { PzInfo } from './PzInfo' import { PzInfo } from './PzInfo'
import wzcrkmxModel from '../../../../model/WzcrkmxModel'; import wzcrkmxModel from '../../../../model/WzcrkmxModel';
import { WzClass, WzmxClass } from '../../Common/Wzcrk.data'; import { PzFormClass, WzClass, WzmxClass } from '../../Common/Wzcrk.data';
import promptAction from '@ohos.promptAction'; import promptAction from '@ohos.promptAction';
import wzcrkModel from '../../../../model/WzcrkModel'; import wzcrkModel from '../../../../model/WzcrkModel';
import { SQLiteContext, Wzcrkmx, WzcrkmxDao } from '@ohos/common';
import { AddWzin } from './AddWzin' import { AddWzin } from './AddWzin'
import { uuid } from '@ohos/common/src/main/ets/utils/util'; import { uuid } from '@ohos/common/src/main/ets/utils/util';
import IdentifyService from '../../../../identify/IdentifySerivce' import IdentifyService from '../../../../identify/IdentifySerivce'
import emitter from '@ohos.events.emitter'; import emitter from '@ohos.events.emitter';
import { WzcrkDetailDto } from '@ohos/common/src/main/ets/bean/dto/WzcrkMxRefWzDto';
@Extend(Button) function CommonButtonStyle() { @Extend(Button) function CommonButtonStyle() {
.borderWidth(2) .borderWidth(2)
...@@ -38,9 +38,8 @@ struct WzinDetail { ...@@ -38,9 +38,8 @@ struct WzinDetail {
@State isUpdate: boolean = false @State isUpdate: boolean = false
@State wzcrk: WzClass = null // 物资出入库单据信息 @State wzcrk: WzClass = null // 物资出入库单据信息
@State wzmx: WzmxClass[] = [] // 物资出入库明细 @State wzmx: WzmxClass[] = [] // 物资出入库明细
@State pzForm: PzFormClass = null // 物资出入库表单详情
private controller: TabsController = new TabsController() private controller: TabsController = new TabsController()
wzcrkmxDao: WzcrkmxDao = SQLiteContext.with(WzcrkmxDao)
onPageShow() { onPageShow() {
const params = router.getParams() as params const params = router.getParams() as params
...@@ -58,7 +57,7 @@ struct WzinDetail { ...@@ -58,7 +57,7 @@ struct WzinDetail {
async getWzFormDetail() { async getWzFormDetail() {
Logger.info('获取物资表单详情>>', JSON.stringify(this.wzcrk.guid)) Logger.info('获取物资表单详情>>', JSON.stringify(this.wzcrk.guid))
const res = await wzcrkModel.queryByCrkDetailGuid(this.wzcrk.guid) const res = await wzcrkModel.queryByCrkDetailGuid(this.wzcrk.guid)
Logger.info('获取到物资出入库表单>>', JSON.stringify(res)) this.pzForm = new PzFormClass(res[0])
} }
// 获取物资列表详情信息 // 获取物资列表详情信息
...@@ -105,7 +104,12 @@ struct WzinDetail { ...@@ -105,7 +104,12 @@ struct WzinDetail {
TabContent() { TabContent() {
Column() { Column() {
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getWzmxList, pageType: "入库" }) // pzxqGuild必传 是wzcrk的guid, 我里面已经接了
// pageType必传 入库 出库 盘库 调号 倒库 换位
// dataType必传 导入是true, 其他为false
// isHaveButton 必传 完成状态 未完成是true, 其他为false
WzInfo({ historicalInformation: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getWzmxList,
pageType: "入库", pzForm: this.pzForm, dataType: this.isUpdate ? true : false, isHaveButton: this.wzcrk.wczt == '未完成' ? true : false})
}.width("100%") }.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息')) }.tabBar(this.TabBuilder(1, '物资信息'))
} }
...@@ -171,9 +175,9 @@ struct WzinDetail { ...@@ -171,9 +175,9 @@ struct WzinDetail {
}.onKeyEvent((e: globalThis.KeyEvent) => { }.onKeyEvent((e: globalThis.KeyEvent) => {
console.error('keycode====》:' + e.keyCode) console.error('keycode====》:' + e.keyCode)
if ((e.keyCode == 2096 || e.keyCode == 2093)) { if ((e.keyCode == 2096 || e.keyCode == 2093)) {
if(e.type==1){ if (e.type == 1) {
if(this.currentIndex==0){ if (this.currentIndex == 0) {
this.currentIndex=1 this.currentIndex = 1
} }
IdentifyService.openScan() IdentifyService.openScan()
} }
......
...@@ -85,7 +85,7 @@ struct WzInvDetail{ ...@@ -85,7 +85,7 @@ struct WzInvDetail{
TabContent() { TabContent() {
Column() { Column() {
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getDetail }) WzInfo({ historicalInformation: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getDetail })
}.width("100%") }.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息')) }.tabBar(this.TabBuilder(1, '物资信息'))
} }
......
...@@ -92,7 +92,7 @@ struct WzOutDetail { ...@@ -92,7 +92,7 @@ struct WzOutDetail {
TabContent() { TabContent() {
Column() { Column() {
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getDetail, pageType: "出库" }) WzInfo({ historicalInformation: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getDetail, pageType: "出库" })
}.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()
} }
......
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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论