供应商价目表源码

This commit is contained in:
mzr 2025-06-19 15:49:28 +08:00
parent e3b6ac2e82
commit 723adb1d77
18 changed files with 344 additions and 30 deletions

View File

@ -1,4 +1,4 @@
/*XC08Y6s3vnRymr0zgTGgVwvf5zmpxtbghVcXSqXfff8=*/
/*XC08Y6s3vnRymr0zgTGgV0NJJE6hYU12Kzk/gHcWz8o=*/
/*
* @Author: wangceb
* @PageInfo: 页面功能描述
@ -322,4 +322,4 @@ export {
updateCacheDataForListWhenChangePK
};
/*XC08Y6s3vnRymr0zgTGgVwvf5zmpxtbghVcXSqXfff8=*/
/*XC08Y6s3vnRymr0zgTGgV0NJJE6hYU12Kzk/gHcWz8o=*/

View File

@ -1,4 +1,4 @@
/*8CdHYS+a9Q2smogIeoYriEP5x7vzqBeEXoSMjia1I4E=*/
/*wcAyGzXIuLMPKe72bAn4f72BcH03jamWKj7p/ELKGtY=*/
import {
changeUrlParam,
updateCacheData,
@ -39,4 +39,4 @@ export {
updateCacheDataForListWhenChangePK
};
/*8CdHYS+a9Q2smogIeoYriEP5x7vzqBeEXoSMjia1I4E=*/
/*wcAyGzXIuLMPKe72bAn4f72BcH03jamWKj7p/ELKGtY=*/

View File

@ -1,4 +1,4 @@
/*Lm7XJwk0y0sY3meTnlbg/V35Nh6FlfJ2VuKJUa0zwTk=*/
/*Lm7XJwk0y0sY3meTnlbg/SfTX06owJxcERHPBNoyRKk=*/
/*
* @Author: chaiwx
* @PageInfo: 排序工具
@ -61,4 +61,4 @@ const columnSortUtils = {
export { columnSortUtils };
/*Lm7XJwk0y0sY3meTnlbg/V35Nh6FlfJ2VuKJUa0zwTk=*/
/*Lm7XJwk0y0sY3meTnlbg/SfTX06owJxcERHPBNoyRKk=*/

View File

@ -1,4 +1,4 @@
/*TZdi7ZD2qc06xBNXw0DDF3eLAgKb8pr0PIekpKVMSdw=*/
/*TZdi7ZD2qc06xBNXw0DDF2xNEOHTP5q1E/RXHu68VcQ=*/
import { deepClone } from '../tool';
function beforeEdit(params) {
let { props, appcode, pagecode, headarea, bodyarea, key, isHead, record, billtype } = params;
@ -137,4 +137,4 @@ function filterData(data, areacode) {
*/
export default { beforeEdit };
/*TZdi7ZD2qc06xBNXw0DDF3eLAgKb8pr0PIekpKVMSdw=*/
/*TZdi7ZD2qc06xBNXw0DDF2xNEOHTP5q1E/RXHu68VcQ=*/

View File

@ -1,4 +1,4 @@
/*3+OxmavkIrqqZL5i5oXk64dBG0e2o6hm0SV5UtKnyl8=*/
/*3+OxmavkIrqqZL5i5oXk6zMI8/MiUUFWkZxbOB3iY2o=*/
/*
* @Author: maopch
* @PageInfo: 在willMount生命周期中调用后可以在本类中使用 new Date().Format('yyyy-MM-dd') 来格式化日期
@ -32,4 +32,4 @@ export default function() {
};
}
/*3+OxmavkIrqqZL5i5oXk64dBG0e2o6hm0SV5UtKnyl8=*/
/*3+OxmavkIrqqZL5i5oXk6zMI8/MiUUFWkZxbOB3iY2o=*/

View File

@ -1,4 +1,4 @@
/*B8hs80HPHMb16tQomncXz+iDbxu/lgpoGG9QxzYNz9Y=*/
/*B8hs80HPHMb16tQomncXz7JgTg7DWTw5ZhU0ayoroI0=*/
/*
* @Author: wangceb
* @PageInfo: 行号处理
@ -237,4 +237,4 @@ const RownoUtils = {
export { RownoUtils };
/*B8hs80HPHMb16tQomncXz+iDbxu/lgpoGG9QxzYNz9Y=*/
/*B8hs80HPHMb16tQomncXz7JgTg7DWTw5ZhU0ayoroI0=*/

View File

@ -0,0 +1,118 @@
/*O3CJ7sSaEYMHgDepbqDuXxq1RsmR+qa/ONpP2dSSsTQ=*/
/*
* @Author: wangceb
* @PageInfo: 页面功能描述
* @Date: 2018-07-24 17:14:42
* @Last Modified by: liangzhyf
* @Last Modified time: 2021-03-12 10:45:53
*/
function getChangedRows(props, moduleId, flag) {
let changerows = props.editTable.getChangedRows(moduleId, flag == true ? true : false);
let allrows = props.editTable.getAllRows(moduleId);
if (allrows.length == 0 || changerows.length == 0) {
return;
}
let indexMap = {};
let index = 0;
allrows.forEach((element) => {
indexMap[element.rowid] = index;
index++;
});
changerows.forEach((item) => {
item.values.pseudocolumn = { value: indexMap[item.rowid].toString() };
});
return changerows;
}
function updateEditTableRows(props, moduleId, rows) {
let updateRows = [];
let delRows = [];
rows.forEach((element) => {
let pseudocolumn = element.values.pseudocolumn;
if (pseudocolumn == null || JSON.stringify(pseudocolumn) == '{}') {
return;
}
let updaterow = {
index: Number(pseudocolumn.value),
data: element
};
updateRows.push(updaterow);
if (element.status == '3') {
delRows.push(element.rowid);
}
});
if (delRows.length > 0) {
props.editTable.deleteTableRowsByRowId(moduleId, delRows, true);
}
if (updateRows.length == 0) {
return;
}
props.editTable.updateDataByIndexs(moduleId, updateRows, true, true);
}
function updateDataById(props, tableId, pk_field, sucessrows) {
if (sucessrows == null || sucessrows.length == 0) {
return;
}
// 组装更新数据
// let updateDatas = [];
// 更新成功的数据
//1. 构建界面选择的信息 主键和index的对应关系
let selMap = {};
let selrows = props.editTable.getCheckedRows(tableId);
selrows.forEach((row) => {
let selpk = row.data.values[pk_field].value;
// selMap[selpk] = row.index;
selMap[selpk] = row.data.rowid;
});
sucessrows[tableId].rows.forEach((sucessrow, index) => {
let pkvalue = sucessrow.rowid;
// let updateData = {
// // index: selMap[pkvalue],
// data: {
// rowid: selMap[pkvalue],
// values: sucessrow.values
// }
// };
sucessrow.rowid = selMap[pkvalue];
// updateDatas.push(updateData);
});
// props.editTable.updateDataByIndexs(tableId, updateDatas);
props.editTable.updateDataByRowId(tableId, sucessrows[tableId]);
}
/**
* 浏览态更新行数据用于单表editTable场景保存完成后设置editTabel的行数据和行状态 add by yinliangc 20210310
* 用props.editTable.updateDataByRowId()和props.editTable.updateDataByIndexs()更新行数据会将行状态设置为1修改状态浏览态的数据行状态都应该是0
* @param {*} props
* @param {*} params tableId-表格ID
* data-需要更新的数据保存完成后res.data.tableId即可rows的上一级
* upRowData-是否更新行数据true为更新false不更新默认更新
* upRowStatus-是否更新行状态true为更新false不更新默认更新
* upCache-是否更新缓存true为更新false不更新默认更新
*/
function breaseUpdateTableDatas(
props,
params = { tableId: '', data: '', upRowData: true, upRowStatus: true, upCache: true }
) {
let { tableId = '', data = '', upRowData = true, upRowStatus = true, upCache = true } = params;
if (upRowData) {
// 设置行数据false和true表示是否更新表格
props.editTable.updateRows(tableId, data, false);
}
if (upRowStatus) {
// 设置行状态false和true表示是否更新表格
props.editTable.updateRowsProps(tableId, data, { status: '0' }, false);
}
if (upCache) {
// 设置缓存false和true表示是否更新表格
props.editTable.resetTableCaches(tableId, true);
}
}
export { getChangedRows, updateEditTableRows, updateDataById, breaseUpdateTableDatas };
/*O3CJ7sSaEYMHgDepbqDuXxq1RsmR+qa/ONpP2dSSsTQ=*/

View File

@ -0,0 +1,16 @@
/*wcAyGzXIuLMPKe72bAn4f72BcH03jamWKj7p/ELKGtY=*/
/*
* @Author: chaiwx
* @PageInfo: 工具
* @Date: 2018-06-06 14:18:48
* @Last Modified by: yinliangc
* @Last Modified time: 2021-03-10 11:09:34
*/
import { rowCopyPasteUtils } from './rowCopyPasteUtils';
import { RownoUtils } from './RownoUtil';
import { getChangedRows, updateEditTableRows, updateDataById, breaseUpdateTableDatas } from './getChangedRows';
export { rowCopyPasteUtils, RownoUtils, getChangedRows, updateEditTableRows, updateDataById, breaseUpdateTableDatas };
/*wcAyGzXIuLMPKe72bAn4f72BcH03jamWKj7p/ELKGtY=*/

View File

@ -0,0 +1,180 @@
/*bSz7so+nmXJf3x6ZSaY2aM2BLkSrpSpg+vNGCUtUH4w=*/
/*
* @Author: chaiwx
* @PageInfo: 表体复制粘贴行工具文件
* @Date: 2018-06-15 15:33:31
* @Last Modified by: chaiwx
* @Last Modified time: 2018-07-02 14:15:27
*/
// 表体肩部按钮初始化状态
const BTNINITSTATUS = true;
// 表体肩部按钮复制中状态
const BTNPASTESTATUS = false;
/**
* 复制-单行通常用于操作列复制
* @param {*} props
* @param {*} moduleId
* @param {*} record --操作列操作中的行数据
* @param {*} initBtns --初始化显示的按钮
* @param {*} pasteBtns --复制中显示的按钮
*/
function copyRow(props, moduleId, record, initBtns, pasteBtns) {
// 缓存复制的数据
// this.setState({
// copyRowDatas: record
// });
this.copyRowDatas = record;
// 设置按钮可见性
setBtnVisible(props, initBtns, pasteBtns, BTNPASTESTATUS);
// 多选框不可用
props.editTable.setAllCheckboxAble(moduleId, false);
}
/**
* 复制-多行通常用于肩部复制
* @param {*} props
* @param {*} moduleId
* @param {*} initBtns
* @param {*} pasteBtns
*/
function copyRows(props, moduleId, initBtns, pasteBtns) {
// 缓存选中行数据
let checkArr = props.editTable.getCheckedRows(moduleId);
if (checkArr && checkArr.length > 0) {
// this.setState({
// copyRowDatas: checkArr
// });
this.copyRowDatas = checkArr;
setBtnVisible(props, initBtns, pasteBtns, BTNPASTESTATUS);
props.editTable.setAllCheckboxAble(moduleId, false);
}
}
/**
* 粘贴数据到index下方通常用于操作列粘贴
* @param {*} props
* @param {*} moduleId
* @param {*} index
* @param {*} initBtns
* @param {*} pasteBtns
* @param {*} fieldsForClear --需要清空的字段
*/
function pasteRowsToIndex(props, moduleId, index, initBtns, pasteBtns, fieldsForClear) {
// 粘贴至此
pasteLines(props, moduleId, this.copyRowDatas, index - 1, fieldsForClear);
// 清空缓存,切换按钮
// this.setState({
// copyRowDatas: null
// });
this.copyRowDatas = null;
setBtnVisible(props, initBtns, pasteBtns, BTNINITSTATUS);
props.editTable.selectAllRows(moduleId, false);
props.editTable.setAllCheckboxAble(moduleId, true);
}
/**
* 粘贴至末行
* @param {*} props
* @param {*} moduleId
* @param {*} initBtns
* @param {*} pasteBtns
* @param {*} fieldsForClear
*/
function pasteRowsToTail(props, moduleId, initBtns, pasteBtns, fieldsForClear) {
// 批量粘贴至末行
let rowCount = props.editTable.getNumberOfRows(moduleId);
pasteRowsToIndex.call(this, props, moduleId, rowCount, initBtns, pasteBtns, fieldsForClear);
}
/**
* 取消复制
* @param {*} props
* @param {*} moduleId
* @param {*} initBtns
* @param {*} pasteBtns
*/
function cancel(props, moduleId, initBtns, pasteBtns) {
// 清空复制行缓存数据
// this.setState({
// copyRowDatas: null
// });
this.copyRowDatas = null;
setBtnVisible(props, initBtns, pasteBtns, BTNINITSTATUS);
props.editTable.selectAllRows(moduleId, false);
props.editTable.setAllCheckboxAble(moduleId, true);
}
/**
* edittable批量复制方法
* @param {*} props
* @param {*} moduleId
* @param {*} copyRowDatas
* @param {*} index
* @param {*} fieldsForClear
*/
function pasteLines(props, moduleId, copyRowDatas, index, fieldsForClear) {
if (copyRowDatas) {
if (copyRowDatas instanceof Array) {
// 多行
// 选中行行数
let checkCount = copyRowDatas.length;
// 循环粘贴至末行
for (let i = 0; i < checkCount; i++) {
let rowData = copyRowDatas[i].data;
clearFields(rowData, fieldsForClear);
props.editTable.pasteRow(moduleId, rowData, index + i);
}
} else {
// 单行
clearFields(copyRowDatas, fieldsForClear);
props.editTable.pasteRow(moduleId, copyRowDatas, index);
}
}
}
/**
* 清空要清空的字段
* @param {*} rowData
* @param {*} fieldsForClear
*/
function clearFields(rowData, fieldsForClear) {
if (fieldsForClear && fieldsForClear instanceof Array) {
fieldsForClear.forEach((field) => {
rowData.values[field] = {
value: null,
display: null,
scale: -1
};
});
}
}
/**
* 设置按钮可见性
* @param {*} props
* @param {*} initBtns
* @param {*} pasteBtns
* @param {*} status
*/
function setBtnVisible(props, initBtns, pasteBtns, status) {
if (initBtns) {
props.button.setButtonVisible(initBtns, status);
}
if (pasteBtns) {
props.button.setButtonVisible(pasteBtns, !status);
}
}
const rowCopyPasteUtils = {
copyRow,
copyRows,
pasteRowsToIndex,
pasteRowsToTail,
cancel
};
export { rowCopyPasteUtils };
/*bSz7so+nmXJf3x6ZSaY2aM2BLkSrpSpg+vNGCUtUH4w=*/

View File

@ -1,4 +1,4 @@
/*gSeRo1WD0EkupWOeyr1KX8HV3O5XazTilbn0yhM27Cw=*/
/*gSeRo1WD0EkupWOeyr1KXzp2x+FH9nKDqmVYidCQ8N4=*/
/*
* @Author: zhangchangqing
* @PageInfo: 获取父页面参数的方法
@ -24,4 +24,4 @@ function getUrlParam(parm) {
}
export { getUrlParam };
/*gSeRo1WD0EkupWOeyr1KX8HV3O5XazTilbn0yhM27Cw=*/
/*gSeRo1WD0EkupWOeyr1KXzp2x+FH9nKDqmVYidCQ8N4=*/

View File

@ -1,4 +1,4 @@
/*8CdHYS+a9Q2smogIeoYriEP5x7vzqBeEXoSMjia1I4E=*/
/*wcAyGzXIuLMPKe72bAn4f72BcH03jamWKj7p/ELKGtY=*/
/*
* @Author: wangceb
* @PageInfo: 公共处理工具
@ -29,4 +29,4 @@ export {
setRefShowDisabledData
};
/*8CdHYS+a9Q2smogIeoYriEP5x7vzqBeEXoSMjia1I4E=*/
/*wcAyGzXIuLMPKe72bAn4f72BcH03jamWKj7p/ELKGtY=*/

View File

@ -1,4 +1,4 @@
/*3YvuFoWQ0YaKvMe8vxwXjw67yHvAZzDwsC52pNUX0nk=*/
/*3YvuFoWQ0YaKvMe8vxwXjyO36zQtAa2ZDs8hMDpbaPM=*/
/*
* @Author: hujieh
* @PageInfo: 物料编辑后事件功能(单据处理辅助属性相关)
@ -393,4 +393,4 @@ export default {
getVfreeQueryCondition
};
/*3YvuFoWQ0YaKvMe8vxwXjw67yHvAZzDwsC52pNUX0nk=*/
/*3YvuFoWQ0YaKvMe8vxwXjyO36zQtAa2ZDs8hMDpbaPM=*/

View File

@ -1,4 +1,4 @@
/*6aEr4lFTsmy3cTmxIxMSG/3ZJK1pgDaIsuDCgYAKpOI=*/
/*6aEr4lFTsmy3cTmxIxMSG+k5nWITqErJzrMZ9nZph14=*/
/*
* 消息提示工具类
* @Author: guozhq
@ -528,4 +528,4 @@ export {
showDisableDialog
};
/*6aEr4lFTsmy3cTmxIxMSG/3ZJK1pgDaIsuDCgYAKpOI=*/
/*6aEr4lFTsmy3cTmxIxMSG+k5nWITqErJzrMZ9nZph14=*/

View File

@ -1,4 +1,4 @@
/*2Uuv1cMWZkg2BRt9wxfm3RSsWZuCHSmYINWZuBVfCWU=*/
/*2Uuv1cMWZkg2BRt9wxfm3evLQsf3d9LpstRqxxILhzM=*/
/*
* 多语使用工具类
* @Author: guozhq
@ -80,4 +80,4 @@ function check(_this, resid) {
export { initLang, getLangByResId };
/*2Uuv1cMWZkg2BRt9wxfm3RSsWZuCHSmYINWZuBVfCWU=*/
/*2Uuv1cMWZkg2BRt9wxfm3evLQsf3d9LpstRqxxILhzM=*/

View File

@ -1,4 +1,4 @@
/*qpxw8KXEE2hcai550ZOIMnsdeZ07FTMi5SzoeYg8USk=*/
/*HPBmiZJDkCjq9lb30masIt3s6pPjQbiycENCJw0NT2M=*/
/*
* @Author: wangceb
* @PageInfo: 参照设置工具类
@ -31,4 +31,4 @@ function setRefShowDisabledData(item, value = true) {
export { setPsndocShowLeavePower, setRefShowDisabledData };
/*qpxw8KXEE2hcai550ZOIMnsdeZ07FTMi5SzoeYg8USk=*/
/*HPBmiZJDkCjq9lb30masIt3s6pPjQbiycENCJw0NT2M=*/

View File

@ -1,4 +1,4 @@
/*CLONvcFS3R/d5UDYTiGuhAAzD4o/152bc80CwlCsQhI=*/
/*CLONvcFS3R/d5UDYTiGuhLolm1gnxWKWSziqhgzqV1Q=*/
/*
* @PageInfo: 创建APP应用标题工具
* @Author: guozhq
@ -45,4 +45,4 @@ function getAPPTitle(_this, title) {
}
}
/*CLONvcFS3R/d5UDYTiGuhAAzD4o/152bc80CwlCsQhI=*/
/*CLONvcFS3R/d5UDYTiGuhLolm1gnxWKWSziqhgzqV1Q=*/

View File

@ -1,4 +1,4 @@
/*es+fWOGBgTdETVra6z7pRS5PAPqFZipmPkVJycVOcOk=*/
/*es+fWOGBgTdETVra6z7pRaKgaNqiReOn2+L2OlhrpD4=*/
/**
* 页面初始化inittemplate返回结果的处理将交易类型信息缓存到state中
* @param {res.context} context
@ -154,4 +154,4 @@ export default {
setQueryDefaultValue
};
/*es+fWOGBgTdETVra6z7pRS5PAPqFZipmPkVJycVOcOk=*/
/*es+fWOGBgTdETVra6z7pRaKgaNqiReOn2+L2OlhrpD4=*/

View File

@ -1,4 +1,4 @@
/*rtD709urIbSFAQIdWF30AwBzfyxOHDJHi/gHZGi9qJ4=*/
/*rtD709urIbSFAQIdWF30AyfvO5Xj9B1KciSJ3W7u9H0=*/
import { ajax } from 'nc-lightapp-front';
/**
*
@ -43,4 +43,4 @@ function onBlur(onhandDimParams, billParams, url, canInsert, callback, value) {
}
export default { onBlur };
/*rtD709urIbSFAQIdWF30AwBzfyxOHDJHi/gHZGi9qJ4=*/
/*rtD709urIbSFAQIdWF30AyfvO5Xj9B1KciSJ3W7u9H0=*/