Commit d510de8c by 毛勇泽

货位扫描,解析工具类问题修复

parent 1a9b549d
...@@ -73,34 +73,28 @@ export class BzhxDao extends BaseTable<Bzhx> { ...@@ -73,34 +73,28 @@ export class BzhxDao extends BaseTable<Bzhx> {
return this.query(wp, this.getTableColumns()) return this.query(wp, this.getTableColumns())
} }
async selectHXList(hx_map?: any): Promise<Bzhx[]> { async selectHXList(hx_map?: any): Promise<Bzhx[]> {
let wp = this.getPredicates(); try {
if (hx_map) { let val_sql = "select * from TAB_XTWH_JCSJ_BZHX where "+
wp.equalTo('pmdmSix', hx_map['wzdm']); " lsm = '" + hx_map["wzdm"] + "' " +
wp.or() " or lsm in (" + hx_map["pmdm_hxmc"] + ")"+
wp.in('pmdmSix',[`${hx_map['pmdm_hxmc']}`]) " or pmdmten = '" + hx_map["wzdm"] + "' " +
wp.or() " or ( wzpm = '" + hx_map["wzdm"] + "' and ( substr(pmdmten,7)='0000' or pmdmten in (" + hx_map["pmdm_hxmc"] + ") ) )"+
wp.equalTo('pmdmten',hx_map['wzdm']); " or ( wzpm = '" + hx_map["wzdm"] + "' and ( hxmc='无号配号' or hxmc in (" + hx_map["pmdm_hxmc"] + ") ) )" ;
wp.or() console.log('查询SQL语句=' + val_sql)
wp.beginWrap() let db = await this.futureDb;
wp.equalTo('wzpm', hx_map['wzdm']) let rs = await db.querySql(val_sql);
wp.and() console.log('查询SQL语句开始2')
wp.equalTo("pmdmten","0000") let items = []
wp.or() if (rs.goToFirstRow()) {
wp.in("pmdmten",[`${hx_map['pmdm_hxmc']}`]) do {
wp.endWrap() items.push(this.toBean(rs))
wp.or() } while (rs.goToNextRow())
wp.beginWrap() }
wp.equalTo('wzpm', hx_map['wzdm']) console.log('查询SQL结果=' + JSON.stringify(items))
wp.and() return items;
wp.beginWrap() }catch (err){
wp.equalTo('hxmc', "无号配号") console.log("查询报错==》"+JSON.stringify(err))
wp.or()
wp.in('hxmc', [`${hx_map['pmdm_hxmc']}`])
wp.endWrap()
wp.endWrap()
} }
console.log("执行语句==="+JSON.stringify(hx_map))
console.log("执行语句==="+JSON.stringify(wp))
return this.query(wp, this.getTableColumns())
} }
} }
\ No newline at end of file
...@@ -228,7 +228,6 @@ export class ScanParser { ...@@ -228,7 +228,6 @@ export class ScanParser {
bqObj.pmsl += 1; bqObj.pmsl += 1;
} }
} }
return result; return result;
} }
......
...@@ -264,9 +264,9 @@ async function analysisQrCode(bqData:string, isData:boolean = false) { ...@@ -264,9 +264,9 @@ async function analysisQrCode(bqData:string, isData:boolean = false) {
for (let j = 0; j < wzdmList.length; j++) { for (let j = 0; j < wzdmList.length; j++) {
let wzdm = wzdmList[j]; let wzdm = wzdmList[j];
Object.keys(hx_map).forEach((item) => { Object.keys(hx_map).forEach((item) => {
if (item == wzdm["LSM"] || item == wzdm["HXMC"] || item == wzdm["HXDM"]) { if (item == wzdm["lsm"] || item == wzdm["hxmc"] || item == wzdm["pmdmTen"]) {
let Pzmx = { let Pzmx = {
pmdm: wzdm.pmdmSix, pmdm: wzdm.pmdmTen,
pmdmcode: wzdm.pmdmTen, pmdmcode: wzdm.pmdmTen,
srsl: hx_map[item], srsl: hx_map[item],
wzpm: wzdm.wzpm, wzpm: wzdm.wzpm,
...@@ -276,7 +276,7 @@ async function analysisQrCode(bqData:string, isData:boolean = false) { ...@@ -276,7 +276,7 @@ async function analysisQrCode(bqData:string, isData:boolean = false) {
} }
}) })
} }
// console.log('扫描解析数据:', hxList) console.log('扫描解析数据:', hxList)
result.data = hxList; result.data = hxList;
result.success = true; result.success = true;
result.status = JsonResult.SUCCESS_CODE; result.status = JsonResult.SUCCESS_CODE;
......
...@@ -9,6 +9,7 @@ import router from '@ohos.router' ...@@ -9,6 +9,7 @@ import router from '@ohos.router'
import IdentifyService from '../../identify/IdentifySerivce' import IdentifyService from '../../identify/IdentifySerivce'
import emitter from '@ohos.events.emitter'; import emitter from '@ohos.events.emitter';
import wzcrkModel from '../../model/WzcrkModel' import wzcrkModel from '../../model/WzcrkModel'
import {analysisQrCode} from '../../identify/analysis/analysis_QR_code'
@Extend(Button) function CommonButtonStyle() { @Extend(Button) function CommonButtonStyle() {
.borderWidth(2) .borderWidth(2)
...@@ -28,8 +29,6 @@ struct GoodsSelectHwPage{ ...@@ -28,8 +29,6 @@ struct GoodsSelectHwPage{
@State checkedList: Array<DsRfid> = [] @State checkedList: Array<DsRfid> = []
@State hwh:string="" @State hwh:string=""
aboutToAppear(){ aboutToAppear(){
this.scanCodeListen()
IdentifyService.openScanPort()
this.checkedList= router.getParams()["checkArray"]; this.checkedList= router.getParams()["checkArray"];
this.model=router.getParams()["checkType"] this.model=router.getParams()["checkType"]
this.getHwList() this.getHwList()
...@@ -207,11 +206,41 @@ struct GoodsSelectHwPage{ ...@@ -207,11 +206,41 @@ struct GoodsSelectHwPage{
} }
}) })
} }
async showQRDetail(data: string) { async showQRDetail(hwQrCode: string) {
Logger.info("扫码二维码===》"+data) Logger.info("扫码二维码===》"+hwQrCode)
this.handleanalysisQrCode(hwQrCode)
}
/*
* 货位解析*/
async handleanalysisQrCode(hwQrCode:string) {
const res = await analysisQrCode(hwQrCode, true)
console.log('扫描返回数据', JSON.stringify(res))
if (res.data && res.data.length > 0) {
console.log(res.data, 'res.data')
res.data.forEach((item) => {
const {
hwh,
hjguid
} = item
if (hwh && hjguid) {
this.hwh = hwh
this.onSubmit()
}
if (!this.hwh) {
promptAction.showToast({
message: '请扫描货位'
})
return
}
})
}
} }
onPageShow() { onPageShow() {
console.error("========onPageShow=========") console.error("========onPageShow=========")
this.scanCodeListen()
IdentifyService.openScanPort()
} }
onPageHide() { onPageHide() {
......
...@@ -226,8 +226,8 @@ struct UHFScanPage{ ...@@ -226,8 +226,8 @@ struct UHFScanPage{
showList(epc?:string){ showList(epc?:string){
this.doneEpcsList.push(epc) this.doneEpcsList.push(epc)
try { try {
this.handleanalysisQrCode("050400000000000016033C62BF2A111F0000A10040E220419000"); // this.handleanalysisQrCode("050400000000000016033C62BF2A111F0000A10040E220419000");
// this.handleanalysisQrCode(epc); this.handleanalysisQrCode(epc);
}catch (err){ }catch (err){
Logger.info("解析失败1"+epc+JSON.stringify(err)) Logger.info("解析失败1"+epc+JSON.stringify(err))
...@@ -347,6 +347,7 @@ struct UHFScanPage{ ...@@ -347,6 +347,7 @@ struct UHFScanPage{
} }
onPageShow() { onPageShow() {
console.error("========onPageShow=========") console.error("========onPageShow=========")
this.checkedList=[]
this.getUPorDown() this.getUPorDown()
this.rfidInvListen() this.rfidInvListen()
IdentifyService.openRfidPort() IdentifyService.openRfidPort()
......
import gldwModel from '../../../../model/GldwModel'
import kfModel from '../../../../model/KfModel'
import { renderPzlx, renderSzlx, renderZmlx, WzClass } from '../../Common/Wzcrk.data'
@Component
export struct PzConversioneInfo{
@State kfmc: string = ''
@State fwgldw: string = ''
@State swgldw: string = ''
@ObjectLink wzcrk: WzClass
arr = [{ title: "凭证类型", key: 'pzlx', enabled: false },
{ title: "凭证号", key: 'pzh', enabled: false },
{ title: "库房", key: 'kfguid', enabled: false },
{ title: "发物管理单位", key: 'fwgldwdm', enabled: false },
{ title: "收物管理单位", key: 'swgldwdm', enabled: false },
{ title: "账目类型", key: 'zmlx', enabled: false },
{ title: "备注", key: 'dec', enabled: true }
]
aboutToAppear(){
this.getData()
}
async getData() {
const res = await kfModel.query({guid: this.wzcrk.kfguid})
this.kfmc = res[0].kfmc ?? ''
const res1 = await gldwModel.queryByData({dwdm:this.wzcrk.fwgldwdm})
this.fwgldw = res1[0].dwfh ?? ''
const res2 = await gldwModel.queryByData({dwdm:this.wzcrk.swgldwdm})
this.swgldw = res2[0].dwfh ?? ''
}
handleText(key: string): string {
switch (key) {
case 'pzlx':
return renderPzlx(this.wzcrk.pzlx)
case 'pzszlx':
return renderSzlx(this.wzcrk.pzszlx)
case 'zmlx':
return renderZmlx(this.wzcrk.zmlx)
case 'kfguid':
return this.kfmc
case 'fwgldwdm':
return this.fwgldw
case 'swgldwdm':
return this.swgldw
default:
return String(this.wzcrk[key])
}
}
build(){
Column(){
Flex({ direction: FlexDirection.Row, justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
Divider()
.vertical(true)
.height(14)
.strokeWidth(3)
.color('#19ac88')
.opacity(0.6)
.margin({ left: 8, right: 8 })
Text("凭证信息")
.fontSize(16)
}.height('8%')
List(){
ForEach(this.arr,(item) => {
ListItem(){
Column(){
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
Text(item.title)
.fontSize(14)
.width("30%")
.height(40)
.fontColor($r("app.color.item_color_black"))
TextInput({ text: this.handleText(item.key),placeholder: `请输入${item.title}` })
.enterKeyType(EnterKeyType.Search)
.borderColor("#454545")
.borderRadius(5)
.width("70%")
.height(40)
.padding(10)
.borderColor('#bcc5d7')
.borderWidth(1)
.backgroundColor(item.enabled ? '#fff' : "app.color.disabledColor")
.enabled(item.enabled)
.onChange((value: string) => {
if(item.enabled) {
this.wzcrk[item.key] = value
}
})
}
}
}.padding(15)
})
}.margin({bottom:40})
}.backgroundColor('#fff')
}
}
\ No newline at end of file
import { TitleBar } from '../../../../view/title/TitleBar'
import router from '@ohos.router';
import { Logger } from '@ohos/common/src/main/ets/utils/Logger';
import { Wzcrk } from '@ohos/common/src/main/ets/entity/Wzcrk';
import { WzConversioneInfo } from './WzConversioneInfo'
import { PzConversioneInfo } from './PzConversioneInfo'
import {AddWzin} from '../../WzInPage/WzinDetail/AddWzin'
import wzcrkmxModel from '../../../../model/WzcrkmxModel';
import { WzClass, WzmxClass } from '../../Common/Wzcrk.data';
import bzhxModel from '../../../../model/BzhxModel';
import promptAction from '@ohos.promptAction';
import wzcrkModel from '../../../../model/WzcrkModel';
import { SQLiteContext, Wzcrkmx, WzcrkmxDao } from '@ohos/common';
import { uuid } from '@ohos/common/src/main/ets/utils/util';
@Extend(Button) function CommonButtonStyle() {
.borderWidth(2)
.borderColor('#0fa983')
.backgroundColor('#97c6a6')
.fontColor('#fff')
.borderRadius(5)
.type(ButtonType.Normal)
.stateEffect(true)
}
interface params {
wzcrk: Wzcrk,
isUpdate: boolean
}
@Entry
@Component
struct WzConversionDetailPage{
@State fontColor: string = '#0FA983'
@State selectedFontColor: string = '#fff'
@State currentIndex: number = 0
@State isUpdate: boolean = false
@State wzcrk: WzClass = null // 物资出入库单据信息
@State wzmx: WzmxClass[] = [] // 物资出入库明细
private controller: TabsController = new TabsController()
wzcrkmxDao: WzcrkmxDao = SQLiteContext.with(WzcrkmxDao)
onPageShow() {
const params = router.getParams() as params
this.isUpdate = params.isUpdate
this.wzcrk = new WzClass(params.wzcrk)
Logger.info('接收到出入库信息>>', JSON.stringify(params.wzcrk))
this.getDetail()
}
// 获取凭证信息
async getDetail(wzpm?) {
this.wzmx = []
const res = await wzcrkmxModel.query(this.wzcrk.guid, wzpm)
res.forEach(i => {
// @ts-ignore
this.wzmx.push(new WzmxClass(i))
})
Logger.info('接收到出入库物资明细信息>>', JSON.stringify(res))
}
@Builder TabBuilder(index: number, name: string) {
Column() {
Text(name)
.fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor)
.fontSize(21)
.lineHeight(36)
}
.width('100%')
.height(45)
.border({ width: 2, color: 'rgb(15, 169, 131)' })
.borderRadius(3)
.backgroundColor(this.currentIndex === index ? this.fontColor : '#00000000')
}
build() {
Column() {
Flex({ direction: FlexDirection.Column }) {
TitleBar({ title: "凭证详情" })
Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
TabContent() {
Column() {
if(this.isUpdate) {
PzConversioneInfo({ wzcrk: this.wzcrk })
} else {
AddWzin({ wzcrk: this.wzcrk })
}
}.width("100%")
}.tabBar(this.TabBuilder(0, '凭证信息'))
TabContent() {
Column() {
WzConversioneInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk, getDetail: this.getDetail })
}.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息'))
}
.margin({ left: 15, right: 15, top: 15 })
.onChange((index: number) => {
this.currentIndex = index
})
Row() {
Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) {
Button("保存").CommonButtonStyle().width("100%")
.onClick(async () => {
try {
Logger.info('保存的明细数据>>', JSON.stringify(this.wzmx))
if(this.isUpdate) {
await wzcrkModel.updateWcztByData(this.wzcrk.guid, {
dec: this.wzcrk.dec,
ydh: this.wzcrk.ydh,
})
}
else {
this.wzcrk.guid = uuid()
this.wzcrk.gznd = new Date().getFullYear() + ''
this.wzcrk.sjlx = '新建'
await wzcrkModel.setOne(this.wzcrk)
Logger.info('添加的数据>>', JSON.stringify(this.wzcrk))
}
// for (let index = 0; index < this.wzmx.length; index++) {
// const element = this.wzmx[index];
// try {
// Logger.error(this, '更新数据参数' + JSON.stringify({
// 'guid': element.guid,
// 'crksl': element.crksl
// }))
// let val1 = await this.wzcrkmxDao.update({ 'guid': element.guid, 'crksl': element.crksl } as Wzcrkmx)
// Logger.error(this, '更新查询的入库数据>>' + JSON.stringify(val1));
// } catch (e) {
// Logger.error(this, '保存失败了>>' + JSON.stringify(e))
// }
// }
//
// const crksl = this.wzmx.map(v => Number(v.crksl)).reduce((a, b) => a + b, 0)
//
// await wzcrkModel.updateWcztByData(this.wzcrk.guid, {
// dec: this.wzcrk.dec,
// ydh: this.wzcrk.ydh,
// crksl
// })
//
promptAction.showToast({
message: '保存数据成功',
bottom: 300
})
setTimeout(() => {
router.back({ url: 'pages/metailmange/WzExchangePage/WzExchangePage' })
}, 300)
} catch (e) {
promptAction.showToast({
message: '保存入库数据失败',
bottom: 200
})
}
})
}
}.margin({ left: 10, right: 10 }).height(80)
}.width("100%")
}.linearGradient({
direction: GradientDirection.Right, // 渐变方向
repeating: true, // 渐变颜色是否重复
colors: [[0x36a3c0, 0.0], [0x97c6a6, 1], [0xc7d799, 0.0]] // 数组末尾元素占比小于1时满足重复着色效果
})
}
}
\ No newline at end of file
import router from '@ohos.router';
import { Logger } from '@ohos/common';
import { Wzcrkmx } from '@ohos/common/src/main/ets/entity/Wzcrkmx';
import gldwModel from '../../../../model/GldwModel';
import kfModel from '../../../../model/KfModel';
import { WzClass, WzmxClass } from '../../Common/Wzcrk.data';
import { WzList } from '../../WzInPage/WzinDetail/WzList';
@Extend(Button) function CommonButtonStyle() {
.borderWidth(2)
.borderColor('#0fa983')
.backgroundColor('#97c6a6')
.fontColor('#fff')
.borderRadius(5)
.type(ButtonType.Normal)
.stateEffect(true)
}
@Component
// 物资信息
export struct WzConversioneInfo{
private searchcontroller: SearchController = new SearchController()
@State kfmc: string = ''
@State sfdw: string = ''
@State wzmx: WzmxClass[] = []
@ObjectLink wzcrk: WzClass
getDetail: (wzpm?:string) => void
aboutToAppear(){
this.getData()
}
async getData() {
const res = await kfModel.query({guid: this.wzcrk.kfguid})
this.kfmc = res[0].kfmc ?? ''
const res1 = await gldwModel.queryByData({dwdm:this.wzcrk.sfdw})
this.sfdw = res1[0].dwfh ?? ''
}
build() {
Column() {
Flex({ direction: FlexDirection.Column }) {
Column() {
Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) {
Row() {
Divider()
.vertical(true)
.height(14)
.strokeWidth(3)
.color('#19ac88')
.opacity(0.6)
.margin({ left: 8, right: 8 })
Text("单位/库房信息")
.fontWeight(FontWeight.Medium)
.fontSize(14)
.fontColor($r("app.color.item_color_black"))
}
.width("35%")
Text(this.sfdw + this.kfmc)
.fontWeight(FontWeight.Medium)
.fontSize(21)
.fontColor($r("app.color.title_background"))
.width("60%")
.textAlign(TextAlign.Start)
.padding({ bottom: 20, top: 20 })
}.width("100%")
Divider().vertical(false).backgroundColor($r("app.color.font_description"))
Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {
Row(){
Divider()
.vertical(true)
.height(14)
.strokeWidth(3)
.color('#19ac88')
.opacity(0.6)
.margin({ left: 8, right: 8 })
Text("换位模式")
.fontSize(14)
.width("30%")
.height(40)
.fontColor($r("app.color.item_color_black"))
}
Row(){
Text("换入").margin({left:10,right:10})
Toggle({ type: ToggleType.Switch, isOn: true })
.selectedColor('#007DFF')
.switchPointColor('#FFFFFF')
.onChange((isOn: boolean) => {
console.info('Component status:' + isOn)
})
Text("换出").margin({left:10,right:10})
}
}.padding({left:2,bottom:20})
.width("100%")
}.padding({ bottom: 20, top: 20 })
.borderRadius(5)
.width("100%")
.backgroundColor("#fff")
Flex({ direction: FlexDirection.Column }) {
Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {
Row() {
Divider()
.vertical(true)
.height(14)
.strokeWidth(3)
.color('#19ac88')
.opacity(0.6)
.margin({ left: 8, right: 8 })
Text("物资列表")
.fontWeight(FontWeight.Medium)
.fontSize(14)
.fontColor($r("app.color.item_color_black"))
}
}.padding({ left: 2, right: 10 })
.width("100%")
Row() {
Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {
Search({ placeholder: '请输入品名名称', controller: this.searchcontroller })
.height(40)
.backgroundColor('#F5F5F5')
.placeholderColor(Color.Grey)
.textAlign(TextAlign.Center)
.placeholderFont({ size: 14, weight: 400 })
.textFont({ size: 14, weight: 400 })
.width('75%')
.onSubmit((value: string) => {
this.getDetail(value)
})
.onChange((value: string) => {
})
.margin({ left: 10 })
.borderRadius(5)
Button("查看状态").CommonButtonStyle().width("25%").margin({ left: 5, right: 5 }).onClick(() => {
router.pushUrl({ url: 'pages/metailmange/WzStatus', params: {
wzmx: this.wzmx
} })
})
}.width("100%")
}.padding({ top: 10, bottom: 10 }).width("100%")
Column() {
List() {
ForEach(this.wzmx, (item) => {
ListItem() {
WzList({ wzmx: item })
}
})
}
}.flexGrow(1)
}
.padding({ bottom: 20, top: 20 })
.borderRadius(15)
.margin({ top: 20 })
.width("100%")
.backgroundColor("#fff")
}
.width("100%")
.height("100%")
}
}
}
\ No newline at end of file
import { TitleBar } from '../../../view/title/TitleBar'
import router from '@ohos.router';
import wzcrkModel from '../../../model/WzcrkModel';
import { Logger } from '@ohos/common';
import { WzClass } from '../Common/Wzcrk.data';
import { WzList } from '../Common/WzcrkList';
import promptAction from '@ohos.promptAction';
import { SetStatusDialog } from '../../../view/SetStatusDialog/SetStatusDialog';
import { dateUtils } from '@ohos/common/src/main/ets/utils/util';
import ViewdrdcModel from '../../../model/ViewdrdcModel';
import { importData } from '../Common/Wzcrk.api';
import { ExportOrderDialog } from '../../../view/ExportOrderDialog/ExportOrderDialog';
@Extend(Button) function bottomBtnSty() {
.borderWidth(1)
.padding({top:1,bottom:1,right:7,left:7})
.borderColor('#0fa983')
.backgroundColor('#fff')
.fontColor('#0fa983')
.borderRadius(7)
.type(ButtonType.Normal)
.stateEffect(true)
}
interface SearchData {
pzh?: string;
wczt?: string;
}
@Entry
@Component
struct WzConversionPage{
@State fontColor: string = '#182431'
@State selectedFontColor: string = '#fff'
@State currentIndex: number = 0
@State dataSource: WzClass[] = []
@State checkedList: Array<string> = []
@State radioChecked: boolean = true
@State searchData: SearchData = {
pzh: '',
wczt: '未完成'
}
private controller: TabsController = new TabsController()
private searchcontroller: SearchController = new SearchController()
aboutToAppear() {
this.getWzcrkList()
}
async getWzcrkList(qzh?: number, wczt?: string) {
this.dataSource = []
const res = await wzcrkModel.query({
pzlx: "HW44",
pzh: Number(this.searchData.pzh),
wczt: this.searchData.wczt,
sjlx: this.currentIndex === 0 ? "导入" : "临时调号" })
res.forEach(element => {
this.dataSource.push(new WzClass(element))
});
Logger.info('数量是' + JSON.stringify(this.dataSource))
}
@Builder container() {
Column() {
Row() {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
Text('完成').margin({ left: 20 })
Radio({ value: 'Radio1', group: 'radioGroup' })
.checked(true)
.onChange((isChecked: boolean) => {
this.radioChecked = isChecked
}).margin({ right: 20 })
}
}.padding({ top: 10, bottom: 10 })
Divider().strokeWidth(1).color('rgb(242,242,242)')
Row() {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
Text('未完成').margin({ left: 20 })
Radio({ value: 'Radio2', group: 'radioGroup' })
.onChange((isChecked: boolean) => {
}).margin({ right: 20 })
}
}.padding({ top: 10, bottom: 10 })
Divider().strokeWidth(1).color('rgb(242,242,242)')
}
}
@Builder exportContainer() {
Column() {
Text('请选择导出单据模式')
}.height(40)
}
dialogController: CustomDialogController = new CustomDialogController({
builder: SetStatusDialog({
cancel: this.onCancel,
confirm: this.onSubmit,
checkedList: $checkedList,
dataSource: $dataSource,
container: this.container
}),
autoCancel: true,
alignment: DialogAlignment.Bottom,
customStyle: true
})
onCancel() {
console.info('------取消------')
}
onSubmit() {
try{
this.checkedList.forEach(async (element)=>{
let num = await wzcrkModel.updateWzcrkWczt(element, (this.radioChecked == undefined || this.radioChecked ? '已完成' : '未完成'))
if(num) {
this.dataSource.splice(this.dataSource.findIndex(i => i.guid == element), 1)
}
})
}catch(e){
}finally{
this.checkedList = []
}
}
exportDialogController: CustomDialogController = new CustomDialogController({
builder: ExportOrderDialog({
cancel: this.onExportCancel,
confirm: this.onExportSubmit,
checkedList: $checkedList,
dataSource: $dataSource,
container: this.exportContainer
}),
autoCancel: true,
alignment: DialogAlignment.Bottom,
customStyle: true
})
onExportCancel() {
}
onExportSubmit() {
this.checkedList.forEach(async element => {
let res = await ViewdrdcModel.queryExport({guid: element, wczt: '已完成', pzlx: '17'})
const jhguidArr = res.map((item) => item.guid)
if (jhguidArr && jhguidArr.length > 0) {
const date = dateUtils.formatDateTime(new Date(), 'before')
const newArr = [...new Set(jhguidArr)]
const exportData = newArr.map((item) => {
let newObj = {}
let ItemData = []
res.forEach((Item) => {
if (item == Item.guid) {
ItemData.push({
jhmxguid: Item.jhmxguid,
hwh: Item.hwh,
pmdmcode: Item.pmdmcode,
wzdm: Item.wzdm,
pzsl: Item.pzsl || 0,
sjsl: Item.crksl || 0
})
}
})
const [filterData] = res.filter((fItem) => fItem
.guid == item)
if (filterData) {
newObj = {
cbdwdm: filterData.ckdwguid,
ckkfdm: filterData.kfdm,
...filterData,
crksl: ItemData.map(i => i.sjsl).reduce((a, b) => {
return a + b
},0),
scjid: "863576927543400,863576927543400",
cjmc: "普华",
imei: "863576927543400,863576927543400",
model: "ax6737_65_n",
vendor: "alps",
dcsj: date,
pzmx: ItemData
}
}
return newObj
})
const exportForm = {
pzzbJson: exportData,
crklx: '11111CRKLX2',
gznd: '2023',
jsdwguid: 1,
}
await importData(exportForm)
}
})
promptAction.showDialog({
title: '提示',
message: '入库作业单据已同步至业务系统,请以保管员身份登录业务系统,在菜单“作业项目--物资入库”里刷新查看。',
buttons: [{
text: '已知晓',
color: '#0fa983',
}],
})
}
@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%')
}
@Builder bottomButtons() {
Row() {
Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) {
Button("新建换位")
.bottomBtnSty()
.onClick( () => {
router.pushUrl({
url: "pages/metailmange/AddConversionPage",
})
})
.fontColor("#0fa983")
.fontSize("14vp")
Button("设置状态")
.bottomBtnSty()
.onClick(() => {
})
.fontColor("#0fa983")
.fontSize("14vp")
Button("导出数据包")
.bottomBtnSty()
.onClick(() => {
}).fontColor("#0fa983") .fontSize("14vp")
Button("全选")
.bottomBtnSty().fontColor("#0fa983") .fontSize("14vp")
Button("清空选择")
.bottomBtnSty()
.onClick(() =>{
}).fontColor("#0fa983") .fontSize("14vp")
}
}.height(80)
}
build(){
Column() {
Flex({direction:FlexDirection.Column}){
TitleBar({ title:"物资换位" })
Row(){
Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {
Search({ placeholder: '请输入凭证号', controller: this.searchcontroller })
.height(40)
.backgroundColor('#F5F5F5')
.placeholderColor(Color.Grey)
.textAlign(TextAlign.Center)
.placeholderFont({ size: 14, weight: 400 })
.textFont({ size: 14, weight: 400 })
.width('100%')
.onSubmit((value: string) => {
})
.onChange((value: string) => {
this.searchData.pzh = value
this.getWzcrkList()
})
.borderRadius(5)
}
}.width("100%")
.padding('15vp')
// 列表
Column() {
if (this.dataSource.length == 0) {
this.renderEmpty()
} else {
List({ space: 2 }) {
ForEach(this.dataSource, (item) => {
ListItem() {
WzList({ item, checkedList: $checkedList }).width('100%').backgroundColor('#fff')
}.onClick(() => {
router.pushUrl({ url: 'pages/metailmange/WzConversionPage/WzConversionDetailPage/WzConversionDetailPage', params: {
wzcrk: item,
isUpdate:true
} },)
})
})
}.padding(18)
}
}.flexGrow(1).alignSelf(ItemAlign.Center)
Row(){
// 底部按钮
this.bottomButtons();
}.backgroundColor("#97c6a6").width("100%").height(80)
}
}.linearGradient({
direction: GradientDirection.Right, // 渐变方向
repeating: true, // 渐变颜色是否重复
colors: [[0x36a3c0, 0.0], [0x97c6a6, 1], [0xc7d799, 0.0]] // 数组末尾元素占比小于1时满足重复着色效果
})
}
}
\ No newline at end of file
...@@ -19,6 +19,7 @@ struct WzPositionPage{ ...@@ -19,6 +19,7 @@ struct WzPositionPage{
@State selectedFontColor: string = '#fff' @State selectedFontColor: string = '#fff'
@State currentIndex: number = 0 @State currentIndex: number = 0
@State titleBarPadding:number=0 @State titleBarPadding:number=0
@State selectValue: Array<SelectOption> = [{ value: "未完成" }, { value: "已完成" }, { value: "完成已绑定" }]
itemClick() { itemClick() {
router.pushUrl({url:'pages/order_detail/PzPourStoragePage'}) router.pushUrl({url:'pages/order_detail/PzPourStoragePage'})
} }
...@@ -41,12 +42,59 @@ struct WzPositionPage{ ...@@ -41,12 +42,59 @@ struct WzPositionPage{
} }
}.height(50) }.height(50)
} }
@Builder selectPopupView(){
Row() {
Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }){
Select(this.selectValue )
.value('未完成')
.selected(0)
.borderWidth(1)
.borderRadius(6)
.height(42)
.borderColor("#454545")
.onSelect(async (index: number, value?: string) => {
})
.width(100)
.margin({
right: 5
})
Select(this.selectValue )
.value('未完成')
.selected(0)
.borderWidth(1)
.borderRadius(6)
.height(42)
.borderColor("#454545")
.onSelect(async (index: number, value?: string) => {
})
.width(100)
.margin({
right: 5
})
Select(this.selectValue)
.value('未完成')
.selected(0)
.borderWidth(1)
.borderRadius(6)
.height(42)
.borderColor("#454545")
.onSelect(async (index: number, value?: string) => {
})
.width(100)
.margin({
right: 5
})
}
}.padding({ top:15,bottom:15,left:5,right:5}).backgroundColor("#fff").margin({top:10,left:15,right:15})
}
build(){ build(){
Column() { Column() {
Flex({direction:FlexDirection.Column}){ Flex({direction:FlexDirection.Column}){
TitleBar({ title:"物资落位"}) TitleBar({ title:"物资落位"})
this.selectPopupView();
Row(){ Row(){
Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }){ Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center}){
Search({ placeholder: '请输入凭证号',controller: this.searchcontroller }) Search({ placeholder: '请输入凭证号',controller: this.searchcontroller })
.height(40) .height(40)
.textAlign(TextAlign.Center) .textAlign(TextAlign.Center)
......
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
"pages/metailmange/WzExchangePage/WzExchangeDetailPage/WzExchangeDetailPage", "pages/metailmange/WzExchangePage/WzExchangeDetailPage/WzExchangeDetailPage",
"pages/metailmange/WzExchangePage/WzExchangePage", "pages/metailmange/WzExchangePage/WzExchangePage",
"pages/metailmange/WzConversionPage", "pages/metailmange/WzConversionPage",
"pages/metailmange/WzConversionPage/WzConversionPage",
"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",
......
...@@ -106,7 +106,7 @@ export struct MaterialManagement { ...@@ -106,7 +106,7 @@ export struct MaterialManagement {
break; break;
case "conversion": case "conversion":
router.pushUrl({ router.pushUrl({
url: "pages/metailmange/WzConversionPage", url: "pages/metailmange/WzConversionPage/WzConversionPage",
}) })
break; break;
case "position": case "position":
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论