| multiple/assets/favicon/JHYfavicon.ico | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| multiple/assets/logo/JHYLogo.png | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| multiple/config.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/basicData/product/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/qualityManagement/finalInspection/components/formDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/qualityManagement/finalInspection/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/qualityManagement/processInspection/components/formDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/qualityManagement/processInspection/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/qualityManagement/rawMaterialInspection/components/formDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/qualityManagement/rawMaterialInspection/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
multiple/assets/favicon/JHYfavicon.ico
multiple/assets/logo/JHYLogo.png
multiple/config.json
@@ -150,6 +150,15 @@ "logo": "logo/HYJCLogo.png", "favicon": "favicon/HYJCfavicon.ico" }, "JHY": { "env": { "VITE_APP_TITLE": "山西省榆社县晋和园食品有限公司", "VITE_BASE_API": "http://223.15.233.27:9001", "VITE_JAVA_API": "http://223.15.233.27:9002" }, "logo": "logo/JHYLogo.png", "favicon": "favicon/JHYfavicon.ico" }, "logo": "/src/assets/logo/logo.png", "favicon": "/public/favicon.ico" } src/views/basicData/product/index.vue
@@ -5,7 +5,7 @@ <el-input v-model="search" style="width: 210px" placeholder="输入关键字进行搜索" @change="searchFilter" @input="debouncedSearch" @clear="searchFilter" clearable prefix-icon="Search" /> @@ -565,40 +565,31 @@ proxy.$modal.msg("已取消"); }); }; // 调用tree过滤方法 中文英过滤 const filterNode = (value, data, node) => { if (!value) { //如果数据为空,则返回true,显示所有的数据项 return true; } // 查询列表是否有匹配数据,将值小写,匹配英文数据 let val = value.toLowerCase(); return chooseNode(val, data, node); // 调用过滤二层方法 const debounce = (fn, delay = 300) => { let timer; return (...args) => { clearTimeout(timer); timer = setTimeout(() => fn(...args), delay); }; // 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配,则返回该节点以及其下的所有子节点;如果参数是子节点,则返回该节点的父节点。name是中文字符,enName是英文字符. const chooseNode = (value, data, node) => { if (data.label.indexOf(value) !== -1) { }; const debouncedSearch = debounce(() => { searchFilter(); }, 300); const filterNode = (value, data) => { if (!value) return true; return chooseNode(value.toLowerCase(), data); }; const chooseNode = (value, data) => { const label = (data.label || '').toLowerCase(); if (label.indexOf(value) !== -1) { return true; } const level = node.level; // 如果传入的节点本身就是一级节点就不用校验了 if (level === 1) { return false; if (data.children && data.children.length > 0) { return data.children.some(child => chooseNode(value, child)); } // 先取当前节点的父节点 let parentData = node.parent; // 遍历当前节点的父节点 let index = 0; while (index < level - 1) { // 如果匹配到直接返回,此处name值是中文字符,enName是英文字符。判断匹配中英文过滤 if (parentData.data.label.indexOf(value) !== -1) { return true; } // 否则的话再往上一层做匹配 parentData = parentData.parent; index++; } // 没匹配到返回false return false; }; getProductTreeList(); src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -2,7 +2,7 @@ <div> <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '新增出厂检验' : '编辑出厂检验'" :title="operationType === 'add' ? '新增出厂检验' : operationType === 'view' ? '查看出厂检验' : '编辑出厂检验'" width="70%" @close="closeDia" > @@ -18,14 +18,14 @@ @change="getModels" :data="productOptions" :render-after-expand="false" :disabled="operationType === 'edit'" :disabled="isViewMode || operationType === 'edit'" style="width: 100%" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="规格型号:" prop="productModelId"> <el-select v-model="form.productModelId" placeholder="请选择" clearable :disabled="operationType === 'edit'" <el-select v-model="form.productModelId" placeholder="请选择" clearable :disabled="isViewMode || operationType === 'edit'" filterable readonly @change="handleChangeModel"> <el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id" /> </el-select> @@ -41,6 +41,7 @@ clearable @change="handleTestStandardChange" style="width: 100%" :disabled="isViewMode" > <el-option v-for="item in testStandardOptions" @@ -60,7 +61,7 @@ </el-col> <el-col :span="12"> <el-form-item label="数量:" prop="quantity"> <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable :precision="2" :disabled="processQuantityDisabled"/> <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable :precision="2" :disabled="isViewMode || processQuantityDisabled"/> </el-form-item> </el-col> </el-row> @@ -75,7 +76,8 @@ placeholder="请输入" clearable :precision="2" @change="handleQualifiedQuantityChange" /> @change="handleQualifiedQuantityChange" :disabled="isViewMode" /> </el-form-item> </el-col> <el-col :span="12"> @@ -88,19 +90,20 @@ placeholder="请输入" clearable :precision="2" @change="handleUnqualifiedQuantityChange" /> @change="handleUnqualifiedQuantityChange" :disabled="isViewMode" /> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="检测单位:" prop="checkCompany"> <el-input v-model="form.checkCompany" placeholder="请输入" clearable/> <el-input v-model="form.checkCompany" placeholder="请输入" clearable :disabled="isViewMode"/> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="检测结果:" prop="checkResult"> <el-select v-model="form.checkResult"> <el-select v-model="form.checkResult" :disabled="isViewMode"> <el-option label="合格" value="合格" /> <el-option label="不合格" value="不合格" /> <el-option label="部分合格" value="部分合格" /> @@ -111,7 +114,7 @@ <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="检验员:" prop="checkName"> <el-select v-model="form.checkName" placeholder="请选择" clearable> <el-select v-model="form.checkName" placeholder="请选择" clearable :disabled="isViewMode"> <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/> </el-select> @@ -127,6 +130,7 @@ format="YYYY-MM-DD" clearable style="width: 100%" :disabled="isViewMode" /> </el-form-item> </el-col> @@ -140,13 +144,16 @@ height="400" > <template #slot="{ row }"> <el-input v-model="row.testValue" clearable/> <el-input v-model="row.testValue" clearable :disabled="isViewMode"/> </template> </PIMTable> <template #footer> <div class="dialog-footer"> <template v-if="!isViewMode"> <el-button type="primary" @click="submitForm">确认</el-button> <el-button @click="closeDia">取消</el-button> </template> <el-button v-else @click="closeDia">关闭</el-button> </div> </template> </el-dialog> @@ -199,6 +206,8 @@ }, }); const { form, rules } = toRefs(data); // 是否为查看模式 const isViewMode = computed(() => operationType.value === 'view'); // 编辑时:productMainId 或 purchaseLedgerId 任一有值则工序、数量置灰 const processQuantityDisabled = computed(() => { const v = form.value || {}; @@ -259,7 +268,7 @@ testStandardOptions.value = []; tableData.value = []; if (operationType.value === 'edit') { if (operationType.value === 'edit' || operationType.value === 'view') { // 先保存 testStandardId,避免被清空 const savedTestStandardId = row.testStandardId; // 先设置表单数据,但暂时清空 testStandardId,等选项加载完成后再设置 @@ -452,6 +461,10 @@ tableLoading.value = true; getQualityTestStandardParamByTestStandardId(testStandardId).then(res => { tableData.value = res.data || []; tableData.value = tableData.value.map(item => ({ ...item, id: null })); }).catch(error => { console.error('获取标准参数失败:', error); tableData.value = []; src/views/qualityManagement/finalInspection/index.vue
@@ -191,6 +191,13 @@ } }, { name: "查看", type: "text", clickFun: (row) => { openForm("view", row); }, }, { name: "附件", type: "text", clickFun: (row) => { src/views/qualityManagement/processInspection/components/formDia.vue
@@ -1,7 +1,7 @@ <template> <div> <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '新增过程检验' : '编辑过程检验'" :title="operationType === 'add' ? '新增过程检验' : operationType === 'view' ? '查看过程检验' : '编辑过程检验'" width="70%" @close="closeDia"> <el-form :model="form" @@ -16,7 +16,7 @@ <el-select v-model="form.process" placeholder="请选择工序" clearable :disabled="processQuantityDisabled" :disabled="isViewMode || processQuantityDisabled" style="width: 100%"> <el-option v-for="item in processList" :key="item.name" @@ -35,7 +35,7 @@ @change="getModels" :data="productOptions" :render-after-expand="false" :disabled="operationType === 'edit'" :disabled="isViewMode || operationType === 'edit'" style="width: 100%" /> </el-form-item> </el-col> @@ -47,7 +47,7 @@ <el-select v-model="form.productModelId" placeholder="请选择" clearable :disabled="operationType === 'edit'" :disabled="isViewMode || operationType === 'edit'" filterable readonly @change="handleChangeModel"> @@ -65,7 +65,8 @@ placeholder="请选择指标" clearable @change="handleTestStandardChange" style="width: 100%"> style="width: 100%" :disabled="isViewMode"> <el-option v-for="item in testStandardOptions" :key="item.id" :label="item.standardName || item.standardNo" @@ -93,7 +94,7 @@ placeholder="请输入" clearable :precision="2" :disabled="processQuantityDisabled" /> :disabled="isViewMode || processQuantityDisabled" /> </el-form-item> </el-col> </el-row> @@ -108,7 +109,8 @@ placeholder="请输入" clearable :precision="2" @change="handleQualifiedQuantityChange" /> @change="handleQualifiedQuantityChange" :disabled="isViewMode" /> </el-form-item> </el-col> <el-col :span="12"> @@ -121,7 +123,8 @@ placeholder="请输入" clearable :precision="2" @change="handleUnqualifiedQuantityChange" /> @change="handleUnqualifiedQuantityChange" :disabled="isViewMode" /> </el-form-item> </el-col> </el-row> @@ -131,13 +134,14 @@ prop="checkCompany"> <el-input v-model="form.checkCompany" placeholder="请输入" clearable /> clearable :disabled="isViewMode" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="检测结果:" prop="checkResult"> <el-select v-model="form.checkResult"> <el-select v-model="form.checkResult" :disabled="isViewMode"> <el-option label="合格" value="合格" /> <el-option label="不合格" @@ -154,7 +158,8 @@ prop="checkName"> <el-select v-model="form.checkName" placeholder="请选择" clearable> clearable :disabled="isViewMode"> <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" @@ -171,7 +176,8 @@ value-format="YYYY-MM-DD" format="YYYY-MM-DD" clearable style="width: 100%" /> style="width: 100%" :disabled="isViewMode" /> </el-form-item> </el-col> </el-row> @@ -183,14 +189,18 @@ height="400"> <template #slot="{ row }"> <el-input v-model="row.testValue" clearable /> clearable :disabled="isViewMode" /> </template> </PIMTable> <template #footer> <div class="dialog-footer"> <template v-if="!isViewMode"> <el-button type="primary" @click="submitForm">确认</el-button> <el-button @click="closeDia">取消</el-button> </template> <el-button v-else @click="closeDia">关闭</el-button> </div> </template> </el-dialog> @@ -259,6 +269,8 @@ }); const userList = ref([]); const { form, rules } = toRefs(data); // 是否为查看模式 const isViewMode = computed(() => operationType.value === 'view'); // 编辑时:productMainId 或 purchaseLedgerId 任一有值则工序、数量置灰 const processQuantityDisabled = computed(() => { const v = form.value || {}; @@ -332,7 +344,7 @@ tableData.value = []; // 先确保产品树已加载,否则编辑时产品/规格型号无法反显 await getProductOptions(); if (operationType.value === "edit") { if (operationType.value === "edit" || operationType.value === "view") { // 先保存 testStandardId,避免被清空 const savedTestStandardId = row.testStandardId; // 先设置表单数据,但暂时清空 testStandardId,等选项加载完成后再设置 @@ -557,6 +569,10 @@ getQualityTestStandardParamByTestStandardId(testStandardId) .then(res => { tableData.value = res.data || []; tableData.value = tableData.value.map(item => ({ ...item, id: null })); }) .catch(error => { console.error("获取标准参数失败:", error); src/views/qualityManagement/processInspection/index.vue
@@ -190,6 +190,13 @@ } }, { name: "查看", type: "text", clickFun: (row) => { openForm("view", row); }, }, { name: "附件", type: "text", clickFun: (row) => { src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -2,7 +2,7 @@ <div> <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '新增原材料检验' : '编辑原材料检验'" :title="operationType === 'add' ? '新增原材料检验' : operationType === 'view' ? '查看原材料检验' : '编辑原材料检验'" width="70%" @close="closeDia" > @@ -14,7 +14,7 @@ v-model="form.supplier" placeholder="请选择" clearable :disabled="supplierQuantityDisabled" :disabled="isViewMode || supplierQuantityDisabled" > <el-option v-for="item in supplierList" @@ -35,7 +35,7 @@ @change="getModels" :data="productOptions" :render-after-expand="false" :disabled="operationType === 'edit'" :disabled="isViewMode || operationType === 'edit'" style="width: 100%" /> </el-form-item> @@ -44,7 +44,7 @@ <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="规格型号:" prop="productModelId"> <el-select v-model="form.productModelId" placeholder="请选择" clearable :disabled="operationType === 'edit'" <el-select v-model="form.productModelId" placeholder="请选择" clearable :disabled="isViewMode || operationType === 'edit'" filterable readonly @change="handleChangeModel"> <el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id" /> </el-select> @@ -58,6 +58,7 @@ clearable @change="handleTestStandardChange" style="width: 100%" :disabled="isViewMode" > <el-option v-for="item in testStandardOptions" @@ -78,7 +79,7 @@ <el-col :span="12"> <el-form-item label="数量:" prop="quantity"> <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable :precision="2" :disabled="supplierQuantityDisabled"/> clearable :precision="2" :disabled="isViewMode || supplierQuantityDisabled"/> </el-form-item> </el-col> </el-row> @@ -87,14 +88,14 @@ <el-form-item label="合格数量:" prop="qualifiedQuantity"> <el-input-number :step="0.01" :min="0" :max="form.quantity || 0" style="width: 100%" v-model="form.qualifiedQuantity" placeholder="请输入" :precision="2" @change="onQualifiedChange"/> @change="onQualifiedChange" :disabled="isViewMode"/> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="不合格数量:" prop="unqualifiedQuantity"> <el-input-number :step="0.01" :min="0" :max="form.quantity || 0" style="width: 100%" v-model="form.unqualifiedQuantity" placeholder="请输入" :precision="2" @change="onUnqualifiedChange"/> @change="onUnqualifiedChange" :disabled="isViewMode"/> </el-form-item> </el-col> </el-row> @@ -102,12 +103,12 @@ <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="检测单位:" prop="checkCompany"> <el-input v-model="form.checkCompany" placeholder="请输入" clearable/> <el-input v-model="form.checkCompany" placeholder="请输入" clearable :disabled="isViewMode"/> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="检测结果:" prop="checkResult"> <el-select v-model="form.checkResult"> <el-select v-model="form.checkResult" :disabled="isViewMode"> <el-option label="合格" value="合格"/> <el-option label="不合格" value="不合格"/> <el-option label="部分合格" value="部分合格"/> @@ -118,7 +119,7 @@ <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="检验员:" prop="checkName"> <el-select v-model="form.checkName" placeholder="请选择" clearable style="width: 100%"> <el-select v-model="form.checkName" placeholder="请选择" clearable style="width: 100%" :disabled="isViewMode"> <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/> </el-select> </el-form-item> @@ -133,6 +134,7 @@ format="YYYY-MM-DD" clearable style="width: 100%" :disabled="isViewMode" /> </el-form-item> </el-col> @@ -149,13 +151,16 @@ height="400" > <template #slot="{ row }"> <el-input v-model="row.testValue" clearable/> <el-input v-model="row.testValue" clearable :disabled="isViewMode"/> </template> </PIMTable> <template #footer> <div class="dialog-footer"> <template v-if="!isViewMode"> <el-button type="primary" @click="submitForm">确认</el-button> <el-button @click="closeDia">取消</el-button> </template> <el-button v-else @click="closeDia">关闭</el-button> </div> </template> </el-dialog> @@ -241,6 +246,9 @@ const modelOptions = ref([]); const userList = ref([]); // 检验员下拉列表 // 是否为查看模式 const isViewMode = computed(() => operationType.value === 'view'); // 编辑时:productMainId 或 purchaseLedgerId 任一有值则供应商、数量置灰 const supplierQuantityDisabled = computed(() => { const v = form.value || {}; @@ -280,7 +288,7 @@ tableData.value = []; // 先确保产品树已加载,否则编辑时产品/规格型号无法反显 await getProductOptions(); if (operationType.value === 'edit') { if (operationType.value === 'edit' || operationType.value === 'view') { // 先保存 testStandardId,避免被清空 const savedTestStandardId = row.testStandardId; form.value = {...row} @@ -455,6 +463,10 @@ tableLoading.value = true; getQualityTestStandardParamByTestStandardId(testStandardId).then(res => { tableData.value = res.data || []; tableData.value = tableData.value.map(item => ({ ...item, id: null })); }).catch(error => { console.error('获取标准参数失败:', error); tableData.value = []; src/views/qualityManagement/rawMaterialInspection/index.vue
@@ -197,6 +197,13 @@ } }, { name: "查看", type: "text", clickFun: (row) => { openForm("view", row); }, }, { name: "附件", type: "text", clickFun: (row) => {