This commit is contained in:
lb 2023-07-24 16:55:45 +08:00
parent c71c49151c
commit 0c384fcf10
9 changed files with 173 additions and 71 deletions

View File

@ -38,8 +38,8 @@
<% if (process.env.VUE_APP_NODE_ENV === 'dev') { %> <% if (process.env.VUE_APP_NODE_ENV === 'dev') { %>
<script> <script>
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.103:8080/pms-am'; // 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.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.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.62:8080/pms-am'; // tao
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.21:8080/pms-am'; // xv // window.SITE_CONFIG['apiURL'] = 'http://192.168.1.21:8080/pms-am'; // xv
// window.SITE_CONFIG['apiURL'] = 'http://localhost:3000/p//////ms-am'; // xv // window.SITE_CONFIG['apiURL'] = 'http://localhost:3000/p//////ms-am'; // xv

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -11,7 +11,7 @@ export default function () {
{ width: 60, prop: "orderCate", label: "子号" }, { width: 60, prop: "orderCate", label: "子号" },
{ width: 160, prop: "code", 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] : "-"), }, { prop: "statusDictValue", label: "订单状态", filter: (val) => (val !== null && val !== undefined ? ["等待", "确认", "生产", "暂停", "结束", "接受", "拒绝", "已下发"][val] : "-"), },
{ prop: "startTime", label: "开始时间" }, { prop: "startTime", label: "开始时间" },
{ width: 100, prop: "shapeCode", label: "砖型" }, { width: 100, prop: "shapeCode", label: "砖型" },
{ prop: "pressCode", label: "压机" }, { prop: "pressCode", label: "压机" },
@ -54,6 +54,26 @@ export default function () {
placeholder: "请输入主订单子号查询", 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", // prop: "bom",
// label: "配方号", // label: "配方号",

View File

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

View File

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