Browse Source

[feat]

品质管理 品质单
新增来料品质单页面采购品质、委外品质按钮跳转方法;
修改来料品质开始品质页面和详情页面,调整显示结构及功能;
修改其他生产开始品质页面交检时间输入框为只读;
新增采购入库品质审批页面;
dev
王晓迪 3 months ago
parent
commit
a61ec8a22a
  1. 38
      ruoyi-admin/src/main/resources/templates/quality/iqcQualityOrder/iqcQualityOrder.html
  2. 89
      ruoyi-admin/src/main/resources/templates/quality/qualityOrder/iqcStartingQuality.html
  3. 218
      ruoyi-admin/src/main/resources/templates/quality/qualityOrder/iqcStartingQualityDetail.html
  4. 255
      ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeInStartingQuality.html
  5. 207
      ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeInStartingQualityDetail.html
  6. 2
      ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeOtherStartingQuality.html
  7. 2
      ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeStartingQuality.html
  8. 4
      ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeStartingQualityDetail.html
  9. 3
      ruoyi-admin/src/main/resources/templates/quality/qualityReport/qualityReport.html
  10. 421
      ruoyi-admin/src/main/resources/templates/quality/qualityReport/taskPzjlVerifyPurchase.html

38
ruoyi-admin/src/main/resources/templates/quality/iqcQualityOrder/iqcQualityOrder.html

@ -88,14 +88,6 @@
var qualityStorageStatusDatas = [[${@dict.getType('quality_storage_status')}]];
var loginName = [[${@permission.getPrincipalProperty('loginName')}]];
var detailFlag = [[${@permission.hasPermi('quality:qualityOrder:detail')}]];
var qualityFlag = [[${@permission.hasPermi('quality:qualityOrder:startingQuality')}]];
var makeInStartingQualityFlag = [[${@permission.hasPermi('quality:qualityOrder:makeInStartingQuality')}]];
var makeInStartingQualityDetailFlag = [[${@permission.hasPermi('quality:qualityOrder:makeInStartingQualityDetail')}]];
var makeStartingQualityFlag = [[${@permission.hasPermi('quality:qualityOrder:makeStartingQuality')}]];
var makeStartingQualityDetailFlag = [[${@permission.hasPermi('quality:qualityOrder:makeStartingQualityDetail')}]];
var prefix = ctx + "quality/qualityOrder";
$(function() {
@ -203,20 +195,20 @@
var actions = [];
//采购订单品质
if (row.qualityStatus != 2 && row.qualityStorageStatus == 0 ){
actions.push('<a class="btn btn-success btn-xs ' + qualityFlag + '" href="javascript:void(0)" onclick="startingQuality(\'' + row.qualityOrderId + '\')"><i class="fa fa-edit"></i>品质</a> ');
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="iqcStartingQuality(\'' + row.qualityOrderId + '\')"><i class="fa fa-edit"></i>品质</a> ');
}
//采购订单品质详情
if (row.qualityStorageStatus == 0 ){
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="detail(\'' + row.qualityOrderId + '\')"><i class="fa fa-edit"></i>详情</a> ');
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="iqcStartingQualityDetail(\'' + row.qualityOrderId + '\')"><i class="fa fa-edit"></i>详情</a> ');
}
//委外入库品质
if (row.qualityStatus != 2 && row.qualityStorageStatus == 2 ){
actions.push('<a class="btn btn-success btn-xs ' + makeInStartingQualityFlag + '" href="javascript:void(0)" onclick="makeOutStartingQuality(\'' + row.qualityOrderId + '\')"><i class="fa fa-edit"></i>品质</a> ');
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="makeOutStartingQuality(\'' + row.qualityOrderId + '\')"><i class="fa fa-edit"></i>品质</a> ');
}
//委外入库品质详情
if (row.qualityStorageStatus == 2 ){
actions.push('<a class="btn btn-success btn-xs ' + makeInStartingQualityDetailFlag + '" href="javascript:void(0)" onclick="makeOutStartingQualityDetail(\'' + row.qualityOrderId + '\')"><i class="fa fa-edit"></i>详情</a> ');
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="makeOutStartingQualityDetail(\'' + row.qualityOrderId + '\')"><i class="fa fa-edit"></i>详情</a> ');
}
return actions.join('');
}
@ -225,15 +217,27 @@
$.table.init(options);
});
function startingQuality(qualityOrderId){
//来料品质
function iqcStartingQuality(qualityOrderId){
var url = ctx +'quality/qualityOrder/startingQuality/' + qualityOrderId;
$.modal.open("进行来料品质",url)
$.modal.open("进行来料品质",url);
}
//委外品质
function makeOutStartingQuality(qualityOrderId){
var url = ctx +'quality/qualityOrder/makeOtherStartingQuality/' + qualityOrderId;
$.modal.open("进行委外入库品质",url);
}
//详情
function detail(qualityOrderId){
//采购品质详情
function iqcStartingQualityDetail(qualityOrderId){
var url = ctx +'quality/qualityOrder/startingQualityDetail/' + qualityOrderId;
$.modal.open("品质单详情",url)
$.modal.open("品质单详情",url);
}
//委外品质详情
function makeOutStartingQualityDetail(qualityOrderId){
var url = ctx +'quality/qualityOrder/makeStartingQualityDetail/' + qualityOrderId;
$.modal.open("品质单详情",url);
}
</script>

89
ruoyi-admin/src/main/resources/templates/quality/qualityOrder/startingQuality.html → ruoyi-admin/src/main/resources/templates/quality/qualityOrder/iqcStartingQuality.html

@ -4,22 +4,22 @@
<th:block th:include="include :: header('开始品质')" />
<th:block th:include="include :: datetimepicker-css" />
<th:block th:include="include :: bootstrap-editable-css" />
<style>
.supplier-value {
display: flex;
align-items: center;
justify-content: space-between;
}
<style>
.supplier-value {
display: flex;
align-items: center;
justify-content: space-between;
}
.supplier-value span {
margin-right: 10px;
}
.supplier-value span {
margin-right: 10px;
}
.info-separator::after {
content: "-";
margin: 0 5px;
}
</style>
.info-separator::after {
content: "-";
margin: 0 5px;
}
</style>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
@ -176,57 +176,11 @@
var processBadGradeDatas = [[${@dict.getType('process_bad_grade')}]];
var prefix = ctx + "quality/qualityOrder";
var reportPrefix = ctx + "quality/qualityReport";
$("#form-qualityOrder-edit").validate({
focusCleanup: true
});
//生成的不同table的id集合
var tableDatas = [];
function submitHandler() {
const qualityOrderData = $("#form-qualityOrder-edit").serializeArray().reduce((obj, item) => {
obj[item.name] = item.value;
return obj;
}, {});
// 初始化一个数组用于存放所有表格的数据
let allMaterialDataList = [];
for(let i in tableDatas){
$('#' + tableDatas[i]).each(function() {
const tableData = $(this).bootstrapTable('getData');
console.log(JSON.stringify(tableData));
// 将表数据转换成与qualityReportData格式一致的数组
var materialDataList = tableData.map(function (item) {
// 根据实际字段名调整
return {
"qualityOrderDetailId": item.qualityOrderDetailId,
"supplierCode" : item.supplierCode,
"materialNo" : item.materialNo,
"qualityHasqualifiedNum": item.qualityHasqualifiedNum,
"thisArrivedNum": item.thisArrivedNum,
"qualityQualifiedNum": item.qualityQualifiedNum,
"qualityUnqualifiedNum": item.qualityUnqualifiedNum
// ...其他字段
};
});
allMaterialDataList = allMaterialDataList.concat(materialDataList);
});
}
const combinedData = Object.assign({}, qualityOrderData, {
qualityOrderDetailList: allMaterialDataList
});
// 合并表单数据和表格数据
// const combinedData = Object.assign({}, ...complaintNoticeData.array(item => ({ [item.name]: item.value })), ...materialData);
console.log(combinedData)
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
// 发送 AJAX 请求到后端接口
$.operate.saveJson(prefix + "/startingQuality", jsonData);
}
$("input[name='deliveryInspectionTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
@ -256,10 +210,11 @@
' </br> ' + (supplierData.customerContact || 'N/A') +
' - ' + (supplierData.contactNumber || 'N/A') +
' - ' + (supplierData.supplierAddress || 'N/A');
var $header = $('<h4>' + headerTitle + '</h4>');
var $table = $('<table id="bootstrap-material-table" class="table table-striped table-bordered"></table>');
$table.bootstrapTable({
data: materialData,
columns: [
@ -400,11 +355,6 @@
$.table.init(unqualifiedOption);
});
function createTableForSupplier(supplierData) {
}
//添加不合格分类
function addUnqualified() {
var uniqueId = new Date().getTime();
@ -544,11 +494,10 @@
return;
};
}
qualityReport.qualityOrderReportType = "1";//生产其他品质
qualityReport.qualityOrderReportType = "2";//采购品质
qualityReport.unqualifiedDataList = unqualifyList;
console.log(qualityReport);
// $.operate.saveJson(reportPrefix + "/add", JSON.stringify(qualityReport));
return;
$.operate.saveJson(reportPrefix + "/add", JSON.stringify(qualityReport));
}
</script>
</body>

218
ruoyi-admin/src/main/resources/templates/quality/qualityOrder/startingQualityDetail.html → ruoyi-admin/src/main/resources/templates/quality/qualityOrder/iqcStartingQualityDetail.html

@ -27,25 +27,25 @@
<div class="form-group">
<label class="col-sm-3 control-label">品质单号:</label>
<div class="col-sm-8">
<input name="qualityOrderCode" th:field="*{qualityOrderCode}" class="form-control" type="text">
<input readonly name="qualityOrderCode" th:field="*{qualityOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">入库单号:</label>
<div class="col-sm-8">
<input name="inStorageCode" th:field="*{inStorageCode}" class="form-control" type="text">
<input readonly name="inStorageCode" th:field="*{inStorageCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联订单号:</label>
<div class="col-sm-8">
<input name="relatedOrderCode" th:field="*{relatedOrderCode}" class="form-control" type="text">
<input readonly name="relatedOrderCode" th:field="*{relatedOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">品质单订单类型:</label>
<div class="col-sm-8">
<select name="qualityOrderType" class="form-control m-b" th:with="type=${@dict.getType('quality_order_type')}">
<select disabled name="qualityOrderType" class="form-control m-b" th:with="type=${@dict.getType('quality_order_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{qualityOrderType}"></option>
</select>
</div>
@ -53,7 +53,7 @@
<div class="form-group">
<label class="col-sm-3 control-label">品质单入库类型:</label>
<div class="col-sm-8">
<select name="qualityStorageStatus" class="form-control m-b" th:with="type=${@dict.getType('quality_storage_status')}">
<select disabled name="qualityStorageStatus" class="form-control m-b" th:with="type=${@dict.getType('quality_storage_status')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{qualityStorageStatus}"></option>
</select>
</div>
@ -62,23 +62,11 @@
<label class="col-sm-3 control-label">交付质检时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deliveryInspectionTime" th:value="${#dates.format(qualityOrder.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input disabled name="deliveryInspectionTime" th:value="${#dates.format(qualityOrder.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库Id:</label>
<div class="col-sm-8">
<input name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<input name="warehouseName" th:field="*{warehouseName}" class="form-control" type="text">
</div>
</div>
<div class="container">
<!--物料相关-->
<div class="row">
@ -87,6 +75,16 @@
</div>
</div>
</div>
<!--品质报告单-->
<div class="container">
<h4>品质报告单:</h4>
<div class="row">
<div class="col-sm-12 table-striped" id="reportTable">
<table id="bootstrap-report-table"></table>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
@ -94,18 +92,18 @@
<th:block th:include="include :: bootstrap-table-editable-js" />
<script th:inline="javascript">
var qualityOrderCode = [[${qualityOrder.qualityOrderCode}]]
var qualityOrderCode = [[${qualityDetail.qualityOrderCode}]];
var qualityOrderDetail = [[${qualityDetail}]];
var processMethodDatas = [[${@dict.getType('processMethod')}]];
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]];
var auditStatusDatas = [[${@dict.getType('auditStatus')}]];
var prefix = ctx + "quality/qualityOrder";
var reportPrefix = ctx + "quality/qualityReport";
$("#form-qualityOrder-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/startingQuality", $('#form-qualityOrder-edit').serialize());
}
}
$("input[name='deliveryInspectionTime']").datetimepicker({
format: "yyyy-mm-dd",
@ -114,48 +112,46 @@
});
$(function() {
// 假设qualityOrderCode已经定义或者可以通过某种方式获取到
var qualityOrderCode = [[${qualityOrder.qualityOrderCode}]]; // 这里需要实际赋值,比如从前端某个地方读取
$.getJSON(prefix + "/detailListGroupedBySupplier?qualityOrderCode=" + qualityOrderCode, function(data) {
for (var supplierCode in data) {
if (data.hasOwnProperty(supplierCode)) {
var supplierData = data[supplierCode];
createTableForSupplier(supplierCode, supplierData);
}
}
});
});
function createTableForSupplier(supplierCode, supplierData) {
var tableId = 'bootstrap-table-' + supplierCode.replace(/[^a-z0-9]/gi, '_').toLowerCase();
var supplierData = {
supplierCode: qualityOrderDetail.supplierCode,
supplierName: qualityOrderDetail.supplierName,
customerContact: qualityOrderDetail.customerContact,
contactNumber: qualityOrderDetail.contactNumber,
supplierAddress: qualityOrderDetail.supplierAddress,
}
var materialData = [];
materialData.push(qualityOrderDetail);
var $tableWrapper = $('<div class="table-responsive mt-3"></div>');
// 确保supplierData至少有一条记录,并从中提取供应商详细信息
var supplierInfo = supplierData.length > 0 ? supplierData[0] : {}; // 默认为空对象,以防数据不存在
// 构建含有额外供应商信息的标题字符串
var headerTitle ='供应商'+'</br>'+supplierCode + ' - ' + (supplierInfo.supplierName || 'N/A') +
' </br> ' + (supplierInfo.customerContact || 'N/A') +
' - ' + (supplierInfo.contactNumber || 'N/A') +
' - ' + (supplierInfo.supplierAddress || 'N/A');
var headerTitle ='供应商'+'</br>' + supplierData.supplierCode + ' - ' + (supplierData.supplierName || 'N/A') +
' </br> ' + (supplierData.customerContact || 'N/A') +
' - ' + (supplierData.contactNumber || 'N/A') +
' - ' + (supplierData.supplierAddress || 'N/A');
var $header = $('<h4>' + headerTitle + '</h4>');
var $table = $('<table id="' + tableId + '" class="table table-striped table-bordered"></table>');
var $table = $('<table id="bootstrap-material-table" class="table table-striped table-bordered"></table>');
$table.bootstrapTable({
data: supplierData,
columns: [{
checkbox: true
},
data: materialData,
columns: [
{
title: '供应商ID',
field: 'supplierCode',
visible: false
},
{
title: '品质单详情ID',
field: 'qualityOrderDetailId',
visible: false
},
{
title: '料号',
field: 'materialNo'
align: 'center',
field: 'materialNo',
}, {
title: '物料名称',
field: 'materialName'
@ -163,81 +159,107 @@
{
title: '物料类型',
field: 'materialType',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{
title: '物料图片地址',
title: '图片',
field: 'materialPhotourl',
},
{
title: '物料描述',
title: '描述',
field: 'materialDescribe',
},
{
title: '物料品牌',
title: '品牌',
field: 'materialBrand',
},
{
title: '物料单位',
title: '单位',
field: 'materialUnit',
},
{
title: '物料加工方式',
title: '加工方式',
field: 'materialProcessMethod',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{
title: '订单数',
field: 'makeTotal',
title: '检验数',
field: 'checkNum',
},
{
title: '品质已合格数',
field: 'qualityHasqualifiedNum',
title: '合格数',
field: 'qualityQualifiedNum',
},
{
title: '本次到货数',
field: 'thisArrivedNum',
editable:{
type:'text'
},
required:true
title: '不良数',
field: 'qualityUnqualifiedNum',
},
{
title: '品质报告',
align: 'center',
title: '待审核数',
field: 'pendingReviewNum',
},
]
});
$tableWrapper.append($header).append($table);
$('#tablesContainer').append($tableWrapper);
var reportOptions = {
id: "bootstrap-report-table",
modalName: "品质报告单",
url: reportPrefix + "/getReportList",
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
queryParams: {
qualityOrderCode: qualityOrderCode,
},
height: 40,
pagination: false, // 设置不分页
columns: [
{
title: '品质报告单号',
field: 'qualityOrderReportCode',
},
{
title: '审核状态',
field: 'auditStatus',
formatter: function(value, row, index) {
// 这里直接使用row对象获取supplierCode,假设它是存在的
var actions = [];
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="qualityReport(\'' + row.materialNo + '\', \'' + row.supplierCode + '\')"><i class="fa fa-plus"></i>报告</a> ');
return actions.join('');
return $.table.selectDictLabel(auditStatusDatas, value);
}
},
{
title: '品质合格数',
field: 'qualityQualifiedNum',
title: '合格数',
field: 'qualityHasqualifiedNum'
},
{
title: '品质不合格数',
field: 'qualityUnqualifiedNum',
}]
});
title: '不良数',
field: 'processBadNum',
},
{
title: '创建人',
field: 'createBy',
},
{
title: '创建时间',
field: 'createTime',
},
]
};
$.table.init(reportOptions);
//移除表格上方toolbar(去除空白)
$(".fixed-table-toolbar").remove();
$(".fixed-table-container","#reportTable").css("min-height","200px");
});
$tableWrapper.append($header).append($table);
$('#tablesContainer').append($tableWrapper);
}
/*品质报告*/
// function qualityReport(materialNo, supplierCode){
// var url = ctx + 'quality/qualityOrder/qualityReport/' + materialNo + '?supplierCode=' + encodeURIComponent(supplierCode);
// $.modal.open("品质报告", url);
// }
function qualityReport(materialNo, supplierCode) {
var queryParams = new URLSearchParams();
queryParams.append('materialNo', materialNo);
queryParams.append('supplierCode', encodeURIComponent(supplierCode));
var url = ctx + 'quality/qualityOrder/qualityReport?' + queryParams.toString();
$.modal.open("品质报告", url);
}
</script>
</body>
</html>

255
ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeInStartingQuality.html

@ -1,255 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('委内加工单品质')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-makeInStartingQuality-edit" th:object="${qualityOrder}">
<input name="qualityOrderId" th:field="*{qualityOrderId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">品质单号:</label>
<div class="col-sm-8">
<input name="qualityOrderCode" th:field="*{qualityOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">入库单号:</label>
<div class="col-sm-8">
<input name="inStorageCode" th:field="*{inStorageCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联订单号:</label>
<div class="col-sm-8">
<input name="relatedOrderCode" th:field="*{relatedOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">品质单订单类型:</label>
<div class="col-sm-8">
<select name="qualityOrderType" class="form-control m-b" th:with="type=${@dict.getType('quality_order_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{qualityOrderType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">品质单入库类型:</label>
<div class="col-sm-8">
<select name="qualityStorageStatus" class="form-control m-b" th:with="type=${@dict.getType('quality_storage_status')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{qualityStorageStatus}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">交付质检时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deliveryInspectionTime" th:value="${#dates.format(qualityOrder.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
<!--物料信息-->
<div class="container">
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<!--用于可以修改列表字段的插件-->
<th:block th:include="include :: bootstrap-table-editable-js" />
<script th:inline="javascript">
var qualityOrderCode = [[${qualityOrder.qualityOrderCode}]]
var qualityOrder = [[${qualityOrder}]]
var prefix = ctx + "quality/qualityOrder";
$("#form-makeInStartingQuality-edit").validate({
focusCleanup: true
});
$("input[name='deliveryInspectionTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
// 新增提交
function submitHandler() {
// 获取表单数据
const qualityOrderData = $("#form-makeInStartingQuality-edit").serializeArray().reduce((obj, item) => {
obj[item.name] = item.value;
return obj;
}, {});
// 获取bootstrap-table的数据,这里假设你使用bootstrap-table的API获取所有数据
var table = $('#bootstrap-table').bootstrapTable('getData');
// 将表数据转换成与complaintNoticeData格式一致的数组
var materialDataList = table.map(function(item) {
// 根据实际字段名调整
return {
"qualityOrderDetailId": item.qualityOrderDetailId,
"materialNo": item.materialNo,
"materialNo": item.materialNo,
"materialName": item.materialName,
"materialType": item.materialType,
"materialPhotourl": item.materialPhotourl,
"materialDescribe": item.materialDescribe,
"materialBrand": item.materialBrand,
"materialUnit": item.materialUnit,
"materialProcessMethod": item.materialProcessMethod,
"thisArrivedNum": item.thisArrivedNum,
"qualityQualifiedNum": item.qualityQualifiedNum,
"qualityUnqualifiedNum": item.qualityUnqualifiedNum,
"makeInNum":item.makeInNum,
"makeInUnitPrice": item.makeInUnitPrice,
"materialDeptType": item.materialDeptType,
// ...其他字段
};
});
const combinedData = Object.assign({}, qualityOrderData, {
qualityOrderDetailList: materialDataList,
});
// 合并表单数据和表格数据
console.log(combinedData)
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
// 发送 AJAX 请求到后端接口
$.operate.saveJson(prefix + "/makeInStartingQuality", jsonData);
}
//物料信息展示列表
$(function() {
var options = {
modalName: "选择物料",
url: prefix + "/getMaterialListByQualityOrderCode",
queryParams: queryParams,
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
pagination: false, // 设置不分页
columns: [{
checkbox: true
},
{
title: '品质单详情ID',
field: 'qualityOrderDetailId',
visible: false
},
{
title: '料号',
field: 'materialNo'
},
{
title: '物料名称',
field: 'materialName'
},
{
title: '物料类型',
field: 'materialType',
},
{
title: '物料图片地址',
field: 'materialPhotourl',
},
{
title: '物料描述',
field: 'materialDescribe',
},
{
title: '物料品牌',
field: 'materialBrand',
},
{
title: '物料单位',
field: 'materialUnit',
},
{
title: '物料加工方式',
field: 'materialProcessMethod',
},
{
title: '委内已完成数',
field: 'makeInNum',
},
{
title: '品质已合格数',
field: 'qualityHasqualifiedNum',
},
{
title: '本次到货数',
field: 'thisArrivedNum',
editable:{
type:'text',
validate: function (v) {
if (!v) return '本次到货数不能为空';
}
},
required:true
},
{
title: '品质报告',
align: 'center',
formatter: function(value, row, index) {
// 这里直接使用row对象获取supplierCode,假设它是存在的
var actions = [];
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="makeInOrderReport(\'' + row.materialNo + '\')"><i class="fa fa-plus"></i>报告</a> ');
return actions.join('');
}
},
{
title: '品质合格数',
field: 'qualityQualifiedNum',
},
{
title: '品质不合格数',
field: 'qualityUnqualifiedNum',
},
{
title: '委内加工费单价',
field: 'makeInUnitPrice',
visible: false
},
{
title: '物料入库部门',
field: 'materialDeptType',
visible: false
}
]
};
$.table.init(options);
})
function queryParams(params) {
var curParams = {
// 传递参数查询参数
qualityOrderCode: qualityOrderCode
};
console.log(curParams);
return curParams;
}
function makeInOrderReport(materialNo) {
var qualityOrderCode = [[${qualityOrder.qualityOrderCode}]];
var queryParams = new URLSearchParams();
queryParams.append('materialNo', materialNo);
queryParams.append('qualityOrderCode',encodeURIComponent(qualityOrderCode));
var url = ctx + 'quality/qualityOrder/makeInOrderReport?' + queryParams.toString();
$.modal.open("品质报告", url);
}
</script>
</body>
</html>

207
ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeInStartingQualityDetail.html

@ -1,207 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('委内加工单品质详情')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-makeInStartingQualityDetail-edit" th:object="${qualityOrder}">
<input name="qualityOrderId" th:field="*{qualityOrderId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">品质单号:</label>
<div class="col-sm-8">
<input name="qualityOrderCode" th:field="*{qualityOrderCode}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">入库单号:</label>
<div class="col-sm-8">
<input name="inStorageCode" th:field="*{inStorageCode}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联订单号:</label>
<div class="col-sm-8">
<input name="relatedOrderCode" th:field="*{relatedOrderCode}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">品质单订单类型:</label>
<div class="col-sm-8">
<select name="qualityOrderType" class="form-control m-b" th:with="type=${@dict.getType('quality_order_type')}" disabled>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{qualityOrderType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">品质单入库类型:</label>
<div class="col-sm-8">
<select name="qualityStorageStatus" class="form-control m-b" th:with="type=${@dict.getType('quality_storage_status')}" disabled>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{qualityStorageStatus}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">交付质检时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deliveryInspectionTime" th:value="${#dates.format(qualityOrder.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text" disabled>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
<!--物料信息-->
<div class="container">
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<!--用于可以修改列表字段的插件-->
<th:block th:include="include :: bootstrap-table-editable-js" />
<script th:inline="javascript">
var qualityOrderCode = [[${qualityOrder.qualityOrderCode}]]
var qualityOrder = [[${qualityOrder}]]
var prefix = ctx + "quality/qualityOrder";
$("#form-makeInStartingQualityDetail-edit").validate({
focusCleanup: true
});
$("input[name='deliveryInspectionTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
// 新增提交
function submitHandler() {
// 获取表单数据
const qualityOrderData = $("#form-makeInStartingQualityDetail-edit").serializeArray().reduce((obj, item) => {
obj[item.name] = item.value;
return obj;
}, {});
// 获取bootstrap-table的数据,这里假设你使用bootstrap-table的API获取所有数据
var table = $('#bootstrap-table').bootstrapTable('getData');
// 将表数据转换成与complaintNoticeData格式一致的数组
var materialDataList = table.map(function(item) {
// 根据实际字段名调整
return {
"qualityOrderDetailId": item.qualityOrderDetailId,
"materialNo": item.materialNo,
"thisArrivedNum": item.thisArrivedNum,
"qualityQualifiedNum": item.qualityQualifiedNum,
"qualityUnqualifiedNum": item.qualityUnqualifiedNum
// ...其他字段
};
});
const combinedData = Object.assign({}, qualityOrderData, {
qualityOrderDetailList: materialDataList,
});
// 合并表单数据和表格数据
console.log(combinedData)
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
// 发送 AJAX 请求到后端接口
$.operate.saveJson(prefix + "/makeInStartingQualityDetail", jsonData);
}
//物料信息展示列表
$(function() {
var options = {
modalName: "选择物料",
url: prefix + "/getMaterialListByQualityOrderCode",
queryParams: queryParams,
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
pagination: false, // 设置不分页
columns: [{
checkbox: true
},
{
title: '品质单详情ID',
field: 'qualityOrderDetailId',
visible: false
},
{
title: '料号',
field: 'materialNo'
},
{
title: '物料名称',
field: 'materialName'
},
{
title: '物料类型',
field: 'materialType',
},
{
title: '物料图片地址',
field: 'materialPhotourl',
},
{
title: '物料描述',
field: 'materialDescribe',
},
{
title: '物料品牌',
field: 'materialBrand',
},
{
title: '物料单位',
field: 'materialUnit',
},
{
title: '物料加工方式',
field: 'materialProcessMethod',
},
{
title: '委内已完成数',
field: 'makeInNum',
},
{
title: '品质已合格数',
field: 'qualityHasqualifiedNum',
},
{
title: '本次到货数',
field: 'thisArrivedNum',
},
{
title: '品质合格数',
field: 'qualityQualifiedNum',
},
{
title: '品质不合格数',
field: 'qualityUnqualifiedNum',
}]
};
$.table.init(options);
})
function queryParams(params) {
var curParams = {
// 传递参数查询参数
qualityOrderCode: qualityOrderCode
};
console.log(curParams);
return curParams;
}
</script>
</body>
</html>

2
ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeOtherStartingQuality.html

@ -57,7 +57,7 @@
<label class="col-sm-4 control-label">交付质检时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deliveryInspectionTime" th:value="${#dates.format(qualityOrder.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input disabled name="deliveryInspectionTime" th:value="${#dates.format(qualityOrder.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>

2
ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeStartingQuality.html

@ -53,7 +53,7 @@
<label class="col-sm-4 control-label">交付质检时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deliveryInspectionTime" th:value="${#dates.format(qualityOrder.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input disabled name="deliveryInspectionTime" th:value="${#dates.format(qualityOrder.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>

4
ruoyi-admin/src/main/resources/templates/quality/qualityOrder/makeStartingQualityDetail.html

@ -216,11 +216,11 @@
},
{
title: '创建人',
field: 'updateBy',
field: 'createBy',
},
{
title: '创建时间',
field: 'updateTime',
field: 'createTime',
},
]
};

3
ruoyi-admin/src/main/resources/templates/quality/qualityReport/qualityReport.html

@ -252,8 +252,6 @@
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.qualityOrderReportId + '\')"><i class="fa fa-search"></i>详情</a> ');
// 有流程实例id
if (row.instanceId) {
// 有待办人展示审批按钮,
@ -269,6 +267,7 @@
// 进度查看
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="showProcessImgDialog(\'' + row.instanceId + '\')"><i class="fa fa-image"></i> 进度查看</a> ');
}
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.qualityOrderReportId + '\')"><i class="fa fa-search"></i>详情</a> ');
return actions.join('');
}
}],

421
ruoyi-admin/src/main/resources/templates/quality/qualityReport/taskPzjlVerifyPurchase.html

@ -0,0 +1,421 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('采购入库品质审批')" />
<th:block th:include="include :: datetimepicker-css" />
<th:block th:include="include :: bootstrap-editable-css" />
</head>
<style>
.fixed-table-container {
border: 0px solid #ddd;
min-height: 80px;
}
.supplier-value {
display: flex;
align-items: center;
justify-content: space-between;
}
.supplier-value span {
margin-right: 10px;
}
.info-separator::after {
content: "-";
margin: 0 5px;
}
</style>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-qualityOrderReport-pzjl" th:object="${formData}">
<input name="qualityOrderReportId" th:field="*{qualityOrderReportId}" type="hidden">
<input name="taskId" th:field="*{taskId}" type="hidden">
<input name="taskName" th:field="*{taskName}" type="hidden">
<input name="instanceId" th:field="*{instanceId}" type="hidden">
<input name="instanceType" th:field="*{instanceType}" type="hidden">
<input type="hidden" name="p_COM_comment" />
<div class="form-group">
<label class="col-sm-4 control-label">申请人:</label>
<div class="col-sm-8">
<input name="applyUserName" th:field="*{applyUserName}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">申请时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="applyTime" th:value="${#dates.format(formData.applyTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text" disabled>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">品质单号:</label>
<div class="col-sm-8">
<input readonly name="qualityOrderCode" th:field="*{qualityOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">入库单号:</label>
<div class="col-sm-8">
<input readonly name="inStorageCode" th:field="*{inStorageCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">关联订单号:</label>
<div class="col-sm-8">
<input readonly name="relatedOrderCode" th:field="*{relatedOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">品质单订单类型:</label>
<div class="col-sm-8">
<select disabled id="qualityOrderType" name="qualityOrderType" class="form-control m-b" th:with="type=${@dict.getType('quality_order_type')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{qualityOrderType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">品质单入库类型:</label>
<div class="col-sm-8">
<select disabled id="qualityStorageStatus" name="qualityStorageStatus" class="form-control m-b" th:with="type=${@dict.getType('quality_storage_status')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{qualityStorageStatus}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">交付质检时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input readonly name="deliveryInspectionTime" th:value="${#dates.format(formData.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label is-required" for="pzjlVerifyApproved">审批意见:</label>
<div class="col-sm-8">
<select name="p_B_pzjlVerifyApproved" id="pzjlVerifyApproved" class="form-control m-b" required>
<option value=""></option>
<option value="true">同意</option>
<option value="false">拒绝</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">批注:</label>
<div class="col-sm-8">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
<!--物料信息-->
<div class="container" >
<div class="row">
<div class="col-sm-12" id="tablesContainer">
</div>
</div>
</div>
<div class="container">
<h3 style="color: blue;">品质报告:</h3>
<div class="col-sm-12">
<h3>合格数</h3>
<div class="row">
<div class="form-group col-sm-6">
<label class="col-sm-4 control-label is-required">ok允收数:</label>
<div class="col-sm-8">
<input readonly id="okAcceptedNum" name="okAcceptedNum" class="form-control" th:field="*{okAcceptedNum}" type="number" value="0" required>
</div>
</div>
<div class="form-group col-sm-6">
<label class="col-sm-4 control-label">ok报告图片:</label>
<div class="col-sm-8">
<input readonly name="okReportUrl" class="form-control" type="text">
</div>
</div>
</div>
<div class="row">
<div class="form-group col-sm-6">
<label class="col-sm-4 control-label is-required">特采/让步数:</label>
<div class="col-sm-8">
<input readonly id="specialConcessionsNum" name="specialConcessionsNum" th:field="*{specialConcessionsNum}" class="form-control" type="number" value="0" required>
</div>
</div>
<div class="form-group col-sm-6">
<label class="col-sm-4 control-label">特采报告图片:</label>
<div class="col-sm-8">
<input readonly name="specialReportUrl" class="form-control" type="text">
</div>
</div>
</div>
</div>
<!--不合格数-->
<div class="col-sm-12">
<div class="row">
<div class="col-sm-12 align-items-center">
<span style="font-weight: bold; font-family: Arial, sans-serif; font-size: 15px;padding-left: 0px;">不良数</span>
<div class="row">
<div class="form-group col-sm-6">
<label class="col-sm-4 control-label is-required">不良数:</label>
<div class="col-sm-8">
<input readonly id="processBadNum" name="processBadNum" th:field="*{processBadNum}" class="form-control" type="number" value="0" required>
</div>
</div>
<div class="form-group col-sm-6">
<label class="col-sm-4 control-label">检验完成时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input readonly name="checkoutCompletionTime" class="form-control" th:value="${#dates.format(formData.checkoutCompletionTime, 'yyyy-MM-dd')}" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container" id="shippingDevice">
</div>
</div>
</div>
<!--其他字段-->
<div class="form-group" style="margin-top: 20px;">
<label class="col-sm-4 control-label">备注:</label>
<div class="col-sm-8">
<textarea readonly th:text="*{remark}" name="remark" class="form-control" type="text"></textarea>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<!--用于可以修改列表字段的插件-->
<th:block th:include="include :: bootstrap-table-editable-js" />
<script th:src="@{/js/activiti.js}"></script>
<script th:inline="javascript">
var qualityOrderReport = [[${formData}]];
var qualityDetail = [[${qualityDetail}]];
var qualityOrderCode = qualityOrderReport.qualityOrderCode;
var processMethodDatas = [[${@dict.getType('processMethod')}]];
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]];
var processBadClassificationDatas = [[${@dict.getType('process_bad_classification')}]];
var processBadGradeDatas = [[${@dict.getType('process_bad_grade')}]];
var tableIndex = 0;
var prefix = ctx + "quality/qualityReport";
var orderPrefix = ctx + "quality/qualityOrder";
$("#form-qualityOrderReport-pzjl").validate({
focusCleanup: true
});
$("input[name='deliveryInspectionTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
//物料信息展示列表
$(function() {
var supplierData = {
supplierCode: qualityDetail.supplierCode,
supplierName: qualityDetail.supplierName,
customerContact: qualityDetail.customerContact,
contactNumber: qualityDetail.contactNumber,
supplierAddress: qualityDetail.supplierAddress,
}
var materialData = [];
materialData.push(qualityDetail);
var $tableWrapper = $('<div class="table-responsive mt-3"></div>');
// 构建含有额外供应商信息的标题字符串
var headerTitle ='供应商'+'</br>' + supplierData.supplierCode + ' - ' + (supplierData.supplierName || 'N/A') +
' </br> ' + (supplierData.customerContact || 'N/A') +
' - ' + (supplierData.contactNumber || 'N/A') +
' - ' + (supplierData.supplierAddress || 'N/A');
var $header = $('<h4>' + headerTitle + '</h4>');
var $table = $('<table id="bootstrap-material-table" class="table table-striped"></table>');
$table.bootstrapTable({
data: materialData,
columns: [
{
title: '供应商ID',
field: 'supplierCode',
visible: false
},
{
title: '品质单详情ID',
field: 'qualityOrderDetailId',
visible: false
},
{
title: '料号',
align: 'center',
field: 'materialNo',
}, {
title: '物料名称',
field: 'materialName'
},
{
title: '物料类型',
field: 'materialType',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{
title: '图片',
field: 'materialPhotourl',
},
{
title: '描述',
field: 'materialDescribe',
},
{
title: '品牌',
field: 'materialBrand',
},
{
title: '单位',
field: 'materialUnit',
},
{
title: '加工方式',
field: 'materialProcessMethod',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{
title: '检验数',
field: 'checkNum',
},
{
title: '合格数',
field: 'qualityQualifiedNum',
},
{
title: '不良数',
field: 'qualityUnqualifiedNum',
},
{
title: '待审核数',
field: 'pendingReviewNum',
},
]
});
$tableWrapper.append($header).append($table);
$('#tablesContainer').append($tableWrapper);
//移除表格上方toolbar(去除空白)
$(".fixed-table-toolbar").remove();
initOtherUnqualifiedTable();
})
function initOtherUnqualifiedTable(){
var $unqualifiedTable = $(
'<div class="row">\n' +
' <span style="font-weight: bold; font-family: Arial, sans-serif; font-size: 15px;padding-left: 0px;">不良分类</span>\n' +
' <div id="unqualifiedTable" class="col-sm-12 table-striped">\n' +
' <table id="bootstrap-unqualified-table"></table>\n' +
' </div>\n' +
'</div>'
);
$("#shippingDevice").append($unqualifiedTable);
var unqualifiedOption = {
id: "bootstrap-unqualified-table",
modalName: "不良数",
url: prefix + "/getReportUnqualified",
showColumns: false,
pagination: false,
showToggle: false,
showRefresh:false,
showSearch:false,
height: 40,
queryParams: {
qualityOrderReportCode: qualityOrderReport.qualityOrderReportCode,
},
columns: [
{
title: '品质报告单id',
field: 'qualityOrderReportId',
visible: false
},
{
title: '不良分类',
align: 'center',
field: 'processBadClassification',
formatter:function (value, row, index) {
return $.table.selectDictLabel(processBadClassificationDatas, value);
}
},
{
title: '不良等级',
align: 'center',
field: 'processBadGrade',
formatter:function (value, row, index) {
return $.table.selectDictLabel(processBadGradeDatas, value);
}
},
{
title: '数量',
field: 'processBadNum',
align: 'center',
},
{
title: '报告',
align: 'center',
field: 'unqualifiedReportUrl',
},
]
};
$.table.init(unqualifiedOption);
$(".fixed-table-container","#unqualifiedTable").css("min-height","160px");
}
function queryParams(params) {
var curParams = {
// 传递参数查询参数
qualityOrderCode: qualityOrderCode
};
return curParams;
}
$("input[name='checkoutCompletionTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
function submitHandler() {
if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) {
$('input[name="p_COM_comment"]').val($('textarea[name="comment"]').val());
}
var taskId = [[${taskId}]];
$.operate.save(prefix + "/complete/" + taskId, $('#form-qualityOrderReport-pzjl').serialize());
}
}
</script>
</body>
</html>
Loading…
Cancel
Save