|
@@ -7,7 +7,7 @@ import { GetComputeMattress, GetMattressImportDW2, GetMattressPackagMx, GetCompu
|
|
|
import { useUserStore } from "@/stores/modules/user";
|
|
|
import MtrldefSelect from "@/views/system/selector/mtrldef/select.vue";
|
|
|
import BednetSelect from "@/views/system/selector/bednet/select.vue";
|
|
|
-import { handleRowAccordingToProp } from "@/utils";
|
|
|
+import { handleRowAccordingToProp, text2Formula } from "@/utils";
|
|
|
import { ElButton, ElMessage, ElPopconfirm, ElMessageBox, ElNotification, ElTag } from "element-plus";
|
|
|
import { Minus, Plus, InfoFilled } from "@element-plus/icons-vue";
|
|
|
import { DwnameEnum } from "@/enums/dwnameEnum";
|
|
@@ -5348,6 +5348,8 @@ export const useHooks = (t?: any) => {
|
|
|
await $table.insertAt(_rows, -1);
|
|
|
|
|
|
ElMessage.success("导入成功");
|
|
|
+
|
|
|
+ autoLoadExtraData(state.innerClothLayerMxRef, state.specialProcessesMxRef, 4, "chastr");
|
|
|
}
|
|
|
resetMergeCellsInner();
|
|
|
};
|
|
@@ -5377,12 +5379,12 @@ export const useHooks = (t?: any) => {
|
|
|
// }, 200);
|
|
|
};
|
|
|
|
|
|
- const hanleDelMxInner = (type: number) => {
|
|
|
+ const hanleDelMxInner = async (type: number) => {
|
|
|
const $table = state.innerClothLayerMxRef.element;
|
|
|
if ($table) {
|
|
|
if (type == 1) {
|
|
|
// 全部
|
|
|
- $table.remove();
|
|
|
+ await $table.remove();
|
|
|
} else if (type == 0) {
|
|
|
// 删除选中
|
|
|
const curRow = $table.getCurrentRecord();
|
|
@@ -5391,8 +5393,17 @@ export const useHooks = (t?: any) => {
|
|
|
ElMessage.warning("请先选择要删除的行");
|
|
|
return;
|
|
|
}
|
|
|
- $table.remove(curRow);
|
|
|
+ let _chastr = curRow?.chastr;
|
|
|
+ const { visibleData } = $table.getTableData();
|
|
|
+
|
|
|
+ let _vData = visibleData.filter((o: any) => o.chastr != _chastr);
|
|
|
+ await $table.reloadData(_vData);
|
|
|
+
|
|
|
+ ElMessage.success("成功删除" + _chastr);
|
|
|
}
|
|
|
+ autoLoadExtraData(state.innerClothLayerMxRef, state.specialProcessesMxRef, 4, "chastr");
|
|
|
+
|
|
|
+ resetMergeCellsInner();
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -5607,6 +5618,94 @@ export const useHooks = (t?: any) => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ /**
|
|
|
+ * @description 计算拼侧数量
|
|
|
+ */
|
|
|
+ const computedExtraSizeNum = (enumarr: any, arr: any, key: string, arg_extraid: number) => {
|
|
|
+ console.log("computedExtraSizeNum specialProcessesEnum.value :>> ", enumarr);
|
|
|
+ let extraArr = enumarr.filter(item => item.typeid == 1 && item.extraid == arg_extraid && item.extramxname.includes(key));
|
|
|
+
|
|
|
+ let arrNum = arr.filter(item => item.includes(key)).length;
|
|
|
+
|
|
|
+ let result = [];
|
|
|
+ extraArr.forEach(o => {
|
|
|
+ // 判断名称中出现的数量
|
|
|
+ try {
|
|
|
+ const checker = new Function("value", `return ${text2Formula(o.extramxname)};`);
|
|
|
+
|
|
|
+ if (checker(arrNum)) {
|
|
|
+ result.push(o);
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log("error :>> ", error);
|
|
|
+ ElMessage.error(`${t("sys.api.operationFailed")}特殊工艺名称: ${error}`);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ return result;
|
|
|
+ };
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @description 判断目前选择的拼接数据量,自动导入修改特殊工艺费用
|
|
|
+ * @params tableRef 表格实例
|
|
|
+ * @params targetRef 目标表格实例
|
|
|
+ * @params arg_extraid 数据库建立的特殊费用id,1:特殊费用,4:内布套
|
|
|
+ * @params matchAttr 匹配字段
|
|
|
+ */
|
|
|
+ const autoLoadExtraData = (tableRef?: any, targetRef?: any, arg_extraid = 1, matchAttr = "sortcode") => {
|
|
|
+ //计算拼侧数量
|
|
|
+
|
|
|
+ const $table = tableRef.element;
|
|
|
+ const { visibleData } = $table.getTableData();
|
|
|
+ const $tableTarget = targetRef.element;
|
|
|
+ const { visibleData: tgVisibleData } = $tableTarget.getTableData();
|
|
|
+
|
|
|
+ console.log();
|
|
|
+ let arr = [];
|
|
|
+ // 收集拼侧,并去重
|
|
|
+ visibleData.map(t => arr.push(t[matchAttr]));
|
|
|
+ arr = Array.from(new Set(arr));
|
|
|
+
|
|
|
+ console.log("autoLoadExtraData 收集拼侧,并去重 arr :>> ", arr, visibleData);
|
|
|
+
|
|
|
+ //
|
|
|
+ let _remove = [];
|
|
|
+ tgVisibleData.map(t => {
|
|
|
+ if (t.extraid == arg_extraid) {
|
|
|
+ _remove.push(t);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $tableTarget.remove(_remove);
|
|
|
+ let result = [];
|
|
|
+ if (!arr.includes("普通大侧")) {
|
|
|
+ result = result.concat(computedExtraSizeNum(state.specialProcessesMxData, arr, "上下", arg_extraid));
|
|
|
+ result = result.concat(computedExtraSizeNum(state.specialProcessesMxData, arr, "左右", arg_extraid));
|
|
|
+ result = result.concat(computedExtraSizeNum(state.specialProcessesMxData, arr, "内布套", arg_extraid));
|
|
|
+
|
|
|
+ console.log("autoLoadExtraData result :>> ", result, state.specialProcessesMxData);
|
|
|
+ }
|
|
|
+ if (result.length) {
|
|
|
+ let _arr = [];
|
|
|
+ let _mattressId = state.LjDetailRef._mainData.mattressid;
|
|
|
+ result.map(o => {
|
|
|
+ let _itm = {
|
|
|
+ mattressid: _mattressId,
|
|
|
+ mattressmxid: 0,
|
|
|
+ extraid: o.extraid,
|
|
|
+ extramxid: o.extramxid,
|
|
|
+ // extratypename: "",
|
|
|
+ extraname: o.extramxname,
|
|
|
+ price: o.price,
|
|
|
+ qty: o.qty,
|
|
|
+ dscrp: o.dscrp,
|
|
|
+ inputtype: o.inputtype,
|
|
|
+ typeid: o.typeid
|
|
|
+ };
|
|
|
+ _arr.push(_itm);
|
|
|
+ });
|
|
|
+ $tableTarget.insertAt(_arr, -1);
|
|
|
+ }
|
|
|
+ };
|
|
|
/**
|
|
|
* @description 自动导入修改特殊工艺费用
|
|
|
*/
|
|
@@ -5913,6 +6012,7 @@ export const useHooks = (t?: any) => {
|
|
|
gotoErpapi,
|
|
|
updateSubspecsTable,
|
|
|
funcChaifenTabPro,
|
|
|
- getQuoteListMxData
|
|
|
+ getQuoteListMxData,
|
|
|
+ autoLoadExtraData
|
|
|
};
|
|
|
};
|