Commit f094dd27 by 陈桂东

提交代码

parent 13e95206
...@@ -52,10 +52,13 @@ export class BgglDao extends BaseTable<Bggl> { ...@@ -52,10 +52,13 @@ export class BgglDao extends BaseTable<Bggl> {
/** /**
* 根据订单号查询包裹信息 * 根据订单号查询包裹信息
*/ */
async getDdh(ddh: string): Promise<Bggl[]> { async getDdh(data: Partial<Bggl>): Promise<Bggl[]> {
let wp = this.getPredicates(); let wp = this.getPredicates();
if (ddh) {
wp.equalTo('DDH', ddh); for (const [key, value] of Object.entries(data)) {
if (value) {
wp.like(key, `%${value}%`)
}
} }
return this.query(wp, this.getTableColumns()); return this.query(wp, this.getTableColumns());
} }
......
import { BgglDao, SQLiteContext, Bggl } from '@ohos/common' import { BgglDao, SQLiteContext, Bggl } from '@ohos/common'
import { uuid } from '@ohos/common/src/main/ets/utils/util'
// 包裹管理 // 包裹管理
class BgglModel { class BgglModel {
// 随机生成两位数
randomCoding() {
//创建26个字母数组
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
'S',
'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
];
var idvalue = '';
var n = 2; //这个值可以改变的,对应的生成多少个字母,根据自己需求所改
for (var i = 0; i < n; i++) {
idvalue += arr[Math.floor(Math.random() * 26)];
}
return idvalue;
}
// 随机四位数字
getRandomSixNum() {
let RandomSixStr = ''
for (let i = 0; i < 4; i++) {
RandomSixStr += String(Math.floor(Math.random() * 10))
}
return RandomSixStr
}
// 添加包裹 // 添加包裹
async set(data: Bggl[]) { async set(data: Bggl[]) {
const copyData = data.map(item => {
return {
guid: item.guid || uuid(),
ddh: item.ddh || '',
xs: item.xs || 1,
fwdw: item.fwdw || '',
bgzt: '待入库',
// @ts-ignore
slr: item.ryxm || '',
sjh: item.sjh || '',
sfdc: item.sfdc || '',
jssj: item.jssj || '',
cksj: item.cksj || '',
pc: item.pc || 1,
qjm: this.randomCoding() + this.getRandomSixNum(),
sfdf: item.sfdf,
dfje: 0
}
})
await SQLiteContext.with(BgglDao).batchInsert(data) await SQLiteContext.with(BgglDao).batchInsert(data)
} }
// 查询包裹 // 查询包裹
async query(ddh?: string):Promise<Bggl[]> { async query(data: Partial<Bggl>):Promise<Bggl[]> {
let res = await SQLiteContext.with(BgglDao).getDdh(ddh); let res = await SQLiteContext.with(BgglDao).getDdh(data);
return res; return res;
} }
......
...@@ -9,8 +9,8 @@ class DrModel { ...@@ -9,8 +9,8 @@ class DrModel {
const obj = { const obj = {
filename, filename,
guid: uuid(), guid: uuid(),
filetype: null, filetype: '',
size: null, size: 0,
time: dateUtils.formatDateTime(new Date(), 'all') time: dateUtils.formatDateTime(new Date(), 'all')
} }
await SQLiteContext.with(DrInfoDao).insert(obj) await SQLiteContext.with(DrInfoDao).insert(obj)
......
...@@ -192,7 +192,7 @@ export struct AddWzin { ...@@ -192,7 +192,7 @@ export struct AddWzin {
Column() { Column() {
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) { Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
Row(){ Row() {
if (item.required) { if (item.required) {
Text('*').fontColor('red').margin({ right: 5 }) Text('*').fontColor('red').margin({ right: 5 })
} }
......
import { BasicTable } from '../../view/BasicTable/BasicTable' import { BasicTable } from '../../view/BasicTable/BasicTable'
import { TitleBar } from '../../view/title/TitleBar' import { TitleBar } from '../../view/title/TitleBar'
import router from '@ohos.router' import router from '@ohos.router'
import bgglModel from '../../model/BgglModel'
import { Bggl } from '@ohos/common/src/main/ets/entity/Bggl'
import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
import { PackList } from './PackList'
interface Type { interface Type {
type: "wait" | "unclaimed" | "received" type: "wait" | "unclaimed" | "received" | "all"
} }
@Extend(Button) function CommonButtonStyle() { @Extend(Button) function CommonButtonStyle() {
.borderWidth(2).borderColor('#0fa983') .borderWidth(2)
.borderColor('#0fa983')
.backgroundColor('#fff') .backgroundColor('#fff')
.fontColor('#0fa983') .fontColor('#0fa983')
.borderRadius(10) .borderRadius(10)
...@@ -28,59 +34,117 @@ interface Type { ...@@ -28,59 +34,117 @@ interface Type {
@Component @Component
export struct Pack { export struct Pack {
@State type: string = '' @State type: string = ''
@State packList: Bggl[] = []
controller: SearchController = new SearchController() controller: SearchController = new SearchController()
@State ddh: string = ''
@State bgzt: string = ''
onPageShow() {
let params = router.getParams() as Type;
this.type = params.type
aboutToAppear(){ if(params.type == 'wait'){
let params = router.getParams() as Type; this.bgzt = '待入库'
this.type = params.type }
}
if(params.type == 'unclaimed'){
this.bgzt = '未领取'
}
if(params.type == 'received'){
this.bgzt = '已领取'
}
if(params.type == 'all'){
this.bgzt = ''
}
build(){ this.getPackList()
Column(){ }
Flex({direction:FlexDirection.Column}){
TitleBar({ title:"包裹信息查询" }) // 获取包裹列表
async getPackList() {
const res = await bgglModel.query({ddh: this.ddh, bgzt:this.bgzt})
Logger.info('获取到包裹数据', JSON.stringify(res))
this.packList = res
}
Row(){ @Builder renderEmpty() {
Flex({justifyContent:FlexAlign.SpaceAround,alignItems:ItemAlign.Center}) { Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
if(this.type == 'wait') { Column() {
Search({ placeholder: '请输入包裹信息', controller: this.controller }) Image($r("app.media.empty")).width("42%")
Text("暂无数据").fontSize(22).fontColor("#fff").margin({ top: 5 })
}
}.height('70%')
}
build() {
Column() {
Flex({ direction: FlexDirection.Column }) {
TitleBar({ title: "包裹信息查询" })
Row() {
Flex({ justifyContent: FlexAlign.SpaceAround, alignItems: ItemAlign.Center }) {
if (this.type == 'wait') {
Search({ placeholder: '请输入订单号', controller: this.controller })
.CommonSearchStyle() .CommonSearchStyle()
.onSubmit((value: string) => { .onSubmit((value: string) => {
this.ddh = value
this.getPackList()
}) })
.onChange((value: string) => { .onChange((value: string) => {
this.ddh = value
this.getPackList()
}) })
Button("接收").CommonButtonStyle() Button("接收").CommonButtonStyle()
Button("上架").CommonButtonStyle() Button("上架").CommonButtonStyle()
} }
if(this.type == 'unclaimed') { if (this.type == 'unclaimed') {
Search({ placeholder: '请输入包裹信息', controller: this.controller }) Search({ placeholder: '请输入订单号', controller: this.controller })
.CommonSearchStyle() .CommonSearchStyle()
.onSubmit((value: string) => { .onSubmit((value: string) => {
this.ddh = value
this.getPackList()
}) })
.onChange((value: string) => { .onChange((value: string) => {
this.ddh = value
this.getPackList()
}) })
Button("导出").CommonButtonStyle() Button("导出").CommonButtonStyle()
Button("打印面单").CommonButtonStyle() Button("打印面单").CommonButtonStyle()
} }
if(this.type == 'received') { if (this.type == 'received' || this.type == 'all') {
Search({ placeholder: '请输入包裹信息', controller: this.controller }) Search({ placeholder: '请输入订单号', controller: this.controller })
.CommonSearchStyle() .CommonSearchStyle()
.width('70%') .width('70%')
.onSubmit((value: string) => { .onSubmit((value: string) => {
this.ddh = value
this.getPackList()
}) })
.onChange((value: string) => { .onChange((value: string) => {
this.ddh = value
this.getPackList()
}) })
Button("导出").CommonButtonStyle() Button("导出").CommonButtonStyle()
} }
} }
}.padding({top:20}) }.padding({ top: 20 })
Column() {
Column(){ if (this.packList.length == 0) {
BasicTable({dataSource:[]}) this.renderEmpty()
}.flexGrow(1) } else {
List() {
ForEach(this.packList, (item) => {
ListItem() {
PackList({ item })
}
})
}.divider({ strokeWidth: 1, color: "#bbbbb1" }).backgroundColor('#fff')
}
}.flexGrow(1).padding(15)
} }
}.linearGradient({ }.linearGradient({
direction: GradientDirection.RightBottom, direction: GradientDirection.RightBottom,
......
import { Bggl } from '@ohos/common/src/main/ets/entity/Bggl'
import { KfInfo } from '@ohos/common/src/main/ets/entity/KfInfo'
import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
import kfModel from '../../model/KfModel'
@Entry
@Component
export struct PackList {
private item: Bggl
@State kfList: KfInfo[] = []
async aboutToAppear() {
const res = await kfModel.query({})
Logger.info('获取到库房名称》》', JSON.stringify(res))
this.kfList = res
}
renderKfdm(kfdm) {
if(!kfdm) {
return ''
}
const res = this.kfList.find(v => v.kfdm == kfdm)
return res ? res.kfmc : ''
}
build() {
Column() {
Row() {
Checkbox({ name: 'checkbox1', group: 'checkboxGroup' })
.onChange((value: boolean) => {
})
.margin({ right: 10, left: 10 })
Column() {
Text('订单号:' + this.item.ddh).alignSelf(ItemAlign.Start).padding({ top: 5, bottom: 5 })
Text('库房:' + this.renderKfdm(this.item.kfdm)).alignSelf(ItemAlign.Start).padding({ top: 5, bottom: 5 })
}.width('30%')
Column() {
Text('货位:' + this.item.hwh).alignSelf(ItemAlign.Start).padding({ top: 5, bottom: 5 })
Text('箱数:' + this.item.xs).alignSelf(ItemAlign.Start).padding({ top: 5, bottom: 5 })
}.width('30%').margin({ left: 10 })
Column() {
Text('批次:' + this.item.pc).alignSelf(ItemAlign.Start).padding({ top: 5, bottom: 5 })
Text('未导出' + this.item.sfdc).alignSelf(ItemAlign.Start).padding({ top: 5, bottom: 5 })
}.width('30%').margin({ left: 10 })
}
}
}
}
\ No newline at end of file
import { SQLiteContext, Logger, WzcrkmxDao, Wzcrkmx } from '@ohos/common' import { SQLiteContext, Logger, WzcrkmxDao, Wzcrkmx, Bggl } from '@ohos/common'
import bgglModel from '../../model/BgglModel'
import wzcrkModel from '../../model/WzcrkModel' import wzcrkModel from '../../model/WzcrkModel'
import wzcrkmxModel from '../../model/WzcrkmxModel' import wzcrkmxModel from '../../model/WzcrkmxModel'
import { BasicTable } from '../../view/BasicTable/BasicTable' import { BasicTable } from '../../view/BasicTable/BasicTable'
import { TitleBar } from '../../view/title/TitleBar' import { TitleBar } from '../../view/title/TitleBar'
import { PackList } from './PackList'
@Extend(Button) function CommonButtonStyle() { @Extend(Button) function CommonButtonStyle() {
.borderWidth(2) .borderWidth(2)
...@@ -19,6 +21,28 @@ import { TitleBar } from '../../view/title/TitleBar' ...@@ -19,6 +21,28 @@ import { TitleBar } from '../../view/title/TitleBar'
export struct Pick { export struct Pick {
controller: SearchController = new SearchController() controller: SearchController = new SearchController()
wzcrkmxDao: WzcrkmxDao = SQLiteContext.with(WzcrkmxDao) wzcrkmxDao: WzcrkmxDao = SQLiteContext.with(WzcrkmxDao)
@State ddh: string = ''
@State packList: Bggl[] = []
onPageShow() {
this.getPackList()
}
// 获取包裹列表
async getPackList() {
const res = await bgglModel.query({ddh: this.ddh, bgzt:'未领取'})
Logger.info('获取到包裹数据', JSON.stringify(res))
this.packList = res
}
@Builder renderEmpty() {
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
Column() {
Image($r("app.media.empty")).width("42%")
Text("暂无数据").fontSize(22).fontColor("#fff").margin({ top: 5 })
}
}.height('70%')
}
build() { build() {
Column() { Column() {
...@@ -41,37 +65,32 @@ export struct Pick { ...@@ -41,37 +65,32 @@ export struct Pick {
}.margin({ top: 20 }) }.margin({ top: 20 })
Column() { Column() {
BasicTable({ dataSource: [] })
}.flexGrow(1)
Row() { if (this.packList.length == 0) {
Flex({ justifyContent: FlexAlign.SpaceAround }) { this.renderEmpty()
Button("打印面单").CommonButtonStyle().onClick(async () => { } else {
List() {
const res = await wzcrkModel.query({}) ForEach(this.packList, (item) => {
const res1 = await wzcrkmxModel.query(res[0].guid) ListItem() {
Logger.info(this, '输出更新数据>>:' + JSON.stringify(res1)); PackList({ item })
}
await wzcrkmxModel.updateWcztmxByData(res1[0].guid, {crksl: 20}) })
}.divider({ strokeWidth: 1, color: "#bbbbb1" }).backgroundColor('#fff')
const res2 = await wzcrkmxModel.query(res[0].guid) }
Logger.info(this, '输出更新数据111>>:' + JSON.stringify(res2)); }.flexGrow(1).padding(15)
})
Button("扫码取件").CommonButtonStyle().onClick(async () => { Row() {
let val = await this.wzcrkmxDao.update({ guid: '124', crksl: 888 } as Wzcrkmx); Flex({ justifyContent: FlexAlign.SpaceAround,alignItems:ItemAlign.Center }) {
Logger.info(this, '输出更新数据:' + val); Button("打印面单").CommonButtonStyle().onClick(async () => {})
}) Button("扫码取件").CommonButtonStyle().onClick(async () => {})
Button("手动取件").CommonButtonStyle().onClick(async () => { Button("手动取件").CommonButtonStyle().onClick(async () => {})
let val = await this.wzcrkmxDao.queryAll(); }.height(80).backgroundColor('#97c6a6')
Logger.info(this, '输出查询数据:' + JSON.stringify(val)); }
}) }.linearGradient({
}.height(80).backgroundColor('#97c6a6') direction: GradientDirection.RightBottom,
} repeating: true,
}.linearGradient({ colors: [[0x36a3c0, 0.0], [0x97c6a6, 1.0], [0xc7d799, 2.0]]
direction: GradientDirection.RightBottom, })
repeating: true, }
colors: [[0x36a3c0, 0.0], [0x97c6a6, 1.0], [0xc7d799, 2.0]]
})
} }
}} }
\ No newline at end of file \ No newline at end of file
...@@ -2,26 +2,14 @@ import { DividerTitle } from '../../../view/DividerTitle/DividerTitle' ...@@ -2,26 +2,14 @@ import { DividerTitle } from '../../../view/DividerTitle/DividerTitle'
import { TitleBar } from '../../../view/title/TitleBar' import { TitleBar } from '../../../view/title/TitleBar'
import { TipDialog } from '../../../view/TipDialog/TipDialog' import { TipDialog } from '../../../view/TipDialog/TipDialog'
import { ListDialog } from './ListDialog' import { ListDialog } from './ListDialog'
import { listData, IProductName } from './sync.data' import { listData } from './sync.data'
import { getPmList, getBaseList, getDjList, getBgList, getLsqList } from './sync.api'
import { Bzhx } from '@ohos/common/src/main/ets/entity/Bzhx'
import bzhxModal from '../../../model/BzhxModel'
import kfModel from '../../../model/KfModel'
import gldwModel from '../../../model/GldwModel'
import qyModel from '../../../model/QyModel'
import hjModel from '../../../model/HjModel'
import hwModel from '../../../model/HwModel'
import promptAction from '@ohos.promptAction'
import { Logger } from '@ohos/common/src/main/ets/utils/Logger' import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
import wzcrkModel from '../../../model/WzcrkModel'
import { Bggl } from '@ohos/common/src/main/ets/entity/Bggl'
import bgglModel from '../../../model/BgglModel'
import wzdmModel from '../../../model/WzdmModel'
import drModel from '../../../model/DrModel' import drModel from '../../../model/DrModel'
import dsRfidModel from '../../../model/DsRfidModel'
import { DrInfo } from '@ohos/common/src/main/ets/entity/DrInfo' import { DrInfo } from '@ohos/common/src/main/ets/entity/DrInfo'
import wzcrkmxModel from '../../../model/WzcrkmxModel'
import {BasicInfoModal} from './modal/BasicInfoModal' import {BasicInfoModal} from './modal/BasicInfoModal'
import {DjInfoModal} from './modal/DjInfoModal'
import { PageModal } from './modal/PageModal'
import { OrderModal } from './modal/OrderModal'
@Extend(Button) function CommonButtonStyle() { @Extend(Button) function CommonButtonStyle() {
.borderWidth(2) .borderWidth(2)
...@@ -61,7 +49,19 @@ export struct Pmhx { ...@@ -61,7 +49,19 @@ export struct Pmhx {
}) })
basicController: CustomDialogController = new CustomDialogController({ basicController: CustomDialogController = new CustomDialogController({
builder: BasicInfoModal({ showProgress: $showProgress,finally: () => this.showProgress = false }), builder: BasicInfoModal({ showProgress: $showProgress,finally: () => this.showProgress = false,getDrData: this.getDrData }),
})
djController: CustomDialogController = new CustomDialogController({
builder: DjInfoModal({ showProgress: $showProgress,finally: () => this.showProgress = false }),
})
pageController: CustomDialogController = new CustomDialogController({
builder: PageModal({ showProgress: $showProgress, finally: () => this.showProgress = false }),
})
orderController: CustomDialogController = new CustomDialogController({
builder: OrderModal({ showProgress: $showProgress, finally: () => this.showProgress = false }),
}) })
onSubmit() {} onSubmit() {}
...@@ -72,9 +72,10 @@ export struct Pmhx { ...@@ -72,9 +72,10 @@ export struct Pmhx {
// 获取导入数据 // 获取导入数据
async getDrData() { async getDrData() {
this.drData = []
const res = await drModel.query() const res = await drModel.query()
Logger.info('获取导入数据>>', JSON.stringify(res))
this.drData = res this.drData = res
Logger.info('基础信息数据(内部网络导入)>>', JSON.stringify(res))
} }
async handleClick(item) { async handleClick(item) {
...@@ -88,81 +89,20 @@ export struct Pmhx { ...@@ -88,81 +89,20 @@ export struct Pmhx {
break; break;
case "单据导入": case "单据导入":
try { if(this.djController) {
this.showProgress = true this.djController.open()
await wzcrkModel.clear()
await wzcrkmxModel.clear()
await dsRfidModel.clear()
const { rows } = await getDjList({})
// 使用map对rows进行操作
const mappedRows = rows.map((row) => {
// 在这里执行对每个元素的操作
return {
...row,
pzzbguid: row.jhguid,
ckdwguid: row.cbdwdm,
kfdm: row.ckkfdm,
sjlx: "导入",
wczt: "未完成",
};
});
await wzcrkModel.set(mappedRows)
await drModel.set('单据信息数据(内部网络导入)')
this.getDrData()
promptAction.showToast({
message: '同步数据成功'
})
} catch (error) {
promptAction.showToast({
message: '同步数据失败'
})
} finally {
this.showProgress = false
} }
break; break;
case "临时区库存": case "临时区库存":
try { if(this.orderController) {
this.showProgress = true this.orderController.open()
const res = await getLsqList({})
// 获取临时区库存数据
const lsqData = JSON.parse(res)
await hwModel.set(lsqData)
await drModel.set('临时区库存数据(内部网络导入)')
this.getDrData()
promptAction.showToast({
message: '同步数据成功'
})
} catch (error) {
promptAction.showToast({
message: '同步数据失败'
})
} finally {
this.showProgress = false
} }
break; break;
case "订单导入": case "订单导入":
try { if(this.pageController) {
this.showProgress = true this.pageController.open()
await bgglModel.clear()
const res = await getBgList({})
// 获取包裹数据
const bgData = JSON.parse(res) as Bggl[]
await bgglModel.set(bgData)
await drModel.set('订单导入(内部网络导入)')
this.getDrData()
promptAction.showToast({
message: '同步数据成功'
})
} catch (error) {
promptAction.showToast({
message: '同步数据失败'
})
} finally {
this.showProgress = false
} }
break; break;
......
...@@ -29,6 +29,7 @@ export struct BasicInfoModal { ...@@ -29,6 +29,7 @@ export struct BasicInfoModal {
@Link showProgress: boolean @Link showProgress: boolean
@State dwguid: string = '' @State dwguid: string = ''
finally: () => void finally: () => void
getDrData: () => void
async handleClick() { async handleClick() {
if (this.dwguid == '') { if (this.dwguid == '') {
...@@ -76,6 +77,8 @@ export struct BasicInfoModal { ...@@ -76,6 +77,8 @@ export struct BasicInfoModal {
await drModel.set('基础信息数据(内部网络导入)') await drModel.set('基础信息数据(内部网络导入)')
await this.getDrData()
this.showProgress = false this.showProgress = false
promptAction.showToast({ promptAction.showToast({
...@@ -98,6 +101,9 @@ export struct BasicInfoModal { ...@@ -98,6 +101,9 @@ export struct BasicInfoModal {
Text('单位代码:').width('30%') Text('单位代码:').width('30%')
TextInput({ placeholder: "请输入单位代码", text: this.dwguid }).width('60%') TextInput({ placeholder: "请输入单位代码", text: this.dwguid }).width('60%')
.borderRadius(6) .borderRadius(6)
.borderColor('#bcc5d7')
.borderWidth(1)
.backgroundColor('#fff')
.onChange(value => this.dwguid = value) .onChange(value => this.dwguid = value)
}.margin({ top: 10, bottom: 10 }) }.margin({ top: 10, bottom: 10 })
......
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, getQkdzList } from '../sync.api'
import drModel from '../../../../model/DrModel'
import { KfInfo } from '@ohos/common/src/main/ets/entity/KfInfo'
import kfModel from '../../../../model/KfModel'
import { pzlxList, pzlx_dict } from '@ohos/common/src/main/ets/utils/dict'
import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
@Extend(Button) function CommonButtonStyle() { @Extend(Button) function CommonButtonStyle() {
.borderWidth(2) .borderWidth(2)
...@@ -14,41 +23,147 @@ import promptAction from '@ohos.promptAction' ...@@ -14,41 +23,147 @@ import promptAction from '@ohos.promptAction'
@Observed @Observed
class DjInfo { class DjInfo {
dwguid: string ckdwguid: string
gznd: string gznd: string
pzlx: string pzlx: string
kfdm: string kfdm: string
constructor(data: { constructor(data: {
dwguid: string ckdwguid: string
gznd?: string gznd?: string
pzlx: string pzlx: string
kfdm: string kfdm: string
}) { }) {
this.dwguid = data.dwguid || '' this.ckdwguid = data.ckdwguid || ''
this.gznd = data.gznd || '' this.gznd = data.gznd || ''
this.pzlx = data.pzlx || '' this.pzlx = data.pzlx || ''
this.kfdm = data.kfdm || '' this.kfdm = data.kfdm || ''
} }
} }
@Entry interface Options {
value: string,
id: number | string
}
@CustomDialog
@Component @Component
export struct BasicInfoModal { export struct DjInfoModal {
controller: CustomDialogController controller: CustomDialogController
// @Link showProgress: boolean @Link showProgress: boolean
@State dwguid: string = '' @State dwguid: string = ''
@State form: DjInfo = new DjInfo({dwguid:"", gznd: new Date().getFullYear() + '', pzlx:"", kfdm:"" }) @State form: DjInfo = new DjInfo({ ckdwguid: "", gznd: new Date().getFullYear() + '', pzlx: "", kfdm: "" })
finally: () => void finally: () => void
@State kfOption: Options[] = []
@State pzlxOption: Options[] = []
aboutToAppear() {
this.getOptions()
}
async getOptions() {
const res = await kfModel.query({})
this.kfOption = res.map(v => {
return {
value: v.kfmc,
id: v.kfdm
}
})
this.pzlxOption = pzlxList.map(v => {
return {
value: v.text,
id: v.value
}
})
}
async handleClick() { async handleClick() {
if (this.dwguid == '') {
if (!this.form.ckdwguid) {
promptAction.showToast({
message: '请输入单位代码'
})
return
}
if (!this.form.gznd) {
promptAction.showToast({
message: '请输入年度'
})
return
}
if (!this.form.kfdm) {
promptAction.showToast({
message: '请选择库房代码'
})
return
}
if (!this.form.pzlx) {
promptAction.showToast({ promptAction.showToast({
message: '请输入单位代码', message: '请选择凭证类型'
bottom: 200
}) })
return return
} }
try { try {
this.showProgress = true
this.controller.close()
await wzcrkModel.clear()
await wzcrkmxModel.clear()
await dsRfidModel.clear()
let rows = [] as DjInfo[]
if(this.form.pzlx == '111111PZLX42') {
rows = await getQkdzList({
...this.form,
current: 1,
pageSize: 5000,
dataType: "sj",
jzbz: "11PZZMJZBZ1",
pzlx: "111111PZLX42",
nbzt: "111111NBZT2",
pzzbFlag: "bj",
zfzt: "11PZZMZFBZ1",
})
} else {
rows = await getDjList({
...this.form,
current: 1,
pageSize: 5000,
jzbz: "11PZZMJZBZ1",
nbzt: "111111NBZT2",
pzzbFlag: "bj",
zfzt: "11PZZMZFBZ1",
})
}
// 使用map对rows进行操作
const mappedRows = rows.map((row) => {
// 在这里执行对每个元素的操作
return {
...row,
// @ts-ignore
pzzbguid: row.jhguid,
// @ts-ignore
ckdwguid: row.cbdwdm,
// @ts-ignore
kfdm: row.ckkfdm,
sjlx: "导入",
wczt: "未完成",
};
});
// @ts-ignore
await wzcrkModel.set(mappedRows)
await drModel.set('单据信息数据(内部网络导入)')
promptAction.showToast({
message: '同步单据数据成功'
})
} catch (error) { } catch (error) {
promptAction.showToast({ promptAction.showToast({
message: '同步单据数据失败' message: '同步单据数据失败'
...@@ -64,35 +179,59 @@ export struct BasicInfoModal { ...@@ -64,35 +179,59 @@ export struct BasicInfoModal {
Row() { Row() {
Text('*').fontColor('red') Text('*').fontColor('red')
Text('单位代码:').width('25%') Text('单位代码:').width('25%')
TextInput({ placeholder: "请输入单位代码", text: this.form.dwguid }).width('60%') TextInput({ placeholder: "请输入单位代码", text: this.form.ckdwguid })
.width('60%')
.borderRadius(6) .borderRadius(6)
.onChange(value => this.form.dwguid = value) .borderColor('#bcc5d7')
.borderWidth(1)
.backgroundColor('#fff')
.onChange(value => this.form.ckdwguid = value)
}.margin({ top: 10, bottom: 10 }) }.margin({ top: 10, bottom: 10 })
Row() { Row() {
Text('*').fontColor('red') Text('*').fontColor('red')
Text('年度:').width('25%') Text('年度:').width('25%')
TextInput({ placeholder: "请输入年度", text: this.form.gznd }).width('60%') TextInput({ placeholder: "请输入年度", text: this.form.gznd })
.width('60%')
.borderRadius(6) .borderRadius(6)
.borderColor('#bcc5d7')
.borderWidth(1)
.backgroundColor('#fff')
.onChange(value => this.form.gznd = value) .onChange(value => this.form.gznd = value)
}.margin({ top: 10, bottom: 10 }) }.margin({ top: 10, bottom: 10 })
Row() { Row() {
Text('*').fontColor('red') Text('*').fontColor('red')
Text('年度:').width('25%') Text('凭证类型:').width('25%')
// Select(item.options) Select(this.pzlxOption)
// .value(`请选择${item.title}`) .value(`请选择凭证类型`)
// .width(230) .borderWidth(1)
// .borderWidth(1) .borderRadius(5)
// .borderRadius(5) .width(210)
// .flexGrow(1) .height(34)
// .borderColor($r("app.color.rank_secondary_border")) .borderColor($r("app.color.rank_secondary_border"))
// .onSelect((index: number, value?: string) => { .onSelect((index: number, value?: string) => {
// this.wzcrk[item.key] = item.options[index].id this.form.pzlx = this.pzlxOption[index].id + ''
// }) })
}.margin({ top: 10, bottom: 10 })
Row() {
Text('*').fontColor('red')
Text('库房:').width('25%')
Select(this.kfOption)
.value(`请选择库房`)
.borderWidth(1)
.borderRadius(5)
.width(210)
.height(34)
.borderColor($r("app.color.rank_secondary_border"))
.onSelect((index: number, value?: string) => {
this.form.kfdm = this.kfOption[index].id + ''
})
}.margin({ top: 10, bottom: 10 }) }.margin({ top: 10, bottom: 10 })
Flex({ justifyContent: FlexAlign.SpaceAround }) { Flex({ justifyContent: FlexAlign.SpaceAround }) {
Button('取消') Button('取消')
.onClick(() => { .onClick(() => {
......
import { DividerTitle } from '../../../../view/DividerTitle/DividerTitle'
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 drModel from '../../../../model/DrModel'
import { KfInfo } from '@ohos/common/src/main/ets/entity/KfInfo'
import kfModel from '../../../../model/KfModel'
import { pzlx_dict } from '@ohos/common/src/main/ets/utils/dict'
import hwModel from '../../../../model/HwModel'
@Extend(Button) function CommonButtonStyle() {
.borderWidth(2)
.borderColor('#0fa983')
.backgroundColor('#fff')
.fontColor('#0fa983')
.borderRadius(10)
.type(ButtonType.Normal)
.height(30)
.stateEffect(true)
}
@Observed
class DjInfo {
ckdwguid: string
kfdm: string
constructor(data: {
ckdwguid: string
kfdm: string
}) {
this.ckdwguid = data.ckdwguid || ''
this.kfdm = data.kfdm || ''
}
}
interface Options {
value: string,
id: number | string
}
@CustomDialog
@Component
export struct OrderModal {
controller: CustomDialogController
@Link showProgress: boolean
@State dwguid: string = ''
@State form: DjInfo = new DjInfo({ ckdwguid: "", kfdm: "" })
finally: () => void
@State kfOption: Options[] = []
aboutToAppear() {
this.getOptions()
}
async getOptions() {
const res = await kfModel.query({})
this.kfOption = res.map(v => {
return {
value: v.kfmc,
id: v.kfdm
}
})
}
async handleClick() {
if (!this.form.ckdwguid) {
promptAction.showToast({
message: '请输入单位代码'
})
return
}
if (!this.form.kfdm) {
promptAction.showToast({
message: '请选择库房代码'
})
return
}
try {
this.showProgress = true
this.controller.close()
const res = await getLsqList({})
// 获取临时区库存数据
const lsqData = JSON.parse(res)
await hwModel.set(lsqData)
await drModel.set('临时区库存数据(内部网络导入)')
promptAction.showToast({
message: '同步临时区库存数据成功'
})
} catch (error) {
promptAction.showToast({
message: '同步临时区库存数据失败'
})
} finally {
this.finally()
}
}
build() {
Column() {
DividerTitle({ title: '单据导入' }).alignSelf(ItemAlign.Start).margin({ top: 15 })
Row() {
Text('*').fontColor('red')
Text('单位代码:').width('25%')
TextInput({ placeholder: "请输入单位代码", text: this.form.ckdwguid }).width('60%')
.borderRadius(6)
.borderColor('#bcc5d7')
.borderWidth(1)
.backgroundColor('#fff')
.onChange(value => this.form.ckdwguid = value)
}.margin({ top: 10, bottom: 10 })
Row() {
Text('*').fontColor('red')
Text('库房:').width('25%')
Select(this.kfOption)
.value(`请选择库房`)
.borderWidth(1)
.borderRadius(5)
.width(210)
.height(34)
.borderColor($r("app.color.rank_secondary_border"))
.onSelect((index: number, value?: string) => {
this.form.kfdm = this.kfOption[index].id + ''
})
}.margin({ top: 10, bottom: 10 })
Flex({ justifyContent: FlexAlign.SpaceAround }) {
Button('取消')
.onClick(() => {
this.controller.close()
})
.CommonButtonStyle()
Button('确认')
.onClick(() => this.handleClick()).CommonButtonStyle()
}.margin({ top: 10, bottom: 10 })
}.margin({ left: 10 }).borderRadius(0)
}
}
\ No newline at end of file
import { DividerTitle } from '../../../../view/DividerTitle/DividerTitle'
import promptAction from '@ohos.promptAction'
import { getBgList, getDjList } from '../sync.api'
import drModel from '../../../../model/DrModel'
import bgglModel from '../../../../model/BgglModel'
import { Bggl } from '@ohos/common'
@Extend(Button) function CommonButtonStyle() {
.borderWidth(2)
.borderColor('#0fa983')
.backgroundColor('#fff')
.fontColor('#0fa983')
.borderRadius(10)
.type(ButtonType.Normal)
.height(30)
.stateEffect(true)
}
@Observed
class DjInfo {
dwguid: string
gznd: string
constructor(data: {
dwdm: string
gznd?: string
}) {
this.dwguid = data.dwdm || ''
this.gznd = data.gznd || ''
}
}
@CustomDialog
@Component
export struct PageModal {
controller: CustomDialogController
@Link showProgress: boolean
@State dwguid: string = ''
@State form: DjInfo = new DjInfo({dwdm:"", gznd: new Date().getFullYear() + ''})
finally: () => void
async handleClick() {
if (!this.form.dwguid) {
promptAction.showToast({
message: '请输入单位代码'
})
return
}
if (!this.form.gznd) {
promptAction.showToast({
message: '请输入年度'
})
return
}
try {
this.showProgress = true
this.controller.close()
await bgglModel.clear()
const res = await getBgList(this.form)
// 获取包裹数据
const bgData = JSON.parse(res) as Bggl[]
await bgglModel.set(bgData)
await drModel.set('订单导入(内部网络导入)')
promptAction.showToast({
message: '同步订单数据成功'
})
} catch (error) {
promptAction.showToast({
message: '同步订单数据失败'
})
} finally {
this.finally()
}
}
build() {
Column() {
DividerTitle({ title: '单据导入' }).alignSelf(ItemAlign.Start).margin({ top: 15 })
Row() {
Text('*').fontColor('red')
Text('单位代码:').width('25%')
TextInput({ placeholder: "请输入单位代码", text: this.form.dwguid }).width('60%')
.borderRadius(6)
.borderColor('#bcc5d7')
.borderWidth(1)
.backgroundColor('#fff')
.onChange(value => this.form.dwguid = value)
}.margin({ top: 10, bottom: 10 })
Row() {
Text('*').fontColor('red')
Text('年度:').width('25%')
TextInput({ placeholder: "请输入年度", text: this.form.gznd }).width('60%')
.borderRadius(6)
.borderColor('#bcc5d7')
.borderWidth(1)
.backgroundColor('#fff')
.onChange(value => this.form.gznd = value)
}.margin({ top: 10, bottom: 10 })
Flex({ justifyContent: FlexAlign.SpaceAround }) {
Button('取消')
.onClick(() => {
this.controller.close()
})
.CommonButtonStyle()
Button('确认')
.onClick(() => this.handleClick()).CommonButtonStyle()
}.margin({ top: 10, bottom: 10 })
}.margin({ left: 10 }).borderRadius(0)
}
}
\ No newline at end of file
...@@ -5,7 +5,8 @@ enum Api { ...@@ -5,7 +5,8 @@ enum Api {
baseList = '/api/integrate/knzy/infrastructure', baseList = '/api/integrate/knzy/infrastructure',
djList = '/api/integrate/knzy/billOfDocument2', djList = '/api/integrate/knzy/billOfDocument2',
bgList = '/api/integrate/knzy/enwrap', bgList = '/api/integrate/knzy/enwrap',
lshList = '/api/integrate/knzy/intiRepertory' lshList = '/api/integrate/knzy/intiRepertory',
Qkdz = '/api/integrate/knzy/billOfDocumentQkdz2'
} }
// 获取品名信息 // 获取品名信息
...@@ -17,6 +18,9 @@ export const getBaseList = (data) => defHttp.post({url: Api.baseList, data}) ...@@ -17,6 +18,9 @@ export const getBaseList = (data) => defHttp.post({url: Api.baseList, data})
// 获取单据信息 // 获取单据信息
export const getDjList = (data) => defHttp.post({url: Api.djList, data}) export const getDjList = (data) => defHttp.post({url: Api.djList, data})
// 获取清库对账单查询
export const getQkdzList = (data) => defHttp.post({url: Api.Qkdz, data})
// 获取包裹 // 获取包裹
export const getBgList = (data) => defHttp.post({url: Api.bgList, data}) export const getBgList = (data) => defHttp.post({url: Api.bgList, data})
......
import router from '@ohos.router' import router from '@ohos.router'
import { import {
StatusBarManager StatusBarManager,
SQLiteContext,
BgglDao,
Logger
} from '@ohos/common'; } from '@ohos/common';
@Entry @Entry
@Component @Component
...@@ -9,6 +12,7 @@ export struct PageManagement { ...@@ -9,6 +12,7 @@ export struct PageManagement {
private controller: TabsController = new TabsController() private controller: TabsController = new TabsController()
searchController: SearchController = new SearchController() searchController: SearchController = new SearchController()
@Builder TabBuilder(index: number, name: string) { @Builder TabBuilder(index: number, name: string) {
Column() { Column() {
Text(name) Text(name)
...@@ -23,6 +27,26 @@ export struct PageManagement { ...@@ -23,6 +27,26 @@ export struct PageManagement {
}.width('100%') }.width('100%')
} }
onPageShow(){
this.getPackList()
}
// 获取包裹列表
async getPackList(ddh?: string) {
let wp = SQLiteContext.with(BgglDao).getPredicates()
if(ddh) {
wp.equalTo('DDH', ddh)
}
wp.equalTo('WCZT','未完成')
const res = await SQLiteContext.with(BgglDao).queryAll(wp)
const res1 = await SQLiteContext.with(BgglDao).queryAll()
Logger.info('包裹列表>>', JSON.stringify(res))
Logger.info('包裹列表1111>>', JSON.stringify(res1))
}
build() { build() {
Column() { Column() {
Flex({ direction: FlexDirection.Column }) { Flex({ direction: FlexDirection.Column }) {
...@@ -35,8 +59,10 @@ export struct PageManagement { ...@@ -35,8 +59,10 @@ export struct PageManagement {
.width('80%') .width('80%')
.margin({ top: 14 }) .margin({ top: 14 })
.onSubmit((value: string) => { .onSubmit((value: string) => {
this.getPackList(value)
}) })
.onChange((value: string) => { .onChange((value: string) => {
// this.getPackList(value)
}) })
}.backgroundColor("#0fa983").width('100%').height(70) }.backgroundColor("#0fa983").width('100%').height(70)
...@@ -62,7 +88,7 @@ export struct PageManagement { ...@@ -62,7 +88,7 @@ export struct PageManagement {
} }
}.width("45%").backgroundColor('#f8fdfc').justifyContent(FlexAlign.Center).onClick(() => { }.width("45%").backgroundColor('#f8fdfc').justifyContent(FlexAlign.Center).onClick(() => {
router.pushUrl({ url: "pages/package/Pack", params: { router.pushUrl({ url: "pages/package/Pack", params: {
type: "received" type: "all"
} }) } })
}) })
} }
...@@ -74,7 +100,6 @@ export struct PageManagement { ...@@ -74,7 +100,6 @@ export struct PageManagement {
Image($r('app.media.express')).width(60) Image($r('app.media.express')).width(60)
Text("暂无最新上架订单信息").margin({ top: 15 }) Text("暂无最新上架订单信息").margin({ top: 15 })
} }
}.tabBar(this.TabBuilder(0, '最新上架')) }.tabBar(this.TabBuilder(0, '最新上架'))
TabContent() { TabContent() {
...@@ -100,7 +125,7 @@ export struct PageManagement { ...@@ -100,7 +125,7 @@ export struct PageManagement {
} }
}.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: "unclaimed" type: "all"
} }) } })
}).border({ }).border({
width: { left: '0lpx', right: '2lpx', top: '0lpx', bottom: '0lpx' }, width: { left: '0lpx', right: '2lpx', top: '0lpx', bottom: '0lpx' },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论