You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

335 lines
13 KiB

@{
ViewBag.Title = "";
Layout = "~/Views/Shared/_Form.cshtml";
}
<script src="~/Content/js/datepicker/WdatePicker.js"></script>
<!--引入 element-ui 的样式,-->
<link rel="stylesheet" href="~/Content/element-ui/lib/theme-chalk/index.css">
<script src="~/Content/vue/dist/vue.js"></script>
<script src="~/Content/element-ui/lib/index.js"></script>
<script src="~/Content/axios.min.js"></script>
<style>
</style>
<form id="form1">
<div id="app">
<template>
<el-form ref="form" :model="form" label-width="150px">
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="物料编码" prop="InvCode">
<el-input v-model="form.InvCode" size="mini" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料名称" prop="InvName">
<el-input v-model="form.InvName" size="mini" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="检验项目代码" prop="ListCode">
<el-input v-model="form.ListCode" size="mini" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验项目名称" prop="ListName">
<el-input v-model="form.ListName" size="mini" :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
@*<el-col :span="8">
<el-table-column prop="EATTRIBUTE6" label="检验类型" width="140">
<template slot-scope="scope">
<el-select v-model="scope.row.EATTRIBUTE6" placeholder="请选择" size="mini">
<el-option v-for="item in dataSourceType"
:key="item.Code"
:label="item.Name"
:value="item.Code">
</el-option>
</el-select>
</template>
</el-table-column>
</el-col>*@
<el-col :span="8">
<el-form-item label="检验类型" prop="EATTRIBUTE6">
<el-select v-model="form.EATTRIBUTE6" placeholder="请选择" size="mini" :disabled="true">
<el-option v-for="item in checkAttrList"
:key="item.Code"
:label="item.Name"
:value="item.Code">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="标准上限" prop="SetValueMax">
<el-input-number v-model="form.SetValueMax" controls-position="right" :min="0" size="small"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="标准下限" prop="SetValueMin">
<el-input-number v-model="form.SetValueMin" controls-position="right" :min="0" size="small"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="单位" prop="Unit">
<el-input v-model="form.Unit" size="mini"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验标准" prop="EATTRIBUTE1">
<el-input v-model="form.EATTRIBUTE1" size="mini"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="抽样水准" prop="EATTRIBUTE2">
<el-input v-model="form.EATTRIBUTE2" size="mini"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="允收标准" prop="EATTRIBUTE3">
<el-input v-model="form.EATTRIBUTE3" size="mini"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="检验实际值是否必填" prop="EATTRIBUTE4">
<el-switch v-model="form.EATTRIBUTE4" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
</el-form-item>
</el-col>
<el-form-item label="AQL代码" prop="EATTRIBUTE5">
<el-select v-model="form.EATTRIBUTE5" placeholder="请选择" size="mini" >
<el-option v-for="item in dataSourceAql"
:key="item.Code"
:label="item.Name"
:value="item.Code">
</el-option>
</el-select>
</el-form-item>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="启用" prop="Enable">
<el-switch v-model="form.Enable" active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
</div>
</form>
<script type="text/javascript">
//const { Console } = require("node:console");
var vm = new Vue({
el: '#app',
data: {
id:'',
userCode: "",
ssList: [],
dataSourceAql: [],
form: {},
rules: {
InvCode: [{ required: true, message: '请输入', trigger: 'blur' },],
RulesCode: [{ required: true, message: '请输入', trigger: 'blur' },],
},
disabled4RulesCode: false,
checkAttrList: [],//
},
//挂在DOM 触发
mounted() {
//let reactiveObject = {
// InvCode:'',
// RulesCode: '',
// RulesName: '',
// RulesDesc: '',
// Type: '',
// Enable: true,
//};
//this.form = reactiveObject;
// this.loadGrid();
// this.show();
this.id = '@ViewData["ids"]';
this.initControl();
// console.log(this.id);
},
beforeDestroy() {
// this.autoScrol1(true);
},
methods: {
initControl: function () {
let that = this;
let orgName = '';
this.disabled4RulesCode = this.id ? true : false;
let userName = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserName';
// console.log(userName);
this.getAllCheckAttr();
this.getData();
this.getAql();
//this.getAllItem();
},
getAllCheckAttr() {
axios
.get('/WMS/BasicSettings/GetICSType?Type=EATTRIBUTE6&TableCode=ICSInspectionList')
.then(function (res) {
//debugger;
if (res.data) {
res.data.forEach(function (el, i) {
Vue.set(vm.checkAttrList, i, el)
});
}
})
.catch(function (error) { // 请求失败处理
alert(error);
});
},
getAql() {
axios
.get('/DHAY/IQCQuality/GetICSAql')
.then(function (res) {
if (res.data && Array.isArray(res.data)) {
res.data.forEach(function (el, i) {
Vue.set(vm.dataSourceAql, i, el);
});
}
//if (res.data) {
// debugger;
// for (var i in res.data) {
// Vue.set(vm.dataSourceAql, i, res.data[i])
// }
// //res.data.forEach(function (el, i) {
// // Vue.set(vm.dataSourceAql, i, el)
// //});
//}
})
.catch(function (error) { // 请求失败处理
alert(error);
});
},
getData() {
if (!this.id) return;
axios
.get('/DHAY/IQCQuality/GetItem2CheckItem?keyValue=' + this.id)
.then(function (res) {
if (res.data) {
for (var i in res.data) {
debugger;
if (res.data[i] == "true") {
res.data[i] = true;
}
Vue.set(vm.form, i, res.data[i]);
}
//res.data.DetailList.forEach(function (el, i) {
// Vue.set(vm.dataSource4Detail, i, el)
//});
}
})
.catch(function (error) { // 请求失败处理
alert(error);
});
},
submitCheck() {
if (this.form.CheckAttr == "001") {
if (!validateFormFields(
this.form,
["Unit", "SetValueMax", "SetValueMin"],
"当属性为尺寸时,最大值最小值单位必填"
)) {
return false;
}
//if (!this.form.Unit || !this.form.SetValueMax || !this.form.SetValueMin) {
// $.modalMsg("当属性为尺寸时,最大值最小值单位必填", "warning");
// return false;
//}
}
if (this.form.SetValueMax <= this.form.SetValueMin) {
$.modalMsg("下限必须小于上限", "warning");
return false;
}
this.$refs['form'].validate((valid) => {
if (valid) {
//alert('submit!');
$.submitForm({
url: "/DHAY/IQCQuality/SaveItem2CheckItemSingle",
param: { keyValue: JSON.stringify(this.form) },
success: function () {
$.currentWindow().$("#gridList").trigger("reloadGrid");
}
})
} else {
console.log('error submit!!');
return false;
}
});
// console.log(result);
},
},
});
function submitForm() {
//debugger;
vm.submitCheck();
}
@** 验证表单字段是否为空
* @param {Object} form - 表单对象
* @param {Array} fields - 需要验证的字段名数组
* @param {String} errorMsg - 验证失败时显示的错误信息
* @returns {Boolean} - 验证是否通过*@
function validateFormFields(form, fields, errorMsg) {
// 检查每个字段是否为空
for (const field of fields) {
const value = form[field];
if (value === null || value === undefined || value === "") {
$.modalMsg(errorMsg, "warning");
return false;
}
}
return true;
}
</script>