Commit 98758423 by 毛勇泽

盘库。倒库,调号

parent 8895519d
...@@ -73,6 +73,8 @@ export class WzhxdmDao extends BaseTable<Wzhxdm> { ...@@ -73,6 +73,8 @@ export class WzhxdmDao extends BaseTable<Wzhxdm> {
wp.endWrap() wp.endWrap()
wp.endWrap() wp.endWrap()
} }
console.log("执行语句==="+JSON.stringify(hx_map))
console.log("执行语句==="+JSON.stringify(wp))
return this.query(wp, this.getTableColumns()) return this.query(wp, this.getTableColumns())
} }
} }
\ No newline at end of file
...@@ -227,8 +227,7 @@ struct UHFScanPage{ ...@@ -227,8 +227,7 @@ struct UHFScanPage{
this.doneEpcsList.push(epc) this.doneEpcsList.push(epc)
try { try {
// this.handleanalysisQrCode("050400000000000016033C62BF2A111F0000A10040E220419000"); // this.handleanalysisQrCode("050400000000000016033C62BF2A111F0000A10040E220419000");
this.handleanalysisQrCode('0504000D2490C80C56033C44FC1A111100096300E0D220713000'); this.handleanalysisQrCode(epc);
IdentifyService.stopRfidInv()
}catch (err){ }catch (err){
Logger.info("解析失败1"+epc+JSON.stringify(err)) Logger.info("解析失败1"+epc+JSON.stringify(err))
...@@ -245,8 +244,8 @@ struct UHFScanPage{ ...@@ -245,8 +244,8 @@ struct UHFScanPage{
console.log("proEpc"+pro.strEpc) console.log("proEpc"+pro.strEpc)
console.log("LSM"+pro.getiWzLsm()) console.log("LSM"+pro.getiWzLsm())
console.log("箱号===》"+pro.getiXangNo().toString()) console.log("箱号===》"+pro.getiXangNo().toString())
const scan = await analysisQrCode(pro.getiWzLsm().toString(), true) // const scan = await analysisQrCode(pro.getiWzLsm().toString(), true)
console.log('扫描返回数据', JSON.stringify(scan)) // console.log('扫描返回数据', JSON.stringify(scan))
const res = await bzhxModal.queryLsm(pro.getiWzLsm().toString()) const res = await bzhxModal.queryLsm(pro.getiWzLsm().toString())
console.log('RFDID解析返回数据', res) console.log('RFDID解析返回数据', res)
if (res && res.length == 0) { if (res && res.length == 0) {
......
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 { WzInfo } from '../../WzInPage/WzinDetail/WzInfo'
import { PzInfo } from '../../WzInPage/WzinDetail/PzInfo'
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 WzExchangeDetailPage{
@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) {
PzInfo({ wzcrk: this.wzcrk })
} else {
AddWzin({ wzcrk: this.wzcrk })
}
}.width("100%")
}.tabBar(this.TabBuilder(0, '凭证信息'))
TabContent() {
Column() {
WzInfo({ 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.replaceUrl({ url: 'pages/metailmange/WzInPage/WzInPage' })
}, 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 { 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 WzExchangePage{
@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: "41",
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 TabBuilder(index: number, name: string) {
Column() {
Text(name)
.fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor)
.fontSize(16)
.lineHeight(22)
.margin({ top: 17, bottom: 7 })
Divider()
.strokeWidth(2)
.color('#fff')
.width(50)
.opacity(this.currentIndex === index ? 1 : 0)
}.width('100%')
}
@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("临时调号")
.visibility(this.currentIndex === 1 ? Visibility.Visible:Visibility.None)
.bottomBtnSty()
.onClick( () => {
router.pushUrl({
url: "pages/metailmange/AddAdjustModelPage",
})
})
.fontColor("#0fa983")
.fontSize("14vp")
Button("设置状态")
.bottomBtnSty()
.onClick(() => {
if (this.checkedList.length == 0) {
promptAction.showToast({
message: '请至少选择一条单据'
})
} else {
// if (this.dialogController != undefined) {
// this.dialogController.open()
// }
}
})
.fontColor("#0fa983")
.fontSize("14vp")
Button("导出数据包")
.bottomBtnSty()
.onClick(() => {
if (this.checkedList.length == 0) {
promptAction.showToast({
message: '请至少选择一条单据'
})
} else if (this.dataSource.filter(i => i.wczt == '未完成').length > 0) {
promptAction.showToast({
message: '请选择已完成的单据'
})
} else {
// if (this.exportDialogController != undefined) {
// this.exportDialogController.open()
// }
}
}).fontColor("#0fa983") .fontSize("14vp")
Button("全选")
.bottomBtnSty().fontColor("#0fa983").fontSize("14vp")
.onClick(() => {
this.checkedList = this.dataSource.map((item) => item.guid)
})
Button("清空选择")
.bottomBtnSty()
.onClick(() => {
this.checkedList = []
}).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')
Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
TabContent() {
// Column().width('100%').height('100%').backgroundColor('#00CB87')
}.tabBar(this.TabBuilder(0, '导入'))
TabContent() {
// Column().width('100%').height('100%').backgroundColor('#007DFF')
}.tabBar(this.TabBuilder(1, '临时调号'))
}
.height(80)
.margin({top:-15})
.onChange((index: number) => {
this.currentIndex = index
})
// 列表
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/WzExchangePage/WzExchangeDetailPage/WzExchangeDetailPage', 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
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 { WzInfo } from '../../WzInPage/WzinDetail/WzInfo'
import { PzInfo } from '../../WzInPage/WzinDetail/PzInfo'
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 WzInvDetail{
@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() {
PzInfo({ wzcrk: this.wzcrk })
}.width("100%")
}.tabBar(this.TabBuilder(0, '凭证信息'))
TabContent() {
Column() {
WzInfo({ 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.replaceUrl({ url: 'pages/metailmange/WzInPage/WzInPage' })
}, 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 { TitleBar } from '../../../view/title/TitleBar'
import router from '@ohos.router';
import { WzList } from '../Common/WzcrkList';
import wzcrkModel from '../../../model/WzcrkModel';
import { Logger } from '@ohos/common/src/main/ets/utils/Logger';
import { WzClass, getDefaultPzh } from '../Common/Wzcrk.data'
import promptAction from '@ohos.promptAction';
import { SetStatusDialog } from '../../../view/SetStatusDialog/SetStatusDialog';
import { ExportOrderDialog } from '../../../view/ExportOrderDialog/ExportOrderDialog';
import ViewdrdcModel from '../../../model/ViewdrdcModel';
import { importData } from '../Common/Wzcrk.api';
import { dateUtils } from '@ohos/common/src/main/ets/utils/util';
@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 WzInvPage{
@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()
@State page: number = 1
@State rows: number = 10
@State sjlx: string = "0"
@State wczt: string = ""
@State pzh: string = ""
params = {
pzh: this.pzh,
page: this.page,
rows: this.rows,
sjlx: this.currentIndex === 0 ? "未完成" : "已完成",
wczt: "未完成"
}
itemClick() {
router.pushUrl({ url: 'pages/order_detail/PzInOutDetailPage' })
}
aboutToAppear() {
this.getWzcrkList()
}
async getWzcrkList(qzh?: number, wczt?: string) {
this.dataSource = []
const res = await wzcrkModel.query({
pzlx: "42",
pzh: Number(this.searchData.pzh),
wczt: 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 TabBuilder(index: number, name: string) {
Column() {
Text(name)
.fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor)
.fontSize(16)
.lineHeight(22)
.margin({ top: 17, bottom: 7 })
Divider()
.strokeWidth(2)
.color('#fff')
.width(50)
.opacity(this.currentIndex === index ? 1 : 0)
}.width('100%')
}
@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(() => {
if (this.checkedList.length == 0) {
promptAction.showToast({
message: '请至少选择一条单据'
})
} else {
// if (this.dialogController != undefined) {
// this.dialogController.open()
// }
}
})
.fontColor("#0fa983")
.fontSize("14vp")
Button("导出数据包")
.visibility(this.currentIndex === 1 ? Visibility.Visible : Visibility.None)
.bottomBtnSty()
.onClick(() => {
if (this.checkedList.length == 0) {
promptAction.showToast({
message: '请至少选择一条单据'
})
} else if (this.dataSource.filter(i => i.wczt == '未完成').length > 0) {
promptAction.showToast({
message: '请选择已完成的单据'
})
} else {
// if (this.exportDialogController != undefined) {
// this.exportDialogController.open()
// }
}
}).fontColor("#0fa983") .fontSize("14vp")
Button("全选")
.bottomBtnSty().fontColor("#0fa983") .fontSize("14vp")
.onClick(() => {
this.checkedList = this.dataSource.map((item) => item.guid)
})
Button("清空选择")
.bottomBtnSty()
.onClick(() => {
this.checkedList = []
}).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')
Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
TabContent() {
// Column().width('100%').height('100%').backgroundColor('#00CB87')
}.tabBar(this.TabBuilder(0, '未完成'))
TabContent() {
// Column().width('100%').height('100%').backgroundColor('#007DFF')
}.tabBar(this.TabBuilder(1, '已完成'))
}
.height(80)
.margin({top:-15})
.onChange((index: number) => {
this.currentIndex = index
this.getWzcrkList()
})
// 列表
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/WzInvPage/WzInvDetail/WzInvDetail', params: {
wzcrk: item
} },)
})
})
}.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
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 { WzInfo } from '../../WzInPage/WzinDetail/WzInfo'
import { PzInfo } from '../../WzInPage/WzinDetail/PzInfo'
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 WzReverseDetailPage{
@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) {
PzInfo({ wzcrk: this.wzcrk })
} else {
AddWzin({ wzcrk: this.wzcrk })
}
}.width("100%")
}.tabBar(this.TabBuilder(0, '凭证信息'))
TabContent() {
Column() {
WzInfo({ 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.replaceUrl({ url: 'pages/metailmange/WzInPage/WzInPage' })
}, 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 { 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 WzReversePage{
@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()
@State page: number = 1
@State rows: number = 10
@State sjlx: string = "0"
@State wczt: string = ""
@State pzh: string = ""
aboutToAppear() {
this.getWzcrkList()
}
async getWzcrkList(qzh?: number, wczt?: string) {
this.dataSource = []
const res = await wzcrkModel.query({
pzlx: "19",
pzh: Number(this.searchData.pzh),
wczt: 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 TabBuilder(index: number, name: string) {
Column() {
Text(name)
.fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor)
.fontSize(16)
.lineHeight(22)
.margin({ top: 17, bottom: 7 })
Divider()
.strokeWidth(2)
.color('#fff')
.width(50)
.opacity(this.currentIndex === index ? 1 : 0)
}.width('100%')
}
@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(() => {
if (this.checkedList.length == 0) {
promptAction.showToast({
message: '请至少选择一条单据'
})
} else {
// if (this.dialogController != undefined) {
// this.dialogController.open()
// }
}
})
.fontColor("#0fa983")
.fontSize("14vp")
Button("导出数据包")
.visibility(this.currentIndex === 1 ? Visibility.Visible : Visibility.None)
.bottomBtnSty()
.onClick(() => {
if (this.checkedList.length == 0) {
promptAction.showToast({
message: '请至少选择一条单据'
})
} else if (this.dataSource.filter(i => i.wczt == '未完成').length > 0) {
promptAction.showToast({
message: '请选择已完成的单据'
})
} else {
// if (this.exportDialogController != undefined) {
// this.exportDialogController.open()
// }
}
}).fontColor("#0fa983") .fontSize("14vp")
Button("全选")
.bottomBtnSty().fontColor("#0fa983") .fontSize("14vp")
.onClick(() => {
this.checkedList = this.dataSource.map((item) => item.guid)
})
Button("清空选择")
.bottomBtnSty()
.onClick(() => {
this.checkedList = []
}).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')
Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
TabContent() {
// Column().width('100%').height('100%').backgroundColor('#00CB87')
}.tabBar(this.TabBuilder(0, '未完成'))
TabContent() {
// Column().width('100%').height('100%').backgroundColor('#007DFF')
}.tabBar(this.TabBuilder(1, '已完成'))
}
.height(80)
.margin({top:-15})
.onChange((index: number) => {
this.currentIndex = index
this.getWzcrkList()
})
// 列表
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/WzReversePage/WzReverseDetailPage/WzReverseDetailPage', params: {
wzcrk: item
} },)
})
})
}.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
...@@ -7,12 +7,18 @@ ...@@ -7,12 +7,18 @@
"pages/metailmange/WzInPage/WzInPage", "pages/metailmange/WzInPage/WzInPage",
"pages/metailmange/WzOutPage/WzOutPage", "pages/metailmange/WzOutPage/WzOutPage",
"pages/metailmange/WzExchangePage", "pages/metailmange/WzExchangePage",
"pages/metailmange/WzExchangePage/WzExchangeDetailPage/WzExchangeDetailPage",
"pages/metailmange/WzExchangePage/WzExchangePage",
"pages/metailmange/WzConversionPage", "pages/metailmange/WzConversionPage",
"pages/metailmange/WzInvPage", "pages/metailmange/WzInvPage",
"pages/metailmange/WzInvPage/WzInvPage",
"pages/metailmange/WzInvPage/WzInvDetail/WzInvDetail",
"pages/metailmange/WzInPage/WzInPage", "pages/metailmange/WzInPage/WzInPage",
"pages/metailmange/WzInPage/WzinDetail/WzinDetail", "pages/metailmange/WzInPage/WzinDetail/WzinDetail",
"pages/metailmange/WzPositionPage", "pages/metailmange/WzPositionPage",
"pages/metailmange/WzReversePage", "pages/metailmange/WzReversePage",
"pages/metailmange/WzReversePage/WzReverseDetailPage/WzReverseDetailPage",
"pages/metailmange/WzReversePage/WzReversePage",
"pages/metailmange/AddConversionPage", "pages/metailmange/AddConversionPage",
"pages/metailmange/AddTemporaryInPage", "pages/metailmange/AddTemporaryInPage",
"pages/metailmange/AddTemporaryOutPage", "pages/metailmange/AddTemporaryOutPage",
......
...@@ -91,17 +91,17 @@ export struct MaterialManagement { ...@@ -91,17 +91,17 @@ export struct MaterialManagement {
break; break;
case "exchange": case "exchange":
router.pushUrl({ router.pushUrl({
url: "pages/metailmange/WzExchangePage", url: "pages/metailmange/WzExchangePage/WzExchangePage",
}) })
break; break;
case "reverse": case "reverse":
router.pushUrl({ router.pushUrl({
url: "pages/metailmange/WzReversePage", url: "pages/metailmange/WzReversePage/WzReversePage",
}) })
break; break;
case "inv": case "inv":
router.pushUrl({ router.pushUrl({
url: "pages/metailmange/WzInvPage", url: "pages/metailmange/WzInvPage/WzInvPage",
}) })
break; break;
case "conversion": case "conversion":
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论