| | |
| | | :type="process.isQuality ? 'warning' : 'info'"> |
| | | {{ process.isQuality ? '质检' : '非质检' }} |
| | | </el-tag> |
| | | <el-tag size="small" |
| | | style="margin-left: 8px" |
| | | :type="process.isProduction ? 'warning' : 'info'"> |
| | | {{ process.isProduction ? '生产' : '不生产' }} |
| | | </el-tag> |
| | | <el-tag v-if="process.type !== null && process.type !== undefined" |
| | | size="small" |
| | | :type="process.type == 1 ? 'primary' : 'success'" |
| | |
| | | prop="isQuality"> |
| | | <el-switch v-model="processForm.isQuality" /> |
| | | </el-form-item> |
| | | <el-form-item label="是否生产" |
| | | prop="isProduction"> |
| | | <el-switch v-model="processForm.isProduction" /> |
| | | </el-form-item> |
| | | <el-form-item label="计费类型" |
| | | prop="type"> |
| | | <el-radio-group v-model="processForm.type"> |
| | |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="processDialogVisible = false">取消</el-button> |
| | | <el-button type="primary" |
| | | @click="handleProcessSubmit">确定</el-button> |
| | | <el-button @click="processDialogVisible = false">取消</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | </div> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="paramDialogVisible = false">取消</el-button> |
| | | <el-button type="primary" |
| | | :disabled="!selectedParam" |
| | | @click="handleParamSubmit">确定</el-button> |
| | | <el-button @click="paramDialogVisible = false">取消</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="editParamDialogVisible = false">取消</el-button> |
| | | <el-button type="primary" |
| | | @click="handleEditParamSubmit">确定</el-button> |
| | | <el-button @click="editParamDialogVisible = false">取消</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, reactive, onMounted } from "vue"; |
| | | import { ref, reactive, computed, onMounted } from "vue"; |
| | | import { ElMessage, ElMessageBox } from "element-plus"; |
| | | import { Plus, Edit, Delete, Search } from "@element-plus/icons-vue"; |
| | | import PIMTable from "@/components/PIMTable/PIMTable.vue"; |
| | |
| | | const processLoading = ref(false); |
| | | const deviceOptions = ref([]); |
| | | |
| | | // 参数列表数据 |
| | | const paramList = ref([]); |
| | | // 工序已选参数表格分页(接口一次返回全量) |
| | | const paramPage2 = ref({ |
| | | current: 1, |
| | | size: 10, |
| | | total: 0, |
| | | }); |
| | | const paramListRaw = ref([]); |
| | | const paramList = computed(() => { |
| | | const all = paramListRaw.value; |
| | | const { current, size } = paramPage2.value; |
| | | const start = (current - 1) * size; |
| | | return all.slice(start, start + size); |
| | | }); |
| | | const paramLoading = ref(false); |
| | | |
| | | // 数据字典 |
| | |
| | | name: "", |
| | | salaryQuota: null, |
| | | isQuality: false, |
| | | isProduction: false, |
| | | remark: "", |
| | | deviceLedgerId: null, |
| | | type: 0, |
| | |
| | | } |
| | | }; |
| | | |
| | | const paramPage2 = ref({ |
| | | current: 1, |
| | | size: 10, |
| | | total: 0, |
| | | }); |
| | | |
| | | // 获取参数列表 |
| | | const getParamList = processId => { |
| | | paramLoading.value = true; |
| | | console.log(paramPage2.value, "paramPage2.value"); |
| | | getProcessParamList({ technologyOperationId: processId }) |
| | | .then(res => { |
| | | console.log(res, "res"); |
| | | paramList.value = res.data || []; |
| | | paramPage2.value.total = 0; |
| | | const list = res.data || []; |
| | | paramListRaw.value = Array.isArray(list) ? list : []; |
| | | paramPage2.value.total = paramListRaw.value.length; |
| | | const maxPage = Math.max( |
| | | 1, |
| | | Math.ceil(paramPage2.value.total / paramPage2.value.size) || 1 |
| | | ); |
| | | if (paramPage2.value.current > maxPage) { |
| | | paramPage2.value.current = maxPage; |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | ElMessage.error("获取参数列表失败"); |
| | |
| | | // 选择工序 |
| | | const selectProcess = process => { |
| | | selectedProcess.value = process; |
| | | paramPage2.value.current = 1; |
| | | getParamList(process.id); |
| | | }; |
| | | |
| | |
| | | processForm.name = ""; |
| | | processForm.salaryQuota = null; |
| | | processForm.isQuality = false; |
| | | processForm.isProduction = false; |
| | | processForm.remark = ""; |
| | | processForm.deviceLedgerId = null; |
| | | processForm.type = 0; |
| | |
| | | processForm.name = process.name; |
| | | processForm.salaryQuota = process.salaryQuota; |
| | | processForm.isQuality = !!process.isQuality; |
| | | processForm.isProduction = !!process.isProduction; |
| | | processForm.remark = process.remark || ""; |
| | | processForm.deviceLedgerId = Number(process.deviceLedgerId); |
| | | processForm.type = process.type; |
| | |
| | | getProcessList(); |
| | | if (selectedProcess.value?.id === process.id) { |
| | | selectedProcess.value = null; |
| | | paramList.value = []; |
| | | paramListRaw.value = []; |
| | | paramPage2.value.total = 0; |
| | | } |
| | | }) |
| | | .catch(() => { |
| | |
| | | }; |
| | | |
| | | const handleParamPagination = obj => { |
| | | console.log(obj, "obj"); |
| | | paramPage2.value.current = obj.page; |
| | | paramPage2.value.size = obj.limit; |
| | | getParamList(selectedProcess.value.id); |
| | | }; |
| | | |
| | | // 获取数据字典 |