Commit a7870c90 authored by 何远江's avatar 何远江

修改量产申请页面样式,及新增关闭当前页面

parent a3938166
......@@ -16,6 +16,7 @@
<PageWrapper>
<el-form
class="page-form"
:model="form"
ref="form"
size="small"
......@@ -23,7 +24,7 @@
label-width="8em"
>
<el-row>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="申请单编码" prop="productionRequestCode">
<el-input
disabled
......@@ -33,7 +34,7 @@
</el-form-item>
</el-col>
<el-col :md="8" :xs="12" style="height: 50.5px">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="产品" prop="itemId">
<el-input
v-model="form.itemName"
......@@ -49,7 +50,7 @@
<ItemSelect ref="ItemSelectRef" @onSelected="onItemSelect" />
</el-form-item>
</el-col>
<el-col :md="8" :xs="12" style="height: 50.5px">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="工艺路线" prop="routeId">
<el-input
v-model="form.routeName"
......@@ -68,9 +69,7 @@
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="制造工厂" prop="factoryId">
<el-input
v-model="form.factoryName"
......@@ -89,7 +88,7 @@
/>
</el-form-item>
</el-col>
<!-- <el-col :md="8" :xs="12">
<!-- <el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="仓库" prop="warehouse">
<el-input
v-model="form.warehouse"
......@@ -97,7 +96,7 @@
></el-input>
</el-form-item>
</el-col> -->
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="尺码" prop="sizeGroup">
<el-input
v-model="form.sizeGroup"
......@@ -105,52 +104,40 @@
></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="是否要鞋图" prop="isNeedShoeImg">
<el-select
v-model="form.isNeedShoeImg"
placeholder="请选择"
>
<el-select v-model="form.isNeedShoeImg" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="是否附样品" prop="isNeedPrototype">
<el-select
v-model="form.isNeedPrototype"
placeholder="请选择"
>
<el-select v-model="form.isNeedPrototype" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="唯一码产品" prop="isUniqueCode">
<el-select
v-model="form.isUniqueCode"
placeholder="请选择"
>
<el-select v-model="form.isUniqueCode" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="不考虑型体配色" prop="isConsiderColor">
<el-select
v-model="form.isConsiderColor"
placeholder="请选择"
>
<el-select v-model="form.isConsiderColor" placeholder="请选择">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :md="8" :xs="12">
<!-- <el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="样品" prop="prototype">
<el-input
v-model="form.prototype"
......@@ -160,7 +147,7 @@
</el-col> -->
</el-row>
<el-row>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="备注" prop="remark">
<el-input
type="textarea"
......@@ -172,9 +159,15 @@
</el-col>
</el-row>
<el-row>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="鞋图" prop="shoeImg">
<ImageUpload :limit="1" :value="form.shoeImg" :fileSize="5" @onUploaded="handleImgUploaded" @onRemoved="handleImgRemoved"></ImageUpload>
<ImageUpload
:limit="1"
:value="form.shoeImg"
:fileSize="5"
@onUploaded="handleImgUploaded"
@onRemoved="handleImgRemoved"
></ImageUpload>
</el-form-item>
</el-col>
</el-row>
......@@ -193,210 +186,217 @@
</template>
<script>
import { genCode } from "@/api/system/autocode/rule";
import ProogingBom from "./components/ProogingBom.vue";
import ProogingProcess from "./components/ProogingProcess.vue";
import ItemSelect from "@/components/itemSelect/single.vue";
import RoutesProcessSelect from "@/components/routesProcessSelect/index.vue";
import FactorySelect from "@/components/FactorySelect/index.vue";
import { listRouteprocess } from "@/api/mes/pro/routeprocess";
import tabPlugins from "@/plugins/tab";
import {
addProductionRequest,
getProductionRequest,
updateProductionRequest,
} from "@/api/mes/pro/productionRequest";
import { genCode } from "@/api/system/autocode/rule";
import ProogingBom from "./components/ProogingBom.vue";
import ProogingProcess from "./components/ProogingProcess.vue";
import ItemSelect from "@/components/itemSelect/single.vue";
import RoutesProcessSelect from "@/components/routesProcessSelect/index.vue";
import FactorySelect from "@/components/FactorySelect/index.vue";
import { listRouteprocess } from "@/api/mes/pro/routeprocess";
import tabPlugins from "@/plugins/tab";
import {
addProductionRequest,
getProductionRequest,
updateProductionRequest,
} from "@/api/mes/pro/productionRequest";
import {
getPrototypeMake
} from "@/api/mes/pro/prototypeMake";
import { getPrototypeMake } from "@/api/mes/pro/prototypeMake";
export default {
components: { ProogingBom, ProogingProcess, ItemSelect, RoutesProcessSelect, FactorySelect },
dicts: [],
provide() {
return {
mode: this.mode,
};
export default {
components: {
ProogingBom,
ProogingProcess,
ItemSelect,
RoutesProcessSelect,
FactorySelect,
},
dicts: [],
provide() {
return {
mode: this.mode,
};
},
data() {
return {
loading: false,
bomList: [],
// 表单参数
form: {
productionRequestCode: "",
itemId: "",
itemName: "",
unit: "",
routeId: "",
routeName: "",
factoryId: "",
factoryName: "",
type: "",
modality: "",
isNeedPrototype: "",
isNeedShoeImg: "",
isUniqueCode: "",
isDisabled: "",
shoeImg: "",
sizeGroup: "",
remark: "",
prototype: "",
warehouse: "",
},
rules: {},
};
},
computed: {
scrollHeight() {
return "calc(100vh - 73px - 83px)";
},
mode() {
return this.$route.path.split("/").at(-1);
},
data() {
return {
loading: false,
bomList: [],
// 表单参数
form: {
productionRequestCode: "",
itemId: "",
itemName: "",
unit: "",
routeId: "",
routeName: "",
factoryId:"",
factoryName:"",
type: "",
modality: "",
isNeedPrototype: "",
isNeedShoeImg: "",
isUniqueCode: "",
isDisabled:"",
shoeImg: "",
sizeGroup: "",
remark: "",
prototype:"",
warehouse: "",
},
rules: {},
pageTitle() {
const titles = {
edit: "量产单修改",
info: "量产单查看",
apply: "量产单申请",
};
return titles[this.mode];
},
computed: {
scrollHeight() {
return "calc(100vh - 73px - 83px)";
},
mode() {
return this.$route.path.split("/").at(-1);
},
pageTitle() {
const titles = {
edit: "量产单修改",
info: "量产单查看",
apply: "量产单申请",
};
return titles[this.mode];
},
},
created() {
this.getFormInfo();
this.gCode();
},
methods: {
/** 根据 id 获取页面数据 */
getFormInfo() {
if (this.mode == "apply" && this.$route.query.prototypeMakeId) {
const id = this.$route.query.prototypeMakeId;
this.loading = true;
getPrototypeMake(id)
.then(({ data }) => {
Object.assign(this.form, data);
this.bomList = data.bomList;
// 设置组件数据
this.$refs["ProogingBomRef"].tableData = data.bomList;
this.$refs["ProogingProcessRef"].tableData = data.processList;
})
.finally(() => {
this.loading = false;
});
}
},
created() {
this.getFormInfo();
this.gCode();
/** 生成编码 */
gCode() {
genCode("PRODUCTION_REQUEST_CODE").then((response) => {
this.form.productionRequestCode = response;
});
},
methods: {
/** 根据 id 获取页面数据 */
getFormInfo() {
if (this.mode == "apply" && this.$route.query.prototypeMakeId) {
const id = this.$route.query.prototypeMakeId;
this.loading = true;
getPrototypeMake(id)
.then(({ data }) => {
Object.assign(this.form, data);
this.bomList = data.bomList;
// 设置组件数据
this.$refs["ProogingBomRef"].tableData = data.bomList;
this.$refs["ProogingProcessRef"].tableData = data.processList;
})
.finally(() => {
this.loading = false;
});
}
},
/** 生成编码 */
gCode() {
genCode("PRODUCTION_REQUEST_CODE").then((response) => {
this.form.productionRequestCode = response;
});
},
/** 点击tab 获取bom的数据,将参数传递给后面的组件 */
tabClick(val) {
if (val.index != 0) {
this.bomList = this.$refs["ProogingBomRef"].getComData();
}
},
onItemSelect(row) {
if (row != undefined && row != null) {
this.form.itemId = row.itemId;
this.form.itemName = row.itemName;
this.form.unit = row.unitOfMeasure;
}
},
onRoutesProcessSelect(row) {
if (row != undefined && row != null) {
this.form.routeId = row.routeId;
this.form.routeName = row.routeName;
const params = {
pageNum: 1,
pageSize: 1000,
routeId: row.routeId,
};
listRouteprocess(params).then(({ rows }) => {
this.$refs["ProogingProcessRef"].setList(rows);
});
}
},
onFactorySelect(row) {
if (row != undefined && row != null) {
this.form.factoryId = row.factoryId;
this.form.factoryName = row.factoryName;
}
},
/** 点击tab 获取bom的数据,将参数传递给后面的组件 */
tabClick(val) {
if (val.index != 0) {
this.bomList = this.$refs["ProogingBomRef"].getComData();
}
},
onItemSelect(row) {
if (row != undefined && row != null) {
this.form.itemId = row.itemId;
this.form.itemName = row.itemName;
this.form.unit = row.unitOfMeasure;
}
},
onRoutesProcessSelect(row) {
if (row != undefined && row != null) {
this.form.routeId = row.routeId;
this.form.routeName = row.routeName;
/**提交 */
saveForm() {
const bomList = this.$refs.ProogingBomRef.getComData();
const processList = this.$refs.ProogingProcessRef.getComData();
const params = {
...this.form,
bomList,
processList,
pageNum: 1,
pageSize: 1000,
routeId: row.routeId,
};
this.loading = true;
if (this.mode == "apply") {
addProductionRequest(params)
.then((res) => {
this.loading = false;
this.$modal.msgSuccess("提交成功!");
listRouteprocess(params).then(({ rows }) => {
this.$refs["ProogingProcessRef"].setList(rows);
});
}
},
onFactorySelect(row) {
if (row != undefined && row != null) {
this.form.factoryId = row.factoryId;
this.form.factoryName = row.factoryName;
}
},
/**提交 */
saveForm() {
const bomList = this.$refs.ProogingBomRef.getComData();
const processList = this.$refs.ProogingProcessRef.getComData();
const params = {
...this.form,
bomList,
processList,
};
this.loading = true;
if (this.mode == "apply") {
addProductionRequest(params)
.then((res) => {
this.loading = false;
this.$modal.msgSuccess("提交成功!");
this.$nextTick(() => {
// 关闭页签
tabPlugins.closeOpenPage();
})
.catch(() => {
this.loading = false;
});
} else {
updateProductionRequest(params)
.then(() => {
this.loading = false;
this.$modal.msgSuccess("提交成功!");
})
.catch(() => {
this.loading = false;
this.$router.replace("/mes/pro/productiorequest/query");
});
}
},
/**重置表单 */
resetForm() {
this.form = {
productionRequestCode: "",
itemId: "",
itemName: "",
unit: "",
routeId: "",
routeName: "",
factoryId:"",
factoryName:"",
type: "",
modality: "",
isNeedPrototype: "",
isNeedShoeImg: "",
isUniqueCode: "",
isDisabled:"",
shoeImg: "",
sizeGroup: "",
remark: "",
prototype:"",
warehouse: "",
};
this.$refs["ProogingBomRef"].resetState();
this.$refs["ProogingProcessRef"].resetState();
this.gCode();
},
//图片上传成功
handleImgUploaded(imgUrl){
this.form.shoeImg = imgUrl;
},
//图片移除
handleImgRemoved(imgUrl){
this.form.shoeImg = null;
},
})
.catch(() => {
this.loading = false;
});
} else {
updateProductionRequest(params)
.then(() => {
this.loading = false;
this.$modal.msgSuccess("提交成功!");
})
.catch(() => {
this.loading = false;
});
}
},
/**重置表单 */
resetForm() {
this.form = {
productionRequestCode: "",
itemId: "",
itemName: "",
unit: "",
routeId: "",
routeName: "",
factoryId: "",
factoryName: "",
type: "",
modality: "",
isNeedPrototype: "",
isNeedShoeImg: "",
isUniqueCode: "",
isDisabled: "",
shoeImg: "",
sizeGroup: "",
remark: "",
prototype: "",
warehouse: "",
};
this.$refs["ProogingBomRef"].resetState();
this.$refs["ProogingProcessRef"].resetState();
this.gCode();
},
//图片上传成功
handleImgUploaded(imgUrl) {
this.form.shoeImg = imgUrl;
},
//图片移除
handleImgRemoved(imgUrl) {
this.form.shoeImg = null;
},
};
},
};
</script>
<style lang="scss" scoped></style>
......@@ -16,6 +16,7 @@
<PageWrapper>
<el-form
class="page-form"
:model="form"
ref="form"
size="small"
......@@ -23,7 +24,7 @@
label-width="8em"
>
<el-row>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="申请单编码" prop="productionRequestCode">
<el-input
disabled
......@@ -33,7 +34,7 @@
</el-form-item>
</el-col>
<el-col :md="8" :xs="12" style="height: 50.5px">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="产品" prop="itemId">
<el-input
v-model="form.itemName"
......@@ -49,7 +50,7 @@
<ItemSelect ref="ItemSelectRef" @onSelected="onItemSelect" />
</el-form-item>
</el-col>
<el-col :md="8" :xs="12" style="height: 50.5px">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="工艺路线" prop="routeId">
<el-input
v-model="form.routeName"
......@@ -68,9 +69,7 @@
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="8" :xs="12" style="height: 50.5px">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="制造工厂" prop="factoryId">
<el-input
v-model="form.factoryName"
......@@ -83,10 +82,13 @@
@click="$refs['FactorySelectRef'].showFlag = true"
></el-button>
</el-input>
<FactorySelect ref="FactorySelectRef" @onSelected="onFactorySelect" />
<FactorySelect
ref="FactorySelectRef"
@onSelected="onFactorySelect"
/>
</el-form-item>
</el-col>
<!-- <el-col :md="8" :xs="12">
<!-- <el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="仓库" prop="warehouse">
<el-input
v-model="form.warehouse"
......@@ -94,7 +96,7 @@
></el-input>
</el-form-item>
</el-col> -->
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="尺码" prop="sizeGroup">
<el-input
v-model="form.sizeGroup"
......@@ -102,63 +104,48 @@
></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="是否要鞋图" prop="isNeedShoeImg">
<el-select
v-model="form.isNeedShoeImg"
placeholder="请选择"
>
<el-select v-model="form.isNeedShoeImg" placeholder="请选择">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="是否附样品" prop="isNeedPrototype">
<el-select
v-model="form.isNeedPrototype"
placeholder="请选择"
>
<el-select v-model="form.isNeedPrototype" placeholder="请选择">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="唯一码产品" prop="isUniqueCode">
<el-select
v-model="form.isUniqueCode"
placeholder="请选择"
>
<el-select v-model="form.isUniqueCode" placeholder="请选择">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="不考虑型体配色" prop="isConsiderColor">
<el-select
v-model="form.isConsiderColor"
placeholder="请选择"
>
<el-select v-model="form.isConsiderColor" placeholder="请选择">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="是否禁用" prop="isDisabled">
<el-select
v-model="form.isDisabled"
placeholder="请选择"
>
<el-select v-model="form.isDisabled" placeholder="请选择">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :md="8" :xs="12">
<!-- <el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="样品" prop="prototype">
<el-input
v-model="form.prototype"
......@@ -169,7 +156,7 @@
</el-row>
<el-row>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="备注" prop="remark">
<el-input
type="textarea"
......@@ -181,9 +168,15 @@
</el-col>
</el-row>
<el-row>
<el-col :md="8" :xs="12">
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="鞋图" prop="shoeImg">
<ImageUpload :limit="1" :value="form.shoeImg" :fileSize="5" @onUploaded="handleImgUploaded" @onRemoved="handleImgRemoved"></ImageUpload>
<ImageUpload
:limit="1"
:value="form.shoeImg"
:fileSize="5"
@onUploaded="handleImgUploaded"
@onRemoved="handleImgRemoved"
></ImageUpload>
</el-form-item>
</el-col>
</el-row>
......@@ -204,7 +197,7 @@
<script>
import { genCode } from "@/api/system/autocode/rule";
import ProogingBom from "./components/ProogingBom.vue";
import ImageUpload from "@/components/ImageUpload/index.vue"
import ImageUpload from "@/components/ImageUpload/index.vue";
import ProogingProcess from "./components/ProogingProcess.vue";
import ItemSelect from "@/components/itemSelect/single.vue";
import FactorySelect from "@/components/FactorySelect/index.vue";
......@@ -218,7 +211,14 @@ import {
} from "@/api/mes/pro/productionRequest";
export default {
components: { ProogingBom, ProogingProcess, ItemSelect, RoutesProcessSelect, FactorySelect, ImageUpload },
components: {
ProogingBom,
ProogingProcess,
ItemSelect,
RoutesProcessSelect,
FactorySelect,
ImageUpload,
},
dicts: [],
provide() {
return {
......@@ -237,18 +237,18 @@ export default {
unit: "",
routeId: "",
routeName: "",
factoryId:"",
factoryName:"",
factoryId: "",
factoryName: "",
type: "",
modality: "",
isNeedPrototype: "",
isNeedShoeImg: "",
isUniqueCode: "",
isDisabled:"",
isDisabled: "",
shoeImg: "",
sizeGroup: "",
remark: "",
prototype:"",
prototype: "",
warehouse: "",
},
rules: {},
......@@ -375,29 +375,29 @@ export default {
unit: "",
routeId: "",
routeName: "",
factoryId:"",
factoryName:"",
factoryId: "",
factoryName: "",
type: "",
modality: "",
isNeedPrototype: "",
isNeedShoeImg: "",
isUniqueCode: "",
isDisabled:"",
isDisabled: "",
shoeImg: "",
sizeGroup: "",
remark: "",
prototype:"",
prototype: "",
warehouse: "",
};
this.$refs["ProogingBomRef"].resetState();
this.$refs["ProogingProcessRef"].resetState();
},
//图片上传成功
handleImgUploaded(imgUrl){
handleImgUploaded(imgUrl) {
this.form.shoeImg = imgUrl;
},
//图片移除
handleImgRemoved(imgUrl){
handleImgRemoved(imgUrl) {
this.form.shoeImg = null;
},
},
......
......@@ -732,7 +732,7 @@ export default {
const taskId = row.taskId || this.ids;
getProtask(taskId).then((response) => {
this.form = response.data;
this.getProcess();
// this.getProcess();
this.open = true;
this.title = "查看任务单信息";
this.optType = "view";
......@@ -747,7 +747,7 @@ export default {
}
getProtask(row.taskId).then((response) => {
this.form = response.data;
this.getProcess();
// this.getProcess();
this.open = true;
this.title = "生产排产";
this.optType = "edit";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment