| | |
| | | "HJGC": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "环境工程管理系统", |
| | | "VITE_BASE_API": "http://36.213.180.217:9013", |
| | | "VITE_JAVA_API": "http://36.213.180.217:9012" |
| | | "VITE_BASE_API": "http://36.213.90.123:9013", |
| | | "VITE_JAVA_API": "http://36.213.90.123:9012" |
| | | }, |
| | | "logo": "logo/HJGCLogo.png", |
| | | "favicon": "favicon/HJGCfavicon.ico" |
| | |
| | | "QYHY": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "奇缘恒艺管理系统", |
| | | "VITE_BASE_API": "http://36.139.202.111:9012", |
| | | "VITE_JAVA_API": "http://36.139.202.111:9011" |
| | | "VITE_BASE_API": "http://36.213.90.123:9012", |
| | | "VITE_JAVA_API": "http://36.213.90.123:9011" |
| | | }, |
| | | "logo": "logo/QYHYLogo.png", |
| | | "favicon": "favicon/QYHYfavicon.ico" |
| | |
| | | formatData: cell => { |
| | | if (!cell) return "-"; |
| | | try { |
| | | return dayjs(cell).format("YYYY-MM-DD HH:mm:ss"); |
| | | return dayjs(cell).format("YYYY-MM-DD"); |
| | | } catch { |
| | | return cell; |
| | | } |
| | |
| | | <el-descriptions-item label="含税总价">{{ detailData.taxIncludingPriceTotal }}</el-descriptions-item> |
| | | <el-descriptions-item label="税率(%)">{{ detailData.taxRate }}</el-descriptions-item> |
| | | <el-descriptions-item label="不含税总价">{{ detailData.unTaxIncludingPriceTotal }}</el-descriptions-item> |
| | | <el-descriptions-item label="录入日期">{{ detailData.createTime }}</el-descriptions-item> |
| | | <el-descriptions-item label="录入日期">{{ detailData.createTime ? dayjs(detailData.createTime).format('YYYY-MM-DD') : '' }}</el-descriptions-item> |
| | | <el-descriptions-item label="预计运行时间">{{ detailData.planRuntimeTime ? dayjs(detailData.planRuntimeTime).format('YYYY-MM-DD') : '' }}</el-descriptions-item> |
| | | <el-descriptions-item label="设备图片" :span="2"> |
| | | <div v-if="detailData.storageBlobVOs && detailData.storageBlobVOs.length > 0" style="display: flex; gap: 10px; flex-wrap: wrap;"> |
| | |
| | | align: "center", |
| | | prop: "maintenanceActuallyTime", |
| | | formatData: cell => |
| | | cell ? dayjs(cell).format("YYYY-MM-DD HH:mm:ss") : "-", |
| | | cell ? dayjs(cell).format("YYYY-MM-DD") : "-", |
| | | }, |
| | | { |
| | | label: "保养结果", |
| | |
| | | prop="createTime" |
| | | width="200" |
| | | show-overflow-tooltip |
| | | v-if="searchForm.reportType !== 'inout'" /> |
| | | v-if="searchForm.reportType !== 'inout'"> |
| | | <template #default="scope"> |
| | | {{ formatDate(scope.row.createTime) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="入库批次" |
| | | prop="inboundBatches" |
| | | width="180" |
| | |
| | | |
| | | const total = ref(0); |
| | | |
| | | const formatDate = value => { |
| | | if (!value) return ""; |
| | | return String(value).slice(0, 10); |
| | | }; |
| | | |
| | | const stockRecordTypeOptions = ref([]); |
| | | |
| | | const getRecordType = recordType => { |
| | |
| | | <el-table-column label="描述" align="center" prop="msg" :show-overflow-tooltip="true" />
|
| | | <el-table-column label="访问时间" align="center" prop="loginTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
|
| | | <template #default="scope">
|
| | | <span>{{ parseTime(scope.row.loginTime) }}</span>
|
| | | <span>{{ parseTime(scope.row.loginTime, '{y}-{m}-{d}') }}</span>
|
| | | </template>
|
| | | </el-table-column>
|
| | | </el-table>
|
| | |
| | | <el-form-item label="操作时间" style="width: 308px">
|
| | | <el-date-picker
|
| | | v-model="dateRange"
|
| | | value-format="YYYY-MM-DD HH:mm:ss"
|
| | | value-format="YYYY-MM-DD"
|
| | | type="daterange"
|
| | | range-separator="-"
|
| | | start-placeholder="开始日期"
|
| | |
| | | </el-table-column>
|
| | | <el-table-column label="操作日期" align="center" prop="operTime" width="180" sortable="custom" :sort-orders="['descending', 'ascending']">
|
| | | <template #default="scope">
|
| | | <span>{{ parseTime(scope.row.operTime) }}</span>
|
| | | <span>{{ parseTime(scope.row.operTime, '{y}-{m}-{d}') }}</span>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column label="消耗时间" align="center" prop="costTime" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']">
|
| | |
| | | <el-form-item label="消耗时间:">{{ form.costTime }}毫秒</el-form-item>
|
| | | </el-col>
|
| | | <el-col :span="8">
|
| | | <el-form-item label="操作时间:">{{ parseTime(form.operTime) }}</el-form-item>
|
| | | <el-form-item label="操作时间:">{{ parseTime(form.operTime, '{y}-{m}-{d}') }}</el-form-item>
|
| | | </el-col>
|
| | | <el-col :span="24">
|
| | | <el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item>
|
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作日期" align="center" prop="operTime" width="180" sortable="custom" :sort-orders="['descending', 'ascending']"> |
| | | <template #default="scope"> |
| | | <span>{{ parseTime(scope.row.operTime) }}</span> |
| | | <span>{{ parseTime(scope.row.operTime, '{y}-{m}-{d}') }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="消耗时间" align="center" prop="costTime" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']"> |
| | |
| | | <el-form-item label="消耗时间:">{{ form.costTime }}毫秒</el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="操作时间:">{{ parseTime(form.operTime) }}</el-form-item> |
| | | <el-form-item label="操作时间:">{{ parseTime(form.operTime, '{y}-{m}-{d}') }}</el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item> |
| | |
| | | }, |
| | | }); |
| | | const { form, rules } = toRefs(data); |
| | | const { form: searchForm } = useFormData({ |
| | | ...data.searchForm, |
| | | // 设置录入日期范围为当天 |
| | | entryDate: [ |
| | | dayjs().startOf("day").format("YYYY-MM-DD"), |
| | | dayjs().endOf("day").format("YYYY-MM-DD"), |
| | | ], |
| | | entryDateStart: dayjs().startOf("day").format("YYYY-MM-DD"), |
| | | entryDateEnd: dayjs().endOf("day").format("YYYY-MM-DD"), |
| | | }); |
| | | const { form: searchForm } = useFormData(data.searchForm); |
| | | |
| | | // 产品表单弹框数据 |
| | | const productFormVisible = ref(false); |
| | |
| | | detailData.createUserName || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="创建时间">{{ |
| | | detailData.createTime || "--" |
| | | formatDate(detailData.createTime) || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="最近更新时间">{{ |
| | | detailData.updateTime || "--" |
| | | formatDate(detailData.updateTime) || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="备注" :span="3">{{ |
| | | detailData.remark || "--" |
| | |
| | | { |
| | | label: "创建时间", |
| | | prop: "createTime", |
| | | width: 170, |
| | | width: 130, |
| | | formatData: (val) => formatDate(val), |
| | | }, |
| | | { |
| | | label: "最近更新时间", |
| | | prop: "updateTime", |
| | | width: 170, |
| | | width: 130, |
| | | formatData: (val) => formatDate(val), |
| | | }, |
| | | { |
| | | label: "备注", |
| | |
| | | return num.toFixed(2); |
| | | }; |
| | | |
| | | const formatDate = (value) => { |
| | | if (!value) return ""; |
| | | return String(value).slice(0, 10); |
| | | }; |
| | | |
| | | /** 已退货数量 = 入库行总数量 − 当前可退货数量(剩余) */ |
| | | const calcAlreadyReturned = (row) => { |
| | | const total = Number(row?.stockInNum ?? row?.totalQuantity ?? row?.quantity ?? 0); |
| | | const un = Number(row?.unQuantity ?? 0); |
| | | if (!Number.isFinite(total) || !Number.isFinite(un)) return 0; |
| | | return Math.max(total - un, 0); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | getList(); |
| | | }); |
| | |
| | | </el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="客户名称">{{ rowData.productionOrderDto?.customerName || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="开始日期">{{ parseTime(rowData.productionOrderDto?.startTime) || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="开始日期">{{ parseTime(rowData.productionOrderDto?.startTime, '{y}-{m}-{d}') || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="完成进度"> |
| | | <el-progress :percentage="rowData.productionOrderDto?.completionStatus>=100?100:rowData.productionOrderDto?.completionStatus" |
| | | :color="customColors(rowData.productionOrderDto?.completionStatus)" |
| | |
| | | <el-descriptions-item label="生产工单号">{{ detailData.workOrder.workOrderNo || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="计划数量">{{ detailData.workOrder.planQuantity || 0 }}</el-descriptions-item> |
| | | <el-descriptions-item label="完成数量">{{ detailData.workOrder.completeQuantity || 0 }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际开始时间">{{ parseTime(detailData.workOrder.actualStartTime) || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际结束时间">{{ parseTime(detailData.workOrder.actualEndTime) || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际开始时间">{{ parseTime(detailData.workOrder.actualStartTime, '{y}-{m}-{d}') || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际结束时间">{{ parseTime(detailData.workOrder.actualEndTime, '{y}-{m}-{d}') || '-' }}</el-descriptions-item> |
| | | <!-- <el-descriptions-item label="完成进度"> |
| | | <el-progress :percentage="detailData.workOrder.completionStatus >= 100 ? 100 : (detailData.workOrder.completionStatus || 0)" |
| | | :color="customColors(detailData.workOrder.completionStatus)" |
| | |
| | | <el-table-column label="创建时间" |
| | | align="center"> |
| | | <template #default="{ row }"> |
| | | {{ parseTime(row.createTime) }} |
| | | {{ parseTime(row.createTime, '{y}-{m}-{d}') }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工时(h)" |
| | |
| | | :key="record.id" |
| | | class="quality-record-block"> |
| | | <div class="detail-section"> |
| | | <h3 class="section-title">检测记录 {{ index + 1 }} - {{ parseTime(record.createTime) }}</h3> |
| | | <h3 class="section-title">检测记录 {{ index + 1 }} - {{ parseTime(record.createTime, '{y}-{m}-{d}') }}</h3> |
| | | <el-descriptions :column="3" |
| | | border> |
| | | <el-descriptions-item label="检测日期">{{ parseTime(record.createTime) || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="检测日期">{{ parseTime(record.createTime, '{y}-{m}-{d}') || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="报工单号">{{ record.reportNo || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="检验员">{{ record.userName || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="产品名称">{{ record.productName || '-' }}</el-descriptions-item> |
| | |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "检测单位", |
| | | prop: "checkCompany", |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "检测结果", |
| | | prop: "checkResult", |
| | | dataType: "tag", |
| | |
| | | </el-table-column>
|
| | | <el-table-column label="创建时间" align="center" prop="createTime" width="200">
|
| | | <template #default="scope">
|
| | | <span>{{ parseTime(scope.row.createTime) }}</span>
|
| | | <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
| | |
| | | <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
|
| | | <el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
| | | <template #default="scope">
|
| | | <span>{{ parseTime(scope.row.createTime) }}</span>
|
| | | <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
|
| | |
| | | <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
|
| | | <el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
| | | <template #default="scope">
|
| | | <span>{{ parseTime(scope.row.createTime) }}</span>
|
| | | <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
|
| | |
| | | </el-table-column>
|
| | | <el-table-column label="创建时间" align="center" width="160" prop="createTime">
|
| | | <template #default="scope">
|
| | | <span>{{ parseTime(scope.row.createTime) }}</span>
|
| | | <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column label="操作" align="center" width="210" class-name="small-padding fixed-width">
|
| | |
| | | </el-table-column>
|
| | | <el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
| | | <template #default="scope">
|
| | | <span>{{ parseTime(scope.row.createTime) }}</span>
|
| | | <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column label="操作" width="180" align="center" class-name="small-padding fixed-width">
|
| | |
| | | </el-table-column>
|
| | | <el-table-column label="创建时间" align="center" prop="createTime">
|
| | | <template #default="scope">
|
| | | <span>{{ parseTime(scope.row.createTime) }}</span>
|
| | | <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|