Bu işleme şunda yer alıyor:
lb 2023-07-24 16:55:45 +08:00
ebeveyn c71c49151c
işleme 0c384fcf10
9 değiştirilmiş dosya ile 173 ekleme ve 71 silme

Dosyayı Görüntüle

@ -38,8 +38,8 @@
<% if (process.env.VUE_APP_NODE_ENV === 'dev') { %>
<script>
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.103:8080/pms-am';
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.49:8080/pms-am'; // tengyun
window.SITE_CONFIG['apiURL'] = 'http://192.168.1.67:8080/pms-am'; // wenzhang
window.SITE_CONFIG['apiURL'] = 'http://192.168.1.49:8080/pms-am'; // tengyun
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.67:8080/pms-am'; // wenzhang
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.62:8080/pms-am'; // tao
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.21:8080/pms-am'; // xv
// window.SITE_CONFIG['apiURL'] = 'http://localhost:3000/p//////ms-am'; // xv

Dosyayı Görüntüle

@ -270,6 +270,7 @@ export default {
inject: ["urls"],
data() {
const dataForm = {};
let dataForm__duplicate = null;
const autoDisabledQueue = [];
const watingToRefreshQueue = [];
const cached = {};
@ -373,12 +374,15 @@ export default {
});
});
if (this.configs.form.duplicate) dataForm__duplicate = JSON.parse(JSON.stringify(dataForm));
return {
// configs,
btnLoading: false,
loadingStatus: false,
activeMenu: this.configs.menu[0].name,
dataForm,
dataForm__duplicate,
detailMode: false,
autoDisabledQueue,
watingToRefreshQueue,
@ -419,44 +423,44 @@ export default {
};
},
mounted() {
this.configs.form.rows.forEach((row) => {
row.forEach((col) => {
if (
col.changeReflects &&
typeof col.changeReflects === "object" &&
"fromKey" in col.changeReflects &&
"toProp" in col.changeReflects
) {
this.$watch(
() => this.dataForm[col.prop],
(val) => {
if (val && col.prop in this.cached) {
console.log("here changeReflects", col.prop, col.changeReflects.toProp, this.cached[col.prop]);
if (typeof col.changeReflects.fromKey === "string") {
this.dataForm[col.changeReflects.toProp] = this.cached[col.prop].find((item) => item.id === val)?.[
col.changeReflects.fromKey
];
} else if (Array.isArray(col.changeReflects.fromKey) && col.changeReflects.delimiter) {
const foundItem = (this.dataForm[col.changeReflects.toProp] = this.cached[col.prop].find(
(item) => item.id === val
));
if (foundItem) {
const values = col.changeReflects.fromKey.map((key) => foundItem[key]);
this.dataForm[col.changeReflects.toProp] = values.join(col.changeReflects.delimiter);
} else {
this.dataForm[col.changeReflects.toProp] = col.changeReflects.delimiter;
console.log("[DialogWithMenu] mounted() 没找到对应数据");
}
}
}
},
{
immediate: false,
}
);
}
});
});
// this.configs.form.rows.forEach((row) => {
// row.forEach((col) => {
// if (
// col.changeReflects &&
// typeof col.changeReflects === "object" &&
// "fromKey" in col.changeReflects &&
// "toProp" in col.changeReflects
// ) {
// this.$watch(
// () => this.dataForm[col.prop],
// (val) => {
// if (val && col.prop in this.cached) {
// console.log("here changeReflects", col.prop, col.changeReflects.toProp, this.cached[col.prop]);
// if (typeof col.changeReflects.fromKey === "string") {
// this.dataForm[col.changeReflects.toProp] = this.cached[col.prop].find((item) => item.id === val)?.[
// col.changeReflects.fromKey
// ];
// } else if (Array.isArray(col.changeReflects.fromKey) && col.changeReflects.delimiter) {
// const foundItem = (this.dataForm[col.changeReflects.toProp] = this.cached[col.prop].find(
// (item) => item.id === val
// ));
// if (foundItem) {
// const values = col.changeReflects.fromKey.map((key) => foundItem[key]);
// this.dataForm[col.changeReflects.toProp] = values.join(col.changeReflects.delimiter);
// } else {
// this.dataForm[col.changeReflects.toProp] = col.changeReflects.delimiter;
// console.log("[DialogWithMenu] mounted() ");
// }
// }
// }
// },
// {
// immediate: false,
// }
// );
// }
// });
// });
},
watch: {
@ -583,7 +587,7 @@ export default {
this.$http.get(this.urls.base + `/${this.dataForm.id}`).then(({ data: res }) => {
if (res && res.code === 0) {
const dataFormKeys = Object.keys(this.dataForm);
console.log('[DialogWithMenu] dataFormKeys -------->', dataFormKeys)
console.log("[DialogWithMenu] dataFormKeys -------->", dataFormKeys);
this.dataForm = __pick(res.data, dataFormKeys);
if ("files" in res.data) {
@ -778,7 +782,17 @@ export default {
console.log("[DialogJustForm] handleComponentModelUpdate", this.dataForm[propName]);
},
handleSelectChange(col, eventValue) {
console.log("[dialog] select change: ", col, eventValue);
console.log("[dialog] select change: ", col, eventValue, this.dataForm__duplicate);
if (this.dataForm__duplicate !== null) {
console.log("before B--------->", this.dataForm__duplicate);
const shape = this.cached[col.prop].find((item) => item.id === eventValue);
this.$set(
this.dataForm__duplicate,
col.changeReflects.toProp,
shape && col.changeReflects.toProp in shape ? shape[col.changeReflects.toProp] : null
);
console.log("B--------->", shape, this.dataForm__duplicate);
}
},
handleSwitchChange(val) {
console.log("[dialog] switch change: ", val, this.dataForm);
@ -798,6 +812,8 @@ export default {
case "update": {
this.$refs.dataForm[0].validate((passed, result) => {
if (passed) {
// dataForm
let dataForm = this.dataForm__duplicate !== null ? this.dataForm__duplicate : this.dataForm;
//
this.btnLoading = true;
this.loadingStatus = true;
@ -807,7 +823,8 @@ export default {
const hasAttachment = !!this.configs.menu.find((item) => item.key === "attachment");
if (hasAttachment) {
const fileIds = this.fileList.map((item) => item.id);
this.$set(this.dataForm, "fileIds", fileIds);
// this.$set(this.dataForm, "fileIds", fileIds);
dataForm.fileIds = fileIds;
}
// id
@ -828,6 +845,8 @@ export default {
// console.log('actualPayload', actualPayload);
// }
console.log("before update:", dataForm);
//
this.btnLoading = true;
this.$http({
@ -835,7 +854,8 @@ export default {
method,
data: {
...extraIds,
...this.dataForm,
// ...this.dataForm,
...dataForm,
},
})
.then(({ data: res }) => {

Dosyayı Görüntüle

@ -307,7 +307,7 @@ export default {
}
} else if (typeof cond === "object") {
Object.keys(cond).forEach((key) => {
this.cachedSearchCondition[key] = cond[key];
this.cachedSearchCondition[key] = payload[key] ? payload[key] : cond[key];
});
}
});

Dosyayı Görüntüle

@ -10,11 +10,17 @@ export default function () {
{ width: 160, prop: "orderCode", label: "主订单号" },
{ width: 60, prop: "orderCate", label: "子号" },
{ width: 160, prop: "code", label: "混料订单号" },
{ width: 60, prop: "percent", label: "进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") },
{
width: 60,
prop: "percent",
label: "进度",
filter: (val) => (val !== null && val !== undefined ? val + " %" : "-"),
},
{
prop: "statusDictValue",
label: "订单状态",
filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-"),
filter: (val) =>
val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-",
},
// { prop: "startTime", label: "开始时间" },
// { prop: "shapeCode", label: "砖型" },
@ -37,16 +43,26 @@ export default function () {
subcomponent: TableOperaionComponent,
options: [
{
name: "edit", label: "编辑", emitFull: true, icon: 'edit-outline', enable: injectData => {
const v = injectData.statusDictValue
if (v && +v === 1) return true
return false
}
name: "edit",
label: "编辑",
emitFull: true,
icon: "edit-outline",
enable: (injectData) => {
const v = injectData.statusDictValue;
if (v && +v === 1) return true;
return false;
},
},
{ name: "view-batch", label: "查看批次", color: "#ff8000", toRouter: 'pms-blenderBatch', icon: 'document-copy' }, // 路由跳转至 pms-blenderBatch
{ name: "detach", label: "下发", color: "#099", icon: 'bottom-right' },
{ name: "start-blender", label: "开始", color: "#0b58ff", icon: 'video-play' },
{ name: "pause-blender", label: "暂停", color: "#f10000", icon: 'video-pause' },
{
name: "view-batch",
label: "查看批次",
color: "#ff8000",
toRouter: "pms-blenderBatch",
icon: "document-copy",
}, // 路由跳转至 pms-blenderBatch
{ name: "detach", label: "下发", color: "#099", icon: "bottom-right" },
{ name: "start-blender", label: "开始", color: "#0b58ff", icon: "video-play" },
{ name: "pause-blender", label: "暂停", color: "#f10000", icon: "video-pause" },
],
},
];
@ -79,6 +95,26 @@ export default function () {
// placeholder: "请输入配方号",
// },
// },
{
prop: "viewType",
label: "状态",
select: [
{ value: 0, label: "未结束" },
{ value: 1, label: "结束" },
{ value: 2, label: "全部" },
],
default: { value: 0 },
},
{
prop: "blenderId",
label: "混料机",
select: [
{ value: 3, label: "M1" },
{ value: 4, label: "M2" },
{ value: null, label: "全部" },
],
default: { value: null },
},
{
button: {
type: "primary",
@ -100,8 +136,8 @@ export default function () {
[
{
forceDisabled: true,
prop: 'code',
label: '混料订单号'
prop: "code",
label: "混料订单号",
},
],
[
@ -110,10 +146,11 @@ export default function () {
label: "配方",
prop: "bomId",
options: [],
optionLabelProp: 'code',
optionLabelProp: "code",
/** ====== */
fetchData: (bomCode) => this.$http.get('/pms/bom/pageVersion', { params: { key: bomCode, limit: 999, page: 1 } }),
fetchDataParam: 'bomCode',
fetchData: (bomCode) =>
this.$http.get("/pms/bom/pageVersion", { params: { key: bomCode, limit: 999, page: 1 } }),
fetchDataParam: "bomCode",
delayRequest: true,
/** ====== */
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
@ -126,8 +163,8 @@ export default function () {
label: "混料机",
prop: "blender",
options: [],
optionLabelProp: 'code',
fetchData: () => this.$http.get('/pms/equipment/list', { params: { workSequenceName: '混料工序' } }),
optionLabelProp: "code",
fetchData: () => this.$http.get("/pms/equipment/list", { params: { workSequenceName: "混料工序" } }),
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
elparams: { clearable: true, filterable: true, placeholder: "请选择混料机" },
},
@ -137,7 +174,7 @@ export default function () {
{ name: "add", label: "保存", type: "primary", permission: "", showOnEdit: false },
{ name: "update", label: "更新", type: "primary", permission: "", showOnEdit: true },
// { name: "reset", label: "重置", type: "warning", showAlways: true },
]
],
},
};
@ -281,7 +318,7 @@ export default function () {
pauseBlender: "/pms/trans/blenderPause",
startBlender: "/pms/trans/blenderStart",
pageIsPostApi: true, // 使用post接口来获取page数据极少用目前基本上只有工艺管理模块里在用
changeBlender: '/pms/order/changeBlender'
changeBlender: "/pms/order/changeBlender",
// subase: "/pms/equipmentTechParam",
// subpage: "/pms/equipmentTechParam/page",
// copyUrl: "/pms/equipmentTech/copy",

Dosyayı Görüntüle

@ -4,8 +4,7 @@
:table-config="tableConfig"
:head-config="headFormConfigs"
:dialog-configs="dialogConfigs"
:list-query-extra="[]"
/>
:list-query-extra="[{ blenderId: null }, { viewType: 0 }]" />
</template>
<script>

Dosyayı Görüntüle

@ -51,6 +51,16 @@ export default function () {
placeholder: "请输入主订单子号查询",
},
},
{
prop: "viewType",
label: "状态",
select: [
{ value: 0, label: "未结束" },
{ value: 1, label: "结束" },
{ value: 2, label: "全部" },
],
default: { value: 0 },
},
// {
// prop: "bom",
// label: "配方号",

Dosyayı Görüntüle

@ -11,7 +11,7 @@ export default function () {
{ width: 60, prop: "orderCate", label: "子号" },
{ width: 160, prop: "code", label: "压制订单号" },
{ width: 60, prop: "percent", label: "进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") },
{ prop: "statusDictValue", label: "订单状态", filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝"][val] : "-"), },
{ prop: "statusDictValue", label: "订单状态", filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝", "已下发"][val] : "-"), },
{ prop: "startTime", label: "开始时间" },
{ width: 100, prop: "shapeCode", label: "砖型" },
{ prop: "pressCode", label: "压机" },
@ -54,6 +54,26 @@ export default function () {
placeholder: "请输入主订单子号查询",
},
},
{
prop: "viewType",
label: "状态",
select: [
{ value: 0, label: "未结束" },
{ value: 1, label: "结束" },
{ value: 2, label: "全部" },
],
default: { value: 0 },
},
{
prop: "pressId",
label: "压机",
select: [
{ value: 1, label: "P1" },
{ value: 2, label: "P2" },
{ value: null, label: "全部" },
],
default: { value: null },
},
// {
// prop: "bom",
// label: "配方号",

Dosyayı Görüntüle

@ -9,8 +9,13 @@ export default function () {
// { prop: "kilnCode", label: "窑炉" },
{ width: 120, prop: "orderCode", label: "主订单号" },
{ width: 60, prop: "orderCate", label: "子号" },
{ width: 210, prop: "code", label: "检测包装订单号" },
{ width: 60, prop: "percent1", label: "进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") },
{ /** width: 210, **/ prop: "code", label: "检测包装订单号" },
{
width: 90,
prop: "percent1",
label: "进度",
filter: (val) => (val !== null && val !== undefined ? val + " %" : "-"),
},
// {
// prop: "statusDictValue",
// label: "订单状态",
@ -23,7 +28,7 @@ export default function () {
{ width: 120, prop: "qty1Complete", label: "完成量" },
{ width: 120, prop: "goodqty1", label: "检测合格量" },
{ width: 120, prop: "badqty1", label: "检测不合格量" },
{ width: 160, prop: "createTime", label: "添加时间", filter: timeFilter },
{ /** width: 160, */ prop: "createTime", label: "添加时间", filter: timeFilter },
// { width: 120, prop: "qty2", label: "包装要求数量" },
// { width: 120, prop: "qty2Complete", label: "包装完成数量" },
// { prop: "percent2", label: "包装进度", filter: (val) => (val !== null && val !== undefined ? val + " %" : "-") },
@ -60,6 +65,16 @@ export default function () {
placeholder: "请输入主订单子号查询",
},
},
{
prop: "viewType",
label: "状态",
select: [
{ value: 0, label: "未结束" },
{ value: 1, label: "结束" },
{ value: 2, label: "全部" },
],
default: { value: 0 },
},
// {
// prop: "bom",
// label: "配方号",

Dosyayı Görüntüle

@ -75,6 +75,7 @@ export default function () {
extraIds: { wsId: 2 }, // 工艺管理里面的相关模块的 dialogWithMenu 需要额外的工序 id
menu: [{ name: "压制工艺", key: 'info' }, { name: "工艺参数", key: 'attr', onlyEditMode: true }],
form: {
duplicate: true, // 是否复制 dataForm会造成 展示时显示的是 dataForm ,提交时提交 dataFrom__duplicate
rows: [
[
// {