Merge branch 'master' of http://www.koelndom.cn:13030/Huabao/FactorySystemWeb
commit
b86dcbbc06
@ -0,0 +1,295 @@
|
||||
<template>
|
||||
<lay-container class="content-box" :style="'padding-top:'+(editType!=1?0:35)+'px'">
|
||||
<view class="edit-box">
|
||||
<lay-form :model="searchObj" class="search-box edit-info">
|
||||
<lay-row class="color666">
|
||||
<lay-form-item label="物料号" prop="FCode">
|
||||
<lay-input v-model="searchObj.FCode"></lay-input>
|
||||
</lay-form-item>
|
||||
<lay-form-item label="试验号" prop="FTestCode">
|
||||
<lay-input v-model="searchObj.FTestCode"></lay-input>
|
||||
</lay-form-item>
|
||||
<lay-form-item label="物料描述" prop="FName">
|
||||
<lay-input v-model="searchObj.FName"></lay-input>
|
||||
</lay-form-item>
|
||||
<lay-form-item label="产品分类" prop="FType">
|
||||
<lay-select v-model="searchObj.FType">
|
||||
<lay-select-option v-for="(tIdv,tIdx) in typeListObj" :key="tIdx" :value="tIdv.FValue"
|
||||
:label="tIdv.FName"></lay-select-option>
|
||||
</lay-select>
|
||||
</lay-form-item>
|
||||
<lay-form-item v-if="editType != 1"></lay-form-item>
|
||||
</lay-row>
|
||||
<lay-form-item class="search-btn">
|
||||
<lay-button size="sm" type="primary" @click="_clickSearch">搜索</lay-button>
|
||||
<lay-button size="sm" @click="_clickReset">重置</lay-button>
|
||||
</lay-form-item>
|
||||
</lay-form>
|
||||
<lay-form :model="objInfo" class="search-box edit-info color999">
|
||||
<lay-form-item label="主物料号" prop="FCode">
|
||||
<lay-input :disabled="isDisabled" v-model="objInfo.FCode"></lay-input>
|
||||
</lay-form-item>
|
||||
<lay-form-item label="主物料描述" prop="FName">
|
||||
<lay-input :disabled="isDisabled" v-model="objInfo.FName" type="FName"></lay-input>
|
||||
</lay-form-item>
|
||||
<lay-form-item :label=" editType == 1 ? '替代料物料号' : '副产物物料号' ">
|
||||
<lay-input :disabled="isDisabled" v-model="objInfo.choseData.FCode"></lay-input>
|
||||
</lay-form-item>
|
||||
<lay-form-item :label=" editType == 1 ? '替代料描述' : '副产物描述' ">
|
||||
<lay-input :disabled="isDisabled" v-model="objInfo.choseData.FName"></lay-input>
|
||||
</lay-form-item>
|
||||
<lay-form-item v-if="editType != 1" label="副产物数量">
|
||||
<lay-input v-model="objInfo.choseData.FCount"></lay-input>
|
||||
</lay-form-item>
|
||||
<lay-form-item v-if="editType != 1" label="副产物单位">
|
||||
<lay-input v-model="objInfo.choseData.FUnit"></lay-input>
|
||||
</lay-form-item>
|
||||
<lay-form-item class="search-btn">
|
||||
<lay-button size="sm" type="danger" @click="submitClick">确定</lay-button>
|
||||
<lay-button size="sm" @click="cancelClick">取消</lay-button>
|
||||
</lay-form-item>
|
||||
</lay-form>
|
||||
</view>
|
||||
<view class="edit-box">
|
||||
<lay-table :class=" 'empty-small' + editType " :columns="dataColumn" id="id" :dataSource="dataList"
|
||||
v-model:selected-key="selectedKey" :page="dataList.length>0?pageInfo:null" @change="changePage">
|
||||
</lay-table>
|
||||
</view>
|
||||
</lay-container>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.content-box {
|
||||
height: 744px;
|
||||
display: block;
|
||||
position: relative;
|
||||
clear: both;
|
||||
float: none;
|
||||
}
|
||||
|
||||
.edit-box {
|
||||
display: block;
|
||||
width: 99%;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
clear: both;
|
||||
float: none;
|
||||
}
|
||||
|
||||
.edit-info {
|
||||
margin: 20px 0 10px;
|
||||
width: 47%;
|
||||
padding-left: 1%;
|
||||
padding-right: 1%;
|
||||
display: inline-block;
|
||||
margin-right: 0.75%;
|
||||
}
|
||||
|
||||
.edit-info+.edit-info {
|
||||
margin-left: 0.75%;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.layui-form-item {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
import {
|
||||
ref,
|
||||
watch
|
||||
} from 'vue';
|
||||
import {
|
||||
updateDataInfo,
|
||||
getPageList
|
||||
} from "/src/api/api/common";
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const objInfo = ref({
|
||||
choseData: {
|
||||
FName: "",
|
||||
FType: "",
|
||||
FCode: ""
|
||||
}
|
||||
});
|
||||
const postData = ref({});
|
||||
|
||||
const pageInfo = ref({
|
||||
total: 0,
|
||||
limit: 5,
|
||||
current: 1
|
||||
});
|
||||
let dataColumn = [{
|
||||
type: "radio"
|
||||
},
|
||||
{
|
||||
title: "物料号",
|
||||
key: "FCode",
|
||||
width: "200px"
|
||||
},
|
||||
{
|
||||
title: "试验号",
|
||||
key: "FTestCode",
|
||||
width: "200px"
|
||||
},
|
||||
{
|
||||
title: "物料描述",
|
||||
key: "FName",
|
||||
minWidth: "300px"
|
||||
},
|
||||
{
|
||||
title: "产品分类",
|
||||
key: "FTypeName",
|
||||
width: "110px"
|
||||
}
|
||||
];
|
||||
dataColumn.forEach((item) => {
|
||||
item.align = "center";
|
||||
});
|
||||
const dataList = ref([]);
|
||||
const selectedKey = ref("");
|
||||
const isDisabled = ref(true);
|
||||
const searchObj = ref({});
|
||||
watch(selectedKey, function() {
|
||||
const choseObj = dataList.value.find(s => s.id == selectedKey.value) || null;
|
||||
if (choseObj != null) {
|
||||
objInfo.value.choseData.FID = choseObj.FID;
|
||||
objInfo.value.choseData.FName = choseObj.FName;
|
||||
objInfo.value.choseData.FType = choseObj.FType;
|
||||
objInfo.value.choseData.FCode = choseObj.FCode;
|
||||
}
|
||||
});
|
||||
return {
|
||||
objInfo,
|
||||
postData,
|
||||
pageInfo,
|
||||
dataColumn,
|
||||
dataList,
|
||||
selectedKey,
|
||||
isDisabled,
|
||||
searchObj
|
||||
}
|
||||
},
|
||||
props: {
|
||||
dataInfoObj: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
MaterialModel:{
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
typeListObj: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
editType: {
|
||||
type: Number,
|
||||
default: () => 1,
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
debugger
|
||||
|
||||
this.objInfoObj=this.MaterialModel;
|
||||
let objInfo = JSON.parse(JSON.stringify(this.objInfoObj));
|
||||
objInfo.choseData = {
|
||||
FID: this.editType == 1 ? objInfo.FSuccedaneumID : objInfo.FFuProductsID,
|
||||
FName: this.editType == 1 ? objInfo.FSuccedaneumInfo : objInfo.FFuProductsInfo,
|
||||
FType: this.editType == 1 ? objInfo.FSuccedaneumType : objInfo.FFuProductsType,
|
||||
FCode: this.editType == 1 ? objInfo.FSuccedaneumCode : objInfo.FFuProductsCode,
|
||||
FCount: objInfo.FFuProductsCount || "",
|
||||
FUnit: objInfo.FFuProductsUnit || ""
|
||||
};
|
||||
if (this.editType == 1) this.pageInfo.limit = 6;
|
||||
this.objInfo = objInfo;
|
||||
this._getPageList();
|
||||
},
|
||||
methods: {
|
||||
//列表-分页
|
||||
changePage(obj) {
|
||||
this.pageInfo.current = obj.current;
|
||||
this._getPageList();
|
||||
},
|
||||
//检索-检索
|
||||
_clickSearch() {
|
||||
this.postData = {};
|
||||
for (let key in this.searchObj) {
|
||||
let val = this.searchObj[key];
|
||||
if (val != null && val != "") this.postData[key] = val;
|
||||
}
|
||||
this._getPageList(true);
|
||||
},
|
||||
//检索-重置
|
||||
_clickReset() {
|
||||
this.searchObj = {};
|
||||
this._clickSearch();
|
||||
},
|
||||
//列表-数据
|
||||
async _getPageList(isFirst) {
|
||||
debugger
|
||||
this.pageInfo.total = 0;
|
||||
if (isFirst) {
|
||||
this.pageInfo.current = 1;
|
||||
this.pageInfo.total = 0;
|
||||
}
|
||||
this.postData.FPageIndex = this.pageInfo.current;
|
||||
this.postData.FPageSize = this.pageInfo.limit;
|
||||
let result = await getPageList(this.postData, "Material");
|
||||
result.Data.List = result.Data.List || [];
|
||||
let cD = this.objInfo.choseData;
|
||||
result.Data.List.forEach((item) => {
|
||||
let type = this.typeListObj.find(s => s.FValue == item.FType);
|
||||
item.FTypeName = type == null ? "" : type.FName;
|
||||
item.id = item.FID;
|
||||
if (item.FCode == cD.FCode && item.FName == cD.FName && item.FType == cD.FType &&
|
||||
this.selectedKey != item.id) {
|
||||
this.selectedKey = item.id
|
||||
}
|
||||
});
|
||||
this.pageInfo.total = result.Data.Total || 0;
|
||||
this.dataList = result.Data.List;
|
||||
},
|
||||
//提交
|
||||
async submitClick() {
|
||||
let updateInfo = {
|
||||
FID: this.objInfo.FID
|
||||
};
|
||||
if (this.editType == 1) {
|
||||
updateInfo.FSuccedaneumID = this.objInfo.choseData.FID || -1;
|
||||
updateInfo.FSuccedaneumInfo = this.objInfo.choseData.FName || "";
|
||||
updateInfo.FSuccedaneumType = this.objInfo.choseData.FType || "";
|
||||
updateInfo.FSuccedaneumCode = this.objInfo.choseData.FCode || "";
|
||||
} else {
|
||||
updateInfo.FFuProductsID = this.objInfo.choseData.FID || -1;
|
||||
updateInfo.FFuProductsInfo = this.objInfo.choseData.FName || "";
|
||||
updateInfo.FFuProductsType = this.objInfo.choseData.FType || "";
|
||||
updateInfo.FFuProductsCode = this.objInfo.choseData.FCode || "";
|
||||
updateInfo.FFuProductsCount = this.objInfo.choseData.FCount || "";
|
||||
updateInfo.FFuProductsUnit = this.objInfo.choseData.FUnit || "";
|
||||
}
|
||||
let result = await updateDataInfo(updateInfo, "Material") || 0;
|
||||
if (result > 0) {
|
||||
layer.msg("操作成功", {
|
||||
time: 1500,
|
||||
icon: 1
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.cancelClick(true);
|
||||
this.$emit("showEditMaterial");
|
||||
}, 150)
|
||||
} else {
|
||||
layer.msg("操作失败", {
|
||||
time: 1000,
|
||||
icon: 2
|
||||
})
|
||||
}
|
||||
},
|
||||
//取消
|
||||
cancelClick(isRefresh) {
|
||||
this.$emit('cancelClick', isRefresh == undefined ? false : isRefresh);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Loading…
Reference in new issue