Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jump_hm_warehouse
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
毛勇泽
jump_hm_warehouse
Commits
0fdb8f62
Commit
0fdb8f62
authored
Jan 23, 2024
by
毛勇泽
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
a406ccaa
fef13132
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
26 个修改的文件
包含
497 行增加
和
504 行删除
+497
-504
BaseTable.ets
common/src/main/ets/db/BaseTable.ets
+28
-12
WzcrkDao.ets
common/src/main/ets/db/dao/WzcrkDao.ets
+12
-12
WzcrkmxDao.ets
common/src/main/ets/db/dao/WzcrkmxDao.ets
+35
-11
NativeSql.ets
common/src/main/ets/db/sql/NativeSql.ets
+1
-1
Wzcrkmx.ts
common/src/main/ets/entity/Wzcrkmx.ts
+0
-5
WzcrkModel.ets
entry/src/main/ets/model/WzcrkModel.ets
+5
-0
WzcrkmxModel.ets
entry/src/main/ets/model/WzcrkmxModel.ets
+2
-1
Wzcrk.api.ts
entry/src/main/ets/pages/metailmange/Common/Wzcrk.api.ts
+0
-0
Wzcrk.data.ets
entry/src/main/ets/pages/metailmange/Common/Wzcrk.data.ets
+48
-39
WzcrkList.ets
entry/src/main/ets/pages/metailmange/Common/WzcrkList.ets
+3
-3
WzInPage.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzInPage.ets
+31
-26
AddWzin.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/AddWzin.ets
+199
-63
LeftDialog.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/LeftDialog.ets
+1
-1
PzInfo.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/PzInfo.ets
+35
-26
PzInfo2.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/PzInfo2.ets
+0
-131
WzInfo.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzInfo.ets
+2
-2
WzList.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzList.ets
+1
-1
WzinDetail.ets
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzinDetail.ets
+56
-18
WzOutPage.ets
entry/src/main/ets/pages/metailmange/WzOutPage.ets
+0
-137
WzOutPage.ets
entry/src/main/ets/pages/metailmange/WzOutPage/WzOutPage.ets
+0
-0
WzStatus.ets
entry/src/main/ets/pages/metailmange/WzStatus.ets
+1
-1
Pick.ets
entry/src/main/ets/pages/package/Pick.ets
+31
-8
ExportOrderDialog.ets
entry/src/main/ets/view/ExportOrderDialog/ExportOrderDialog.ets
+2
-2
SetStatusDialog.ets
entry/src/main/ets/view/SetStatusDialog/SetStatusDialog.ets
+2
-2
main_pages.json
entry/src/main/resources/base/profile/main_pages.json
+1
-1
MaterialManagement.ets
features/MaterialManagement/src/main/ets/components/MaterialManagement.ets
+1
-1
没有找到文件。
common/src/main/ets/db/BaseTable.ets
View file @
0fdb8f62
...
@@ -31,9 +31,9 @@ export default abstract class BaseTable<T> implements ITable {
...
@@ -31,9 +31,9 @@ export default abstract class BaseTable<T> implements ITable {
name: this.dbName,
name: this.dbName,
securityLevel: rdb.SecurityLevel.S4
securityLevel: rdb.SecurityLevel.S4
})
})
Logger.info(this,"开始执行====")
Logger.info(this,
"开始执行====")
await this.init(db);
await this.init(db);
Logger.info(this,"结束执行====")
Logger.info(this,
"结束执行====")
return db;
return db;
}
}
...
@@ -80,6 +80,9 @@ export default abstract class BaseTable<T> implements ITable {
...
@@ -80,6 +80,9 @@ export default abstract class BaseTable<T> implements ITable {
}
}
/**
* 更新数据的bucket
*/
toBuckets(bucket: ValuesBucket, item: T): ValuesBucket {
toBuckets(bucket: ValuesBucket, item: T): ValuesBucket {
this.getTableColumns().forEach((col) => {
this.getTableColumns().forEach((col) => {
bucket[col] = item[col]
bucket[col] = item[col]
...
@@ -163,6 +166,10 @@ export default abstract class BaseTable<T> implements ITable {
...
@@ -163,6 +166,10 @@ export default abstract class BaseTable<T> implements ITable {
return db.delete(predicates);
return db.delete(predicates);
}
}
/**
* 根据主键批量删除
* @param items 主键集合
*/
async deleteItems(...items: T[]): Promise<number[]> {
async deleteItems(...items: T[]): Promise<number[]> {
if (!items) {
if (!items) {
return [];
return [];
...
@@ -175,17 +182,27 @@ export default abstract class BaseTable<T> implements ITable {
...
@@ -175,17 +182,27 @@ export default abstract class BaseTable<T> implements ITable {
return results;
return results;
}
}
/**
* 更新对象
* @param item 要更新的对象
* @param predicates 默认不填,根据主键更新,否则依据[predicates]更新
*/
async update(item: T, predicates?: rdb.RdbPredicates): Promise<number> {
async update(item: T, predicates?: rdb.RdbPredicates): Promise<number> {
let bucket = {};
try{
Logger.info(this, '更新数据,item=' + JSON.stringify(item));
let bucket = {};
this.toUpdateBucket(bucket, item);
Logger.info(this, '更新数据,item=' + JSON.stringify(item));
Logger.info(this, '更新数据,bucket=' + JSON.stringify(bucket));
this.toUpdateBucket(bucket, item);
bucket[this.getColumnId()] = undefined;
Logger.info(this, '更新数据,bucket=' + JSON.stringify(bucket));
let db = await this.futureDb;
bucket[this.getColumnId()] = undefined;
if (!predicates) {
let db = await this.futureDb;
predicates = this.getPredicates().equalTo(this.getColumnId(), this.getEntityId(item));
if (!predicates) {
predicates = this.getPredicates().equalTo(this.getColumnId(), this.getEntityId(item));
}
return db.update(bucket, predicates);
}catch (e){
throw new Error('[数据更新失败]|异常信息>>' + e)
}
}
return db.update(bucket, predicates);
}
}
async updateData(bucket: ValuesBucket, predicates?: rdb.RdbPredicates): Promise<number> {
async updateData(bucket: ValuesBucket, predicates?: rdb.RdbPredicates): Promise<number> {
...
@@ -224,7 +241,6 @@ export default abstract class BaseTable<T> implements ITable {
...
@@ -224,7 +241,6 @@ export default abstract class BaseTable<T> implements ITable {
}
}
/**
/**
* 创建表的SQL语句
* 创建表的SQL语句
*/
*/
...
...
common/src/main/ets/db/dao/WzcrkDao.ets
View file @
0fdb8f62
...
@@ -124,19 +124,19 @@ export class WzcrkDao extends BaseTable<Wzcrk> {
...
@@ -124,19 +124,19 @@ export class WzcrkDao extends BaseTable<Wzcrk> {
async getWzcrk(data: Partial<Wzcrk>): Promise<Wzcrk[]> {
async getWzcrk(data: Partial<Wzcrk>): Promise<Wzcrk[]> {
let wp = this.getPredicates();
let wp = this.getPredicates();
// if (pzh) {
if (data.pzh) {
// wp.equalTo('PZH', pzh)
wp.like('PZH', '%' + data.pzh + '%')
// }
}
// if (wczt) {
if (data.wczt) {
// wp.equalTo('WCZT', wczt)
wp.equalTo('WCZT', data.wczt)
// }
}
// wp.equalTo('CRKLX', crklx)
if (data.pzlx) {
// wp.orderByAsc('PZH');
wp.equalTo('PZLX', data.pzlx)
for (const [key, value] of Object.entries(data)) {
}
if (value) {
if (data.sjlx) {
wp.equalTo(key, value)
wp.equalTo('SJLX', data.sjlx)
}
}
}
wp.orderByAsc('PZH');
return this.query(wp, this.getTableColumns());
return this.query(wp, this.getTableColumns());
}
}
...
...
common/src/main/ets/db/dao/WzcrkmxDao.ets
View file @
0fdb8f62
...
@@ -14,14 +14,14 @@ import { WzcrkMxRefWzDto } from '../../bean/dto/WzcrkMxRefWzDto';
...
@@ -14,14 +14,14 @@ import { WzcrkMxRefWzDto } from '../../bean/dto/WzcrkMxRefWzDto';
export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
toBean(cursor: relationalStore.ResultSet): Wzcrkmx {
toBean(cursor: relationalStore.ResultSet): Wzcrkmx {
let info: Wzcrkmx = {
let info: Wzcrkmx = {
guid: cursor.getString(cursor.getColumnIndex('
guid
')),
guid: cursor.getString(cursor.getColumnIndex('
GUID
')),
gznd: cursor.getString(cursor.getColumnIndex('
gznd
')),
gznd: cursor.getString(cursor.getColumnIndex('
GZND
')),
pmdmcode: cursor.getString(cursor.getColumnIndex('
pmdmcode
')),
pmdmcode: cursor.getString(cursor.getColumnIndex('
PMDMCODE
')),
pzsl: cursor.getLong(cursor.getColumnIndex('
pzsl
')),
pzsl: cursor.getLong(cursor.getColumnIndex('
PZSL
')),
crksl: cursor.getLong(cursor.getColumnIndex('
crksl
')),
crksl: cursor.getLong(cursor.getColumnIndex('
CRKSL
')),
wzcrkguid: cursor.getString(cursor.getColumnIndex('
wzcrkguid
')),
wzcrkguid: cursor.getString(cursor.getColumnIndex('
WZCRKGUID
')),
hwh: cursor.getString(cursor.getColumnIndex('
hwh
')),
hwh: cursor.getString(cursor.getColumnIndex('
HWH
')),
pzmxguid: cursor.getString(cursor.getColumnIndex('
pzmxguid
'))
pzmxguid: cursor.getString(cursor.getColumnIndex('
PZMXGUID
'))
};
};
return info;
return info;
}
}
...
@@ -31,7 +31,7 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
...
@@ -31,7 +31,7 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
}
}
getColumnId(): string {
getColumnId(): string {
return "
guid
";
return "
GUID
";
}
}
getTableColumns(): string[] {
getTableColumns(): string[] {
...
@@ -138,16 +138,40 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
...
@@ -138,16 +138,40 @@ export class WzcrkmxDao extends BaseTable<Wzcrkmx> {
return this.updateData(valueBucket, wp)
return this.updateData(valueBucket, wp)
}
}
/**
* 更新出入库明细
*/
async updateCrkMx1(item: Wzcrkmx): Promise<number> {
Logger.info(this, '更新数据' + JSON.stringify(item))
return this.update(item)
}
/**
/**
* 更新单据状态
* 更新单据状态
*/
*/
async updateWcztmxByData(guid: string, data: Partial<Wzcrkmx>): Promise<number> {
async updateWcztmxByData(guid: string, data: Partial<Wzcrkmx>): Promise<number> {
// const valueBucket = {};
// for (const [key, value] of Object.entries(data)) {
// valueBucket[key] = value
// }
// valueBucket[this.getColumnId()] = undefined;
// Logger.error(this, '更新的BUCKET' + JSON.stringify(valueBucket));
// let wp = this.getPredicates()
// wp.equalTo('guid', data.guid);
// return this.updateData(valueBucket, wp);
//return db.update(valueBucket,wp);
// return this.update(data as Wzcrkmx)
const valueBucket = {
const valueBucket = {
// "wczt": wczt
};
};
for (const [key, value] of Object.entries(data)) {
for (const [key, value] of Object.entries(data)) {
valueBucket[key] = value
if(value) {
valueBucket[key] = value
}
}
}
let wp = this.getPredicates()
let wp = this.getPredicates()
wp.equalTo('guid', guid)
wp.equalTo('guid', guid)
return this.updateData(valueBucket, wp)
return this.updateData(valueBucket, wp)
...
...
common/src/main/ets/db/sql/NativeSql.ets
View file @
0fdb8f62
...
@@ -6,7 +6,7 @@ export class NativeSql {
...
@@ -6,7 +6,7 @@ export class NativeSql {
*/
*/
static getSqlByCrkmx(wzcrkguid: string, wzpm?: string): string {
static getSqlByCrkmx(wzcrkguid: string, wzpm?: string): string {
let sql_val = `SELECT
let sql_val = `SELECT
s2.guid, s2.xh, s2.hxmc,
s2.pmdmsix,s2.pmdmten, s2.wzpm, s1.pzmxguid,
s2.guid, s2.xh, s2.hxmc, s2.pmdmsix,s2.pmdmten, s2.wzpm, s1.pzmxguid,
s1.wzcrkguid,s1.pzsl,s1.hwh,s1.crksl FROM TAB_BZGL_KNZY_APP_WZCRKMX s1
s1.wzcrkguid,s1.pzsl,s1.hwh,s1.crksl FROM TAB_BZGL_KNZY_APP_WZCRKMX s1
LEFT JOIN TAB_XTWH_JCSJ_BZHX s2 on s1.PMDMCODE = s2.PMDMTEN where s1.WZCRKGUID='${wzcrkguid}'`;
LEFT JOIN TAB_XTWH_JCSJ_BZHX s2 on s1.PMDMCODE = s2.PMDMTEN where s1.WZCRKGUID='${wzcrkguid}'`;
if (wzpm) {
if (wzpm) {
...
...
common/src/main/ets/entity/Wzcrkmx.ts
View file @
0fdb8f62
...
@@ -28,8 +28,4 @@ export interface Wzcrkmx {
...
@@ -28,8 +28,4 @@ export interface Wzcrkmx {
* 凭证明细的guid
* 凭证明细的guid
*/
*/
pzmxguid
:
string
pzmxguid
:
string
/**
* 临时码
*/
wzdm
?:
string
}
}
\ No newline at end of file
entry/src/main/ets/model/WzcrkModel.ets
View file @
0fdb8f62
...
@@ -43,6 +43,11 @@ class WzcrkModel {
...
@@ -43,6 +43,11 @@ class WzcrkModel {
// await SQLiteContext.with(WzcrkDao).batchInsert(data)
// await SQLiteContext.with(WzcrkDao).batchInsert(data)
}
}
// 添加一个
async setOne(data: Wzcrk) {
await SQLiteContext.with(WzcrkDao).insert(data)
}
// 查询
// 查询
async query(data: Partial<Wzcrk>): Promise<Wzcrk[]> {
async query(data: Partial<Wzcrk>): Promise<Wzcrk[]> {
let res = await SQLiteContext.with(WzcrkDao).getWzcrk(data)
let res = await SQLiteContext.with(WzcrkDao).getWzcrk(data)
...
...
entry/src/main/ets/model/WzcrkmxModel.ets
View file @
0fdb8f62
...
@@ -27,10 +27,11 @@ class WzcrkmxModel {
...
@@ -27,10 +27,11 @@ class WzcrkmxModel {
return res;
return res;
}
}
// 更新单据信息
// 更新单据信息
async updateWcztmxByData(guid:
string,
data: Partial<Wzcrkmx>):Promise<number> {
async updateWcztmxByData(guid:
string,
data: Partial<Wzcrkmx>):Promise<number> {
let res = await SQLiteContext.with(WzcrkmxDao).updateWcztmxByData(guid, data)
let res = await SQLiteContext.with(WzcrkmxDao).updateWcztmxByData(guid, data)
return res;
return res;
}
}
// 清空表
// 清空表
async clear() {
async clear() {
await SQLiteContext.with(WzcrkmxDao).clearTable()
await SQLiteContext.with(WzcrkmxDao).clearTable()
...
...
entry/src/main/ets/pages/metailmange/
WzInPage/wzIn
.api.ts
→
entry/src/main/ets/pages/metailmange/
Common/Wzcrk
.api.ts
View file @
0fdb8f62
File moved
entry/src/main/ets/pages/metailmange/
WzInPage/Wzin
.data.ets
→
entry/src/main/ets/pages/metailmange/
Common/Wzcrk
.data.ets
View file @
0fdb8f62
import { pzlx_dict, szlx_dict,new_zmlx_dict, Logger } from '@ohos/common'
import { pzlx_dict, szlx_dict, new_zmlx_dict, Logger } from '@ohos/common'
import wzcrkModel from '../../../model/WzcrkModel'
@Observed
@Observed
export class Wz
in
Class {
export class WzClass {
guid?: string
guid?: string
/**
/**
* 工作年度
* 工作年度
...
@@ -126,31 +129,31 @@ export class WzinClass {
...
@@ -126,31 +129,31 @@ export class WzinClass {
pzsl?: number;
pzsl?: number;
crksl?: number;
crksl?: number;
}) {
}) {
this.guid = data.guid;
this.guid = data.guid
|| ''
;
this.gznd = data.gznd;
this.gznd = data.gznd
|| ''
;
this.crkrq = data.crkrq;
this.crkrq = data.crkrq
|| ''
;
this.ckdwguid = data.ckdwguid;
this.ckdwguid = data.ckdwguid
|| ''
;
this.czr = data.czr;
this.czr = data.czr
|| ''
;
this.qrzt = data.qrzt;
this.qrzt = data.qrzt
|| ''
;
this.crklx = data.crklx;
this.crklx = data.crklx
|| ''
;
this.pzzbguid = data.pzzbguid;
this.pzzbguid = data.pzzbguid
|| ''
;
this.pzlx = data.pzlx;
this.pzlx = data.pzlx
|| ''
;
this.pzh = data.pzh;
this.pzh = data.pzh
|| 0
;
this.sjlx = data.sjlx;
this.sjlx = data.sjlx
|| ''
;
this.pzszlx = data.pzszlx;
this.pzszlx = data.pzszlx
|| ''
;
this.sfdw = data.sfdw;
this.sfdw = data.sfdw
|| ''
;
this.wczt = data.wczt;
this.wczt = data.wczt
|| ''
;
this.kfdm = data.kfdm;
this.kfdm = data.kfdm
|| ''
;
this.rkkfdm = data.rkkfdm;
this.rkkfdm = data.rkkfdm
|| ''
;
this.pzsl = data.pzsl;
this.pzsl = data.pzsl
|| 0
;
this.crksl = data.crksl;
this.crksl = data.crksl
|| 0
;
this.ydh = data.ydh;
this.ydh = data.ydh
|| ''
;
this.fwgldwdm = data.fwgldwdm;
this.fwgldwdm = data.fwgldwdm
|| ''
;
this.swgldwdm = data.swgldwdm;
this.swgldwdm = data.swgldwdm
|| ''
;
this.kfguid = data.kfguid;
this.kfguid = data.kfguid
|| ''
;
this.zmlx = data.zmlx;
this.zmlx = data.zmlx
|| ''
;
this.bdguid = data.bdguid;
this.bdguid = data.bdguid
|| ''
;
this.dec = data.dec;
this.dec = data.dec
|| ''
;
}
}
}
}
...
@@ -190,23 +193,23 @@ export class WzmxClass {
...
@@ -190,23 +193,23 @@ export class WzmxClass {
/**
/**
* 号型名称
* 号型名称
*/
*/
hxmc:string
hxmc:
string
/**
/**
* 型号
* 型号
*/
*/
xh:string
xh:
string
/**
/**
* 物资品名
* 物资品名
*/
*/
wzpm:string
wzpm:
string
/**
/**
* 六位品名代码
* 六位品名代码
*/
*/
pmdmSix:string
pmdmSix:
string
/**
/**
*
物资
状态
*
完成
状态
*/
*/
wczt:string
wczt:
string
constructor(data: {
constructor(data: {
guid?: string,
guid?: string,
...
@@ -217,11 +220,11 @@ export class WzmxClass {
...
@@ -217,11 +220,11 @@ export class WzmxClass {
wzcrkguid: string,
wzcrkguid: string,
hwh: string,
hwh: string,
pzmxguid: string,
pzmxguid: string,
hxmc:string,
hxmc:
string,
xh:string,
xh:
string,
wzpm:string,
wzpm:
string,
pmdmSix:string,
pmdmSix:
string,
wczt:string
wczt:
string
}) {
}) {
this.guid = data.guid;
this.guid = data.guid;
// this.gznd = data.gznd;
// this.gznd = data.gznd;
...
@@ -252,8 +255,13 @@ export function renderSzlx(szlx) {
...
@@ -252,8 +255,13 @@ export function renderSzlx(szlx) {
return res ? res.text : ''
return res ? res.text : ''
}
}
// 账目类型
// 账目类型
export function
renderZmlx(zmlx) {
export function renderZmlx(zmlx) {
Logger.info('szlx>>', zmlx)
Logger.info('szlx>>', zmlx)
const res = new_zmlx_dict.find(v => v.value == zmlx)
const res = new_zmlx_dict.find(v => v.value == zmlx)
return res ? res.text : ''
return res ? res.text : ''
}
export async function getDefaultPzh(pzlx: string) {
const res = await wzcrkModel.query({ sjlx: '新建', pzlx })
return res.length + 1
}
}
\ No newline at end of file
entry/src/main/ets/pages/metailmange/
WzInPage/WzIn
List.ets
→
entry/src/main/ets/pages/metailmange/
Common/Wzcrk
List.ets
View file @
0fdb8f62
import { Wz
inClass,renderPzlx } from './Wzin
.data'
import { Wz
Class,renderPzlx } from './Wzcrk
.data'
@Component
@Component
export struct Wz
In
List {
export struct WzList {
@ObjectLink item: Wz
in
Class
@ObjectLink item: WzClass
@Link checkedList: Array<string>
@Link checkedList: Array<string>
build() {
build() {
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzInPage.ets
View file @
0fdb8f62
import { TitleBar } from '../../../view/title/TitleBar'
import { TitleBar } from '../../../view/title/TitleBar'
import router from '@ohos.router';
import router from '@ohos.router';
import { Wz
InList } from './WzIn
List';
import { Wz
List } from '../Common/Wzcrk
List';
import wzcrkModel from '../../../model/WzcrkModel';
import wzcrkModel from '../../../model/WzcrkModel';
import { Logger } from '@ohos/common/src/main/ets/utils/Logger';
import { Logger } from '@ohos/common/src/main/ets/utils/Logger';
import { Wz
inClass } from './Wzin
.data'
import { Wz
Class, getDefaultPzh } from '../Common/Wzcrk
.data'
import promptAction from '@ohos.promptAction';
import promptAction from '@ohos.promptAction';
import { SetStatusDialog } from '../../../view/SetStatusDialog/SetStatusDialog';
import { SetStatusDialog } from '../../../view/SetStatusDialog/SetStatusDialog';
import { ExportOrderDialog } from '../../../view/ExportOrderDialog/ExportOrderDialog';
import { ExportOrderDialog } from '../../../view/ExportOrderDialog/ExportOrderDialog';
import ViewdrdcModel from '../../../model/ViewdrdcModel';
import ViewdrdcModel from '../../../model/ViewdrdcModel';
import { ViewdrdcDao } from '@ohos/common/src/main/ets/db/dao/ViewdrdcDao';
import { importData } from '../Common/Wzcrk.api';
import defHttp from '@ohos/common/src/main/ets/utils/HttpUtil';
import { dateUtils } from '@ohos/common/src/main/ets/utils/util';
import { importData } from './wzIn.api';
@Extend(Button) function bottomBtnSty() {
@Extend(Button) function bottomBtnSty() {
.borderWidth(1)
.borderWidth(1)
...
@@ -34,7 +33,7 @@ export struct WzInPage {
...
@@ -34,7 +33,7 @@ export struct WzInPage {
@State fontColor: string = '#182431'
@State fontColor: string = '#182431'
@State selectedFontColor: string = '#fff'
@State selectedFontColor: string = '#fff'
@State currentIndex: number = 0
@State currentIndex: number = 0
@State dataSource: Wz
in
Class[] = []
@State dataSource: WzClass[] = []
@State checkedList: Array<string> = []
@State checkedList: Array<string> = []
@State radioChecked: boolean = true
@State radioChecked: boolean = true
@State searchData: SearchData = {
@State searchData: SearchData = {
...
@@ -69,11 +68,11 @@ export struct WzInPage {
...
@@ -69,11 +68,11 @@ export struct WzInPage {
async getWzcrkList(qzh?: number, wczt?: string) {
async getWzcrkList(qzh?: number, wczt?: string) {
Logger.info('出入库传入参数>>:', JSON.stringify(this.searchData))
Logger.info('出入库传入参数>>:', JSON.stringify(this.searchData))
this.dataSource = []
this.dataSource = []
const res = await wzcrkModel.query({
crklx: "2", pzh: Number(this.searchData.pzh)
, wczt: this.searchData.wczt, sjlx: this.currentIndex === 0 ? "导入" : "临时收物" })
const res = await wzcrkModel.query({
pzlx: "14", pzh: Number(this.searchData.pzh)
, wczt: this.searchData.wczt, sjlx: this.currentIndex === 0 ? "导入" : "临时收物" })
Logger.info('出入库数据>>:', JSON.stringify(res))
Logger.info('出入库数据>>:', JSON.stringify(res))
Logger.info('出入库数据长度>>:', JSON.stringify(res.length))
Logger.info('出入库数据长度>>:', JSON.stringify(res.length))
res.forEach(element => {
res.forEach(element => {
this.dataSource.push(new Wz
in
Class(element))
this.dataSource.push(new WzClass(element))
});
});
Logger.info('数量是' + JSON.stringify(this.dataSource))
Logger.info('数量是' + JSON.stringify(this.dataSource))
}
}
...
@@ -84,7 +83,7 @@ export struct WzInPage {
...
@@ -84,7 +83,7 @@ export struct WzInPage {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
Text('完成').margin({ left: 20 })
Text('完成').margin({ left: 20 })
Radio({ value: 'Radio1', group: 'radioGroup' })
Radio({ value: 'Radio1', group: 'radioGroup' })
.checked(t
his.radioChecked
)
.checked(t
rue
)
.onChange((isChecked: boolean) => {
.onChange((isChecked: boolean) => {
this.radioChecked = isChecked
this.radioChecked = isChecked
}).margin({ right: 20 })
}).margin({ right: 20 })
...
@@ -95,7 +94,7 @@ export struct WzInPage {
...
@@ -95,7 +94,7 @@ export struct WzInPage {
Row() {
Row() {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
Text('未完成').margin({ left: 20 })
Text('未完成').margin({ left: 20 })
Radio({ value: 'Radio
1
', group: 'radioGroup' })
Radio({ value: 'Radio
2
', group: 'radioGroup' })
.onChange((isChecked: boolean) => {
.onChange((isChecked: boolean) => {
}).margin({ right: 20 })
}).margin({ right: 20 })
}
}
...
@@ -132,9 +131,8 @@ export struct WzInPage {
...
@@ -132,9 +131,8 @@ export struct WzInPage {
onSubmit() {
onSubmit() {
try{
try{
this.checkedList.forEach(async (element)=>{
this.checkedList.forEach(async (element)=>{
let num = await wzcrkModel.updateWzcrkWczt(element, this.radioChecked ? '已完成' : '未完成')
let num = await wzcrkModel.updateWzcrkWczt(element, (this.radioChecked == undefined || this.radioChecked ? '已完成' : '未完成'))
if(num){
if(num) {
Logger.info("删除的数据是:" + JSON.stringify(this.dataSource))
this.dataSource.splice(this.dataSource.findIndex(i => i.guid == element), 1)
this.dataSource.splice(this.dataSource.findIndex(i => i.guid == element), 1)
}
}
})
})
...
@@ -166,10 +164,9 @@ export struct WzInPage {
...
@@ -166,10 +164,9 @@ export struct WzInPage {
this.checkedList.forEach(async element => {
this.checkedList.forEach(async element => {
let res = await ViewdrdcModel.queryExport({guid: element, wczt: '已完成', pzlx: '14'})
let res = await ViewdrdcModel.queryExport({guid: element, wczt: '已完成', pzlx: '14'})
const jhguidArr = res.map((item) => item.guid)
const jhguidArr = res.map((item) => item.guid)
Logger.info('导出数据0:', JSON.stringify(jhguidArr))
if (jhguidArr && jhguidArr.length > 0) {
if (jhguidArr && jhguidArr.length > 0) {
const date = dateUtils.formatDateTime(new Date(), 'before')
const newArr = [...new Set(jhguidArr)]
const newArr = [...new Set(jhguidArr)]
Logger.info('导出数据1:', JSON.stringify(newArr))
const exportData = newArr.map((item) => {
const exportData = newArr.map((item) => {
let newObj = {}
let newObj = {}
let ItemData = []
let ItemData = []
...
@@ -185,38 +182,43 @@ export struct WzInPage {
...
@@ -185,38 +182,43 @@ export struct WzInPage {
})
})
}
}
})
})
Logger.info('导出数据2:', JSON.stringify(ItemData))
const [filterData] = res.filter((fItem) => fItem
const [filterData] = res.filter((fItem) => fItem
.guid == item)
.guid == item)
Logger.info('>>>>>>>kkkll:' + JSON.stringify(filterData))
if (filterData) {
if (filterData) {
newObj = {
newObj = {
cbdwdm: filterData.ckdwguid,
cbdwdm: filterData.ckdwguid,
ckkfdm: filterData.kfdm,
ckkfdm: filterData.kfdm,
...filterData,
...filterData,
crksl: ItemData.map(i => i.sjsl).reduce((a, b) => {
return a + b
},0),
scjid: "863576927543400,863576927543400",
scjid: "863576927543400,863576927543400",
cjmc: "普华",
cjmc: "普华",
imei: "863576927543400,863576927543400",
imei: "863576927543400,863576927543400",
model: "ax6737_65_n",
model: "ax6737_65_n",
vendor: "alps",
vendor: "alps",
dcsj:
"2024年01月20日"
,
dcsj:
date
,
pzmx: ItemData
pzmx: ItemData
}
}
}
}
return newObj
return newObj
})
})
Logger.info('导出数据3:', JSON.stringify(exportData))
const exportForm = {
const kkkk = {
pzzbJson: exportData,
pzzbJson: exportData,
crklx: '11111CRKLX2',
crklx: '11111CRKLX2',
gznd: '2023',
gznd: '2023',
jsdwguid: 1,
jsdwguid: 1,
}
}
await importData(
kkkk
)
await importData(
exportForm
)
}
}
})
})
promptAction.showToast({
promptAction.showDialog({
message: '导出'
title: '提示',
message: '入库作业单据已同步至业务系统,请以保管员身份登录业务系统,在菜单“作业项目--物资入库”里刷新查看。',
buttons: [{
text: '已知晓',
color: '#0fa983',
}],
})
})
}
}
...
@@ -245,9 +247,12 @@ export struct WzInPage {
...
@@ -245,9 +247,12 @@ export struct WzInPage {
Button("临时收物")
Button("临时收物")
.visibility(this.currentIndex === 1 ? Visibility.Visible : Visibility.None)
.visibility(this.currentIndex === 1 ? Visibility.Visible : Visibility.None)
.bottomBtnSty()
.bottomBtnSty()
.onClick(() => {
.onClick(async () => {
// 获取凭证号
const pzh = await getDefaultPzh('14')
router.pushUrl({
router.pushUrl({
url: "pages/metailmange/AddTemporaryInPage",
url: "pages/metailmange/WzInPage/WzinDetail/WzinDetail",
params: { isUpdate: false, wzcrk: { pzlx: '14', pzszlx: "DR", pzh,crklx: '2', wczt:"未完成" } }
})
})
})
})
.fontColor("#0fa983")
.fontColor("#0fa983")
...
@@ -391,7 +396,7 @@ export struct WzInPage {
...
@@ -391,7 +396,7 @@ export struct WzInPage {
List({ space: 2 }) {
List({ space: 2 }) {
ForEach(this.dataSource, (item) => {
ForEach(this.dataSource, (item) => {
ListItem() {
ListItem() {
Wz
In
List({ item, checkedList: $checkedList }).width('100%').backgroundColor('#fff')
WzList({ item, checkedList: $checkedList }).width('100%').backgroundColor('#fff')
}.onClick(() => {
}.onClick(() => {
router.pushUrl({ url: 'pages/metailmange/WzInPage/WzinDetail/WzinDetail', params: {
router.pushUrl({ url: 'pages/metailmange/WzInPage/WzinDetail/WzinDetail', params: {
wzcrk: item
wzcrk: item
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/AddWzin.ets
View file @
0fdb8f62
import { zmlx_dict } from '@ohos/common/src/main/ets/utils/dict'
import gldwModel from '../../../../model/GldwModel'
import gldwModel from '../../../../model/GldwModel'
import hwModel from '../../../../model/HwModel'
import kfModel from '../../../../model/KfModel'
import kfModel from '../../../../model/KfModel'
import { renderPzlx, renderSzlx, renderZmlx, WzinClass } from '../Wzin.data'
import { renderPzlx, renderSzlx, WzClass } from '../../Common/Wzcrk.data'
import promptAction from '@ohos.promptAction'
@Observed
class Options {
value: string
id: string | number
constructor(value, id) {
this.value = value
this.id = id
}
}
@Observed
class Form {
title: string
key: string
enabled: boolean
required: boolean
type: 'input' | 'select'
options?: Options[]
constructor(data: {
title: string
key: string
enabled: boolean
type: 'input' | 'select',
required: boolean,
options?: Options[]
}) {
this.title = data.title
this.key = data.key
this.enabled = data.enabled
this.type = data.type
this.required = data.required || false
this.options = data.options
}
}
@Entry
@Component
@Component
// 物资信息
// 物资信息
export struct PzInfo {
export struct AddWzin {
// @State kfmc: string = ''
@ObjectLink wzcrk: WzClass
// @State fwgldw: string = ''
@State form: Form[] = []
// @State swgldw: string = ''
arr = [{ title: "凭证类型", key: 'pzlx', enabled: false, type: 'input' },
arr = [{ title: "凭证类型", key: 'pzlx', enabled: false, type: 'input' },
{ title: "凭证号", key: 'pzh', enabled: false, type: 'input' },
{ title: "凭证号", key: 'pzh', enabled: false, type: 'input' },
{ title: "收支类型", key: 'pzszlx', enabled: false, type: 'input' },
{ title: "收支类型", key: 'pzszlx', enabled: false, type: 'input' },
{ title: "库房", key: 'kfguid', enabled: true, type: 'select', options:[] },
{
{ title: "货位号", key: 'hwh', enabled: true, type: 'select' },
title: "库房",
key: 'kfguid',
enabled: true,
type: 'select',
options: [],
required: true
},
{
title: "货位号",
key: 'hwh',
enabled: true,
type: 'select',
options: [],
required: true
},
{ title: "运单号", key: 'ydh', enabled: true, type: 'input' },
{ title: "运单号", key: 'ydh', enabled: true, type: 'input' },
{ title: "发物管理单位", key: 'fwgldwdm', enabled: false, type: 'select' },
{
{ title: "收物管理单位", key: 'swgldwdm', enabled: false, type: 'select' },
title: "发物管理单位",
{ title: "账目类型", key: 'zmlx', enabled: false, type: 'select'},
key: 'fwgldwdm',
enabled: false,
type: 'select',
options: [],
required: true
},
{
title: "收物管理单位",
key: 'swgldwdm',
enabled: false,
type: 'select',
options: [],
required: true
},
{
title: "账目类型",
key: 'zmlx',
enabled: false,
type: 'select',
options: [],
required: true
},
{ title: "备注", key: 'dec', enabled: true, type: 'input' }
{ title: "备注", key: 'dec', enabled: true, type: 'input' }
]
]
// 表单验证
validate(): boolean {
this.arr.filter(v => v.required).forEach(v => {
if (!this.wzcrk[v.key]) {
promptAction.showToast({
message: `请${v.type == 'input' ? '输入' : '选择'}${v.title}`,
bottom: 300
})
return false
}
})
return true
}
handleText(key: string): string {
switch (key) {
case 'pzlx':
return renderPzlx(this.wzcrk.pzlx)
case 'pzszlx':
return renderSzlx(this.wzcrk.pzszlx)
default:
return String(this.wzcrk[key])
}
}
aboutToAppear() {
aboutToAppear() {
this.getData()
this.getData()
}
}
async getData() {
async getData() {
// 获取库房列表
// 获取库房列表
const kfList = await kfModel.query({
})
const kfList = await kfModel.query({})
this.arr[this.arr.findIndex(v => v.key == 'kfguid')].options = kfList.map(v => {
// 获取货架列表
return {
const hwList = await hwModel.query()
value:v.kfmc,
id:v.guid
// 获取单位列表
}
const dwList = await gldwModel.queryByData({})
this.arr.forEach((i: any) => {
this.form.push(new Form(i))
})
kfList.forEach(i => {
this.form[this.form.findIndex(v => v.key == 'kfguid')]
.options
.push(new Options(i.kfmc, i.guid))
})
hwList.forEach(i => {
this.form[this.form.findIndex(v => v.key == 'hwh')]
.options
.push(new Options(i.hwh, i.hwh))
})
zmlx_dict.forEach(i => {
this.form[this.form.findIndex(v => v.key == 'zmlx')]
.options
.push(new Options(i.text, i.value))
})
dwList.forEach(i => {
this.form[this.form.findIndex(v => v.key == 'swgldwdm')]
.options
.push(new Options(i.dwfh, i.dwdm))
})
})
//
dwList.forEach(i => {
// const res1 = await gldwModel.queryByData({ dwdm: this.wzcrk.fwgldwdm })
this.form[this.form.findIndex(v => v.key == 'fwgldwdm')]
// this.fwgldw = res1[0].dwfh ?? ''
.options
//
.push(new Options(i.dwfh, i.dwdm))
// const res2 = await gldwModel.queryByData({ dwdm: this.wzcrk.swgldwdm })
})
// this.swgldw = res2[0].dwfh ?? ''
}
}
build() {
build() {
...
@@ -59,46 +186,54 @@ export struct PzInfo {
...
@@ -59,46 +186,54 @@ export struct PzInfo {
.fontSize(16)
.fontSize(16)
}.height('8%')
}.height('8%')
ForEach(this.arr, (item) => {
List() {
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
ForEach(this.form, (item) => {
Text(item.title)
ListItem() {
.fontSize(14)
Column() {
.width("30%")
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
.height(40)
if (item.required) {
.fontColor($r("app.color.item_color_black"))
Text('*').fontColor('red').margin({ right: 5 })
}
if (item.type == 'select') {
Text(item.title)
Select([])
.fontSize(14)
.value(`请选择${item.title}`)
.width("30%")
.width(230)
.height(40)
.borderWidth(1)
.fontColor($r("app.color.item_color_black"))
.borderRadius(5)
if (item.type == 'select') {
.borderColor($r("app.color.rank_secondary_border"))
Select(item.options)
.onSelect((index: number, value?: string) => {
.value(`请选择${item.title}`)
console.log("选择库房", value)
.width(230)
})
.borderWidth(1)
}
.borderRadius(5)
.borderColor($r("app.color.rank_secondary_border"))
if (item.type == 'input') {
.onSelect((index: number, value?: string) => {
TextInput({ text: "1111" })
this.wzcrk[item.key] = item.options[index].id
.enterKeyType(EnterKeyType.Search)
})
.borderColor("#454545")
}
.borderRadius(5)
.width("70%")
if (item.type == 'input') {
.height(40)
TextInput({ text: this.handleText(item.key) })
.padding(10)
.enterKeyType(EnterKeyType.Search)
.borderColor('#bcc5d7')
.borderColor("#454545")
.borderWidth(1)
.borderRadius(5)
.backgroundColor(item.enabled ? '#fff' : "app.color.disabledColor")
.width("70%")
.enabled(item.enabled)
.height(40)
.onChange((value: string) => {
.padding(10)
if (item.enabled) {
.borderColor('#bcc5d7')
// this.wzcrk[item.key] = value
.borderWidth(1)
.backgroundColor(item.enabled ? '#fff' : "app.color.disabledColor")
.enabled(item.enabled)
.onChange((value: string) => {
if (item.enabled) {
this.wzcrk[item.key] = value
}
})
}
}
})
}
}
}
}.padding("10vp")
}.padding(15)
})
})
}.margin({ bottom: 40 })
}.backgroundColor('#fff')
}.backgroundColor('#fff')
}
}
}
}
\ No newline at end of file
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/LeftDialog.ets
View file @
0fdb8f62
import { WzmxClass } from '../
Wzin
.data'
import { WzmxClass } from '../
../Common/Wzcrk
.data'
@CustomDialog
@CustomDialog
@Component
@Component
export struct LeftDialog {
export struct LeftDialog {
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/PzInfo.ets
View file @
0fdb8f62
import gldwModel from '../../../../model/GldwModel'
import gldwModel from '../../../../model/GldwModel'
import kfModel from '../../../../model/KfModel'
import kfModel from '../../../../model/KfModel'
import { renderPzlx, renderSzlx, renderZmlx, Wz
inClass } from '../Wzin
.data'
import { renderPzlx, renderSzlx, renderZmlx, Wz
Class } from '../../Common/Wzcrk
.data'
@Component
@Component
// 物资信息
// 物资信息
export struct PzInfo {
export struct PzInfo {
@State kfmc: string = ''
@State kfmc: string = ''
@State fwgldw: string = ''
@State fwgldw: string = ''
@State swgldw: string = ''
@State swgldw: string = ''
@ObjectLink wzcrk: Wz
in
Class
@ObjectLink wzcrk: WzClass
arr = [{ title: "凭证类型", key: 'pzlx', enabled: false },
arr = [{ title: "凭证类型", key: 'pzlx', enabled: false },
{ title: "凭证号", key: 'pzh', enabled: false },
{ title: "凭证号", key: 'pzh', enabled: false },
...
@@ -16,6 +16,7 @@ export struct PzInfo {
...
@@ -16,6 +16,7 @@ export struct PzInfo {
{ title: "运单号", key: 'ydh', enabled: true },
{ title: "运单号", key: 'ydh', enabled: true },
{ title: "发物管理单位", key: 'fwgldwdm', enabled: false },
{ title: "发物管理单位", key: 'fwgldwdm', enabled: false },
{ title: "收物管理单位", key: 'swgldwdm', enabled: false },
{ title: "收物管理单位", key: 'swgldwdm', enabled: false },
{ title: "账目类型", key: 'zmlx', enabled: false },
{ title: "备注", key: 'dec', enabled: true }
{ title: "备注", key: 'dec', enabled: true }
]
]
...
@@ -73,31 +74,38 @@ export struct PzInfo {
...
@@ -73,31 +74,38 @@ export struct PzInfo {
Text("凭证信息")
Text("凭证信息")
.fontSize(16)
.fontSize(16)
}.height('8%')
}.height('8%')
ForEach(this.arr,(item) => {
List(){
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
ForEach(this.arr,(item) => {
Text(item.title)
ListItem(){
.fontSize(14)
Column(){
.width("30%")
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
.height(40)
Text(item.title)
.fontColor($r("app.color.item_color_black"))
.fontSize(14)
TextInput({ text: this.handleText(item.key) })
.width("30%")
.enterKeyType(EnterKeyType.Search)
.height(40)
.borderColor("#454545")
.fontColor($r("app.color.item_color_black"))
.borderRadius(5)
TextInput({ text: this.handleText(item.key) })
.width("70%")
.enterKeyType(EnterKeyType.Search)
.height(40)
.borderColor("#454545")
.padding(10)
.borderRadius(5)
.borderColor('#bcc5d7')
.width("70%")
.borderWidth(1)
.height(40)
.backgroundColor(item.enabled ? '#fff' : "app.color.disabledColor")
.padding(10)
.enabled(item.enabled)
.borderColor('#bcc5d7')
.onChange((value: string) => {
.borderWidth(1)
if(item.enabled) {
.backgroundColor(item.enabled ? '#fff' : "app.color.disabledColor")
this.wzcrk[item.key] = value
.enabled(item.enabled)
.onChange((value: string) => {
if(item.enabled) {
this.wzcrk[item.key] = value
}
})
}
}
})
}
}.padding("10vp")
}.padding(15)
})
})
}.margin({bottom:40})
}.backgroundColor('#fff')
}.backgroundColor('#fff')
}
}
}
}
\ No newline at end of file
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/PzInfo2.ets
deleted
100644 → 0
View file @
a406ccaa
import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
import gldwModel from '../../../../model/GldwModel'
import kfModel from '../../../../model/KfModel'
import { renderPzlx, renderSzlx, renderZmlx, WzinClass } from '../Wzin.data'
// @Observed
class Options {
value:'string'
id: string | number
}
// @Observed
class Form {
title: string
key: string
enabled:boolean
type: 'input' | 'select'
options?: Options[]
}
@Entry
@Component
// 物资信息
export struct PzInfo {
// @State kfmc: string = ''
// @State fwgldw: string = ''
// @State swgldw: string = ''
@State Form: form[] = []
arr = [{ title: "凭证类型", key: 'pzlx', enabled: false, type: 'input' },
{ title: "凭证号", key: 'pzh', enabled: false, type: 'input' },
{ title: "收支类型", key: 'pzszlx', enabled: false, type: 'input' },
{ title: "库房", key: 'kfguid', enabled: true, type: 'select' },
{ title: "货位号", key: 'hwh', enabled: true, type: 'select'},
{ title: "运单号", key: 'ydh', enabled: true, type: 'input' },
{ title: "发物管理单位", key: 'fwgldwdm', enabled: false, type: 'select' },
{ title: "收物管理单位", key: 'swgldwdm', enabled: false, type: 'select' },
{ title: "账目类型", key: 'zmlx', enabled: false, type: 'select'},
{ title: "备注", key: 'dec', enabled: true, type: 'input' }
]
aboutToAppear() {
this.getData()
}
async getData() {
// 获取库房列表
const kfList = await kfModel.query({})
Logger.info('库房列表>>', JSON.stringify(kfList))
this.arr.forEach(i => {
this.form
})
// this.arr[this.arr.findIndex(v => v.key == 'kfguid')].options = kfList.map(v => {
// return {
// value:v.kfmc,
// id:v.guid
// }
// })
Logger.info('库房列表>>111', JSON.stringify( this.arr[this.arr.findIndex(v => v.key == 'kfguid')].options))
//
// 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 ?? ''
}
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%')
ForEach(this.arr, (item) => {
Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center }) {
Text(item.title)
.fontSize(14)
.width("30%")
.height(40)
.fontColor($r("app.color.item_color_black"))
if (item.type == 'select') {
Select(item.options)
.value(`请选择${item.title}`)
.width(230)
.borderWidth(1)
.borderRadius(5)
.borderColor($r("app.color.rank_secondary_border"))
.onSelect((index: number, value?: string) => {
console.log("选择库房", value)
})
}
if (item.type == 'input') {
TextInput({ text: "1111" })
.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("10vp")
})
}.backgroundColor('#fff')
}
}
\ No newline at end of file
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzInfo.ets
View file @
0fdb8f62
...
@@ -3,7 +3,7 @@ import { Logger } from '@ohos/common';
...
@@ -3,7 +3,7 @@ import { Logger } from '@ohos/common';
import { Wzcrkmx } from '@ohos/common/src/main/ets/entity/Wzcrkmx';
import { Wzcrkmx } from '@ohos/common/src/main/ets/entity/Wzcrkmx';
import gldwModel from '../../../../model/GldwModel';
import gldwModel from '../../../../model/GldwModel';
import kfModel from '../../../../model/KfModel';
import kfModel from '../../../../model/KfModel';
import { Wz
inClass, WzmxClass } from '../Wzin
.data';
import { Wz
Class, WzmxClass } from '../../Common/Wzcrk
.data';
import { WzList } from './WzList';
import { WzList } from './WzList';
@Extend(Button) function CommonButtonStyle() {
@Extend(Button) function CommonButtonStyle() {
...
@@ -23,7 +23,7 @@ export struct WzInfo {
...
@@ -23,7 +23,7 @@ export struct WzInfo {
@State kfmc: string = ''
@State kfmc: string = ''
@State sfdw: string = ''
@State sfdw: string = ''
@State private wzmx: WzmxClass[] = []
@State private wzmx: WzmxClass[] = []
@ObjectLink wzcrk: Wz
in
Class
@ObjectLink wzcrk: WzClass
getDetail: (wzpm?:string) => void
getDetail: (wzpm?:string) => void
aboutToAppear(){
aboutToAppear(){
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzList.ets
View file @
0fdb8f62
import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
import { Logger } from '@ohos/common/src/main/ets/utils/Logger'
import { WzmxClass } from '../
Wzin
.data'
import { WzmxClass } from '../
../Common/Wzcrk
.data'
@Component
@Component
export struct WzList {
export struct WzList {
...
...
entry/src/main/ets/pages/metailmange/WzInPage/WzinDetail/WzinDetail.ets
View file @
0fdb8f62
...
@@ -5,10 +5,13 @@ import { Wzcrk } from '@ohos/common/src/main/ets/entity/Wzcrk';
...
@@ -5,10 +5,13 @@ import { Wzcrk } from '@ohos/common/src/main/ets/entity/Wzcrk';
import { WzInfo } from './WzInfo'
import { WzInfo } from './WzInfo'
import { PzInfo } from './PzInfo'
import { PzInfo } from './PzInfo'
import wzcrkmxModel from '../../../../model/WzcrkmxModel';
import wzcrkmxModel from '../../../../model/WzcrkmxModel';
import { Wz
inClass, WzmxClass } from '../Wzin
.data';
import { Wz
Class, WzmxClass } from '../../Common/Wzcrk
.data';
import bzhxModel from '../../../../model/BzhxModel';
import bzhxModel from '../../../../model/BzhxModel';
import promptAction from '@ohos.promptAction';
import promptAction from '@ohos.promptAction';
import wzcrkModel from '../../../../model/WzcrkModel';
import wzcrkModel from '../../../../model/WzcrkModel';
import { SQLiteContext, Wzcrkmx, WzcrkmxDao } from '@ohos/common';
import {AddWzin} from './AddWzin'
import { uuid } from '@ohos/common/src/main/ets/utils/util';
@Extend(Button) function CommonButtonStyle() {
@Extend(Button) function CommonButtonStyle() {
.borderWidth(2)
.borderWidth(2)
...
@@ -21,7 +24,8 @@ import wzcrkModel from '../../../../model/WzcrkModel';
...
@@ -21,7 +24,8 @@ import wzcrkModel from '../../../../model/WzcrkModel';
}
}
interface params {
interface params {
wzcrk: Wzcrk
wzcrk: Wzcrk,
isUpdate: boolean
}
}
/*入库详情*/
/*入库详情*/
@Entry
@Entry
...
@@ -30,14 +34,17 @@ struct WzinDetail {
...
@@ -30,14 +34,17 @@ struct WzinDetail {
@State fontColor: string = '#0FA983'
@State fontColor: string = '#0FA983'
@State selectedFontColor: string = '#fff'
@State selectedFontColor: string = '#fff'
@State currentIndex: number = 0
@State currentIndex: number = 0
@State wzcrk: WzinClass = null // 物资出入库单据信息
@State isUpdate: boolean = false
@State wzcrk: WzClass = null // 物资出入库单据信息
@State wzmx: WzmxClass[] = [] // 物资出入库明细
@State wzmx: WzmxClass[] = [] // 物资出入库明细
private controller: TabsController = new TabsController()
private controller: TabsController = new TabsController()
wzcrkmxDao: WzcrkmxDao = SQLiteContext.with(WzcrkmxDao)
onPageShow() {
onPageShow() {
const params = router.getParams() as params
const params = router.getParams() as params
this.wzcrk = new WzinClass(params.wzcrk)
this.isUpdate = params.isUpdate
this.wzcrk = new WzClass(params.wzcrk)
Logger.info('接收到出入库信息>>', JSON.stringify(params.wzcrk))
Logger.info('接收到出入库信息>>', JSON.stringify(params.wzcrk))
this.getDetail()
this.getDetail()
}
}
...
@@ -74,14 +81,19 @@ struct WzinDetail {
...
@@ -74,14 +81,19 @@ struct WzinDetail {
Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
TabContent() {
TabContent() {
Column() {
Column() {
PzInfo({ wzcrk: this.wzcrk })
// PzInfo()
if(this.isUpdate) {
PzInfo({ wzcrk: this.wzcrk })
} else {
AddWzin({ wzcrk: this.wzcrk })
}
}.width("100%")
}.width("100%")
}.tabBar(this.TabBuilder(0, '凭证信息'))
}.tabBar(this.TabBuilder(0, '凭证信息'))
TabContent() {
TabContent() {
Column() {
Column() {
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk,
getDetail:
this.getDetail })
WzInfo({ wzmx: this.wzmx, wzcrk: this.wzcrk,
getDetail:
this.getDetail })
}.width("100%")
}.width("100%")
}.tabBar(this.TabBuilder(1, '物资信息'))
}.tabBar(this.TabBuilder(1, '物资信息'))
}
}
...
@@ -94,32 +106,58 @@ struct WzinDetail {
...
@@ -94,32 +106,58 @@ struct WzinDetail {
Row() {
Row() {
Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) {
Flex({ justifyContent: FlexAlign.SpaceEvenly, alignItems: ItemAlign.Center }) {
Button("射频扫码").CommonButtonStyle().width("50%").onClick(() => {
Button("射频扫码").CommonButtonStyle().width("50%").onClick(() => {
router.pushUrl({
url:'pages/metailmange/UHFScanPage',params:{wzcrkItem:this.wzcrk}
})
router.pushUrl({
url: 'pages/metailmange/UHFScanPage', params: { wzcrkItem: this.wzcrk }
})
})
})
Button("保存").CommonButtonStyle().width("50%")
Button("保存").CommonButtonStyle().width("50%")
.onClick(async () => {
.onClick(async () => {
try {
try {
Logger.info('保存的入库数据>>', JSON.stringify(this.wzcrk))
Logger.info('保存的入库明细数据>>', JSON.stringify(this.wzmx))
Logger.info('保存的入库明细数据>>', JSON.stringify(this.wzmx))
for (let index = 0; index < this.wzmx.length; index++) {
if(this.isUpdate) {
const element = this.wzmx[index];
await wzcrkModel.updateWcztByData(this.wzcrk.guid, {
await wzcrkmxModel.updateWcztmxByData(element.guid, { crksl: element.crksl })
dec: this.wzcrk.dec,
ydh: this.wzcrk.ydh,
})
}
}
const crksl = this.wzmx.map(v => Number(v.crksl)).reduce((a, b) => a + b, 0)
else {
this.wzcrk.guid = uuid()
await wzcrkModel.updateWcztByData(this.wzcrk.guid, { dec: this.wzcrk.dec, ydh: this.wzcrk.ydh,crksl })
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({
promptAction.showToast({
message: '保存入库数据成功',
message: '保存入库数据成功',
bottom:
2
00
bottom:
3
00
})
})
setTimeout(() => {
setTimeout(() => {
router.replaceUrl({ url: 'pages/metailmange/WzInPage/WzInPage' })
router.replaceUrl({ url: 'pages/metailmange/WzInPage/WzInPage' })
},
5
00)
},
3
00)
} catch (e) {
} catch (e) {
promptAction.showToast({
promptAction.showToast({
message: '保存入库数据失败',
message: '保存入库数据失败',
...
...
entry/src/main/ets/pages/metailmange/WzOutPage.ets
deleted
100644 → 0
View file @
a406ccaa
import { TitleBar } from '../../view/title/TitleBar'
import { Demo } from '../../view/demo/demo';
import router from '@ohos.router';
@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)
}
@Entry
@Component
export struct WzOutPage {
@State fontColor: string = '#182431'
@State selectedFontColor: string = '#fff'
@State currentIndex: number = 0
private controller: TabsController = new TabsController()
private searchcontroller: SearchController = new SearchController()
itemClick() {
router.pushUrl({url:'pages/order_detail/PzInOutDetailPage'})
}
@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 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/AddTemporaryOutPage",
})
})
.fontColor("#0fa983")
.fontSize("14vp")
Button("设置状态")
.bottomBtnSty()
.onClick(() => {
})
.fontColor("#0fa983")
.fontSize("14vp")
Button("单据匹配")
.visibility(this.currentIndex === 1 ? Visibility.Visible : Visibility.None)
.bottomBtnSty()
.onClick(() => {
router.pushUrl({
url: "pages/metailmange/AddTemporaryInPage",
})
})
.fontColor("#0fa983")
.fontSize("14vp")
Button("导出数据包")
.visibility(this.currentIndex === 0 ? Visibility.Visible : Visibility.None)
.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)
.borderRadius(5)
.textAlign(TextAlign.Center)
.placeholderFont({ size: 14, weight: 400 })
.textFont({ size: 14, weight: 400 })
.width('100%')
.onSubmit((value: string) => {
})
.onChange((value: string) => {
})
}.height(40)
}.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() {
Demo({itemClick: this.itemClick}).width('90%')
}.flexGrow(1).backgroundColor('#fff').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
entry/src/main/ets/pages/metailmange/WzOutPage/WzOutPage.ets
0 → 100644
View file @
0fdb8f62
差异被折叠。
点击展开。
entry/src/main/ets/pages/metailmange/WzStatus.ets
View file @
0fdb8f62
import { LeftDialog } from '../metailmange/WzInPage/WzinDetail/LeftDialog'
import { LeftDialog } from '../metailmange/WzInPage/WzinDetail/LeftDialog'
import { TitleBar } from '../../view/title/TitleBar'
import { TitleBar } from '../../view/title/TitleBar'
import router from '@ohos.router'
import router from '@ohos.router'
import { WzmxClass } from './
WzInPage/Wzin
.data'
import { WzmxClass } from './
Common/Wzcrk
.data'
@Extend(Button) function CommonButtonStyle() {
@Extend(Button) function CommonButtonStyle() {
.borderWidth(2)
.borderWidth(2)
...
...
entry/src/main/ets/pages/package/Pick.ets
View file @
0fdb8f62
import { SQLiteContext,
ViewdrdcDao,Logger
} from '@ohos/common'
import { SQLiteContext,
Logger, WzcrkmxDao, Wzcrkmx
} from '@ohos/common'
import { BasicTable } from '../../view/BasicTable/BasicTable'
import { BasicTable } from '../../view/BasicTable/BasicTable'
import { TitleBar } from '../../view/title/TitleBar'
import { TitleBar } from '../../view/title/TitleBar'
...
@@ -16,6 +16,7 @@ import { TitleBar } from '../../view/title/TitleBar'
...
@@ -16,6 +16,7 @@ import { TitleBar } from '../../view/title/TitleBar'
@Component
@Component
export struct Pick {
export struct Pick {
controller: SearchController = new SearchController()
controller: SearchController = new SearchController()
wzcrkmxDao: WzcrkmxDao = SQLiteContext.with(WzcrkmxDao)
build() {
build() {
Column() {
Column() {
...
@@ -43,14 +44,36 @@ export struct Pick {
...
@@ -43,14 +44,36 @@ export struct Pick {
Row() {
Row() {
Flex({ justifyContent: FlexAlign.SpaceAround }) {
Flex({ justifyContent: FlexAlign.SpaceAround }) {
Button("打印面单").CommonButtonStyle().onClick(() => {
Button("打印面单").CommonButtonStyle().onClick(async () => {
Logger.info(this,'输出数据:666666666666');
let val = await this.wzcrkmxDao.batchInsert([{
SQLiteContext.with(ViewdrdcDao).queryAll().then(res=>{
guid: '123',
Logger.info(this,'输出数据:' + JSON.stringify(res));
gznd: '2023',
})
pmdmcode: '10001',
pzsl: 100,
crksl: 0,
wzcrkguid: '1000',
hwh: '1-1-1-2',
pzmxguid: '1000'
}, {
guid: '124',
gznd: '2023',
pmdmcode: '10001',
pzsl: 880,
crksl: 0,
wzcrkguid: '1000',
hwh: '1-1-2-2',
pzmxguid: '1000'
}]);
Logger.info(this, '输出数据:' + val);
})
Button("扫码取件").CommonButtonStyle().onClick(async () => {
let val = await this.wzcrkmxDao.update({ guid: '124', crksl: 888 } as Wzcrkmx);
Logger.info(this, '输出更新数据:' + val);
})
Button("手动取件").CommonButtonStyle().onClick(async () => {
let val = await this.wzcrkmxDao.queryAll();
Logger.info(this, '输出查询数据:' + JSON.stringify(val));
})
})
Button("扫码取件").CommonButtonStyle()
Button("手动取件").CommonButtonStyle()
}
}
}.height(80).backgroundColor('#97c6a6')
}.height(80).backgroundColor('#97c6a6')
}
}
...
...
entry/src/main/ets/view/ExportOrderDialog/ExportOrderDialog.ets
View file @
0fdb8f62
import { UniListItem } from '@ohos/system/src/main/ets/model/UniInitList';
import { UniListItem } from '@ohos/system/src/main/ets/model/UniInitList';
import { Wz
inClass } from '../../pages/metailmange/WzInPage/Wzin
.data';
import { Wz
Class } from '../../pages/metailmange/Common/Wzcrk
.data';
@Extend(Button) function CommonButtonStyle() {
@Extend(Button) function CommonButtonStyle() {
.borderWidth(2)
.borderWidth(2)
.borderColor('#0fa983')
.borderColor('#0fa983')
...
@@ -32,7 +32,7 @@ interface FormData {
...
@@ -32,7 +32,7 @@ interface FormData {
@CustomDialog
@CustomDialog
@Component
@Component
export struct ExportOrderDialog {
export struct ExportOrderDialog {
@Link dataSource: Wz
in
Class[]
@Link dataSource: WzClass[]
@Link checkedList: Array<string>
@Link checkedList: Array<string>
controller: CustomDialogController
controller: CustomDialogController
cancel: () => void
cancel: () => void
...
...
entry/src/main/ets/view/SetStatusDialog/SetStatusDialog.ets
View file @
0fdb8f62
import { UniListItem } from '@ohos/system/src/main/ets/model/UniInitList';
import { UniListItem } from '@ohos/system/src/main/ets/model/UniInitList';
import { Wz
inClass } from '../../pages/metailmange/WzInPage/Wzin
.data';
import { Wz
Class } from '../../pages/metailmange/Common/Wzcrk
.data';
@Extend(Button) function CommonButtonStyle() {
@Extend(Button) function CommonButtonStyle() {
.borderWidth(2)
.borderWidth(2)
.borderColor('#0fa983')
.borderColor('#0fa983')
...
@@ -32,7 +32,7 @@ interface FormData {
...
@@ -32,7 +32,7 @@ interface FormData {
@CustomDialog
@CustomDialog
@Component
@Component
export struct SetStatusDialog {
export struct SetStatusDialog {
@Link dataSource: Wz
in
Class[]
@Link dataSource: WzClass[]
@Link checkedList: Array<string>
@Link checkedList: Array<string>
controller: CustomDialogController
controller: CustomDialogController
cancel: () => void
cancel: () => void
...
...
entry/src/main/resources/base/profile/main_pages.json
View file @
0fdb8f62
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
"pages/package/Pick"
,
"pages/package/Pick"
,
"pages/package/Pack"
,
"pages/package/Pack"
,
"pages/metailmange/WzInPage/WzInPage"
,
"pages/metailmange/WzInPage/WzInPage"
,
"pages/metailmange/WzOutPage"
,
"pages/metailmange/WzOutPage
/WzOutPage
"
,
"pages/metailmange/WzExchangePage"
,
"pages/metailmange/WzExchangePage"
,
"pages/metailmange/WzConversionPage"
,
"pages/metailmange/WzConversionPage"
,
"pages/metailmange/WzInvPage"
,
"pages/metailmange/WzInvPage"
,
...
...
features/MaterialManagement/src/main/ets/components/MaterialManagement.ets
View file @
0fdb8f62
...
@@ -86,7 +86,7 @@ export struct MaterialManagement {
...
@@ -86,7 +86,7 @@ export struct MaterialManagement {
break;
break;
case "out":
case "out":
router.pushUrl({
router.pushUrl({
url: "pages/metailmange/WzOutPage",
url: "pages/metailmange/WzOutPage
/WzOutPage
",
})
})
break;
break;
case "exchange":
case "exchange":
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论