This commit is contained in:
Teo
2025-08-16 00:07:34 +08:00
18 changed files with 613 additions and 620 deletions

View File

@ -1,5 +1,5 @@
# 页面标题
VITE_APP_TITLE = 新能源项目管理平台
VITE_APP_TITLE = 煤科建管平台
# 开发环境配置
VITE_APP_ENV = 'development'

View File

@ -1,5 +1,5 @@
# 页面标题
VITE_APP_TITLE = 新能源项目管理平台
VITE_APP_TITLE = 煤科建管平台
# 生产环境配置
VITE_APP_ENV = 'production'

View File

@ -6,7 +6,7 @@
<meta name="renderer" content="webkit" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0" />
<link rel="icon" href="/favicon.ico" />
<title>新能源项目管理平台</title>
<title>煤科建管平台</title>
<!--[if lt IE 11
]><script>
window.location.href = '/html/ie.html';

View File

@ -34,7 +34,7 @@ defineProps({
}
});
const title = ref('新能源项目管理平台');
const title = ref('煤科建管平台');
const settingsStore = useSettingsStore();
const sideTheme = computed(() => settingsStore.sideTheme);
</script>

View File

@ -16,7 +16,8 @@ export const useNoticeStore = defineStore('notice', () => {
const addNotice = (notice: NoticeItem) => {
console.log('🚀 ~ addNotice ~ notice:', notice);
state.notices.push(notice);
// 从前面录入
state.notices.unshift(notice);
};
const removeNotice = (notice: NoticeItem) => {

View File

@ -39,10 +39,12 @@
<template #default="scope">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5" v-if="scope.row.status === 'draft' || scope.row.status === 'cancel' || scope.row.status === 'back'">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)">审核</el-button>
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['design:extract:query']">审核</el-button>
</el-col>
<el-col :span="1.5" v-if="scope.row.status === 'finish'">
<el-button link type="primary" icon="Download" @click="handleDownload(scope.row)">导出</el-button>
<el-button link type="primary" icon="Download" @click="handleDownload(scope.row)" v-hasPermi="['design:extract:export']"
>导出</el-button
>
</el-col>
<el-col :span="1.5">
<el-button

View File

@ -146,6 +146,7 @@
<el-button
type="primary"
size="large"
v-hasPermi="['design:user:batch']"
@click="submitForm"
class="px-8 py-2.5 transition-all duration-300 transform hover:scale-105 bg-blue-500 hover:bg-blue-600 text-white font-medium"
>

View File

@ -10,22 +10,9 @@
<el-form-item label="工程名称" prop="projectName">
<el-input v-model="queryParams.projectName" placeholder="请输入工程名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="提出单位" prop="submitUnit">
<el-input v-model="queryParams.submitUnit" placeholder="请输入提出单位" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="专业" prop="specialty">
<el-input v-model="queryParams.specialty" placeholder="请输入专业" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="卷册名称" prop="volumeName">
<el-input v-model="queryParams.volumeName" placeholder="请输入卷册名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="卷册号" prop="volumeNo">
<el-input v-model="queryParams.volumeNo" placeholder="请输入卷册号" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="提出日期" prop="submitDate">
<el-date-picker clearable v-model="queryParams.submitDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择提出日期" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery" v-hasPermi="['design:designChange:list']">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>

View File

@ -17,9 +17,7 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding " width="240">
<template #default="scope">
<el-button v-hasPermi="['design:drawing:remove']" size="small" type="primary" icon="Download" @click="handleDownload(scope.row)"
>下载</el-button
>
<el-button size="small" type="primary" icon="Download" @click="handleDownload(scope.row)">下载</el-button>
<el-button size="small" type="primary" icon="view" @click="handleViewHis(scope.row)">查阅记录</el-button>
</template>
</el-table-column>

View File

@ -85,12 +85,39 @@
</div>
<!-- 操作按钮区域 -->
<div class="flex justify-center gap-4 mt-8">
<el-button type="primary" @click="submitForm" v-if="!form.id || form.status == 'draft'" size="large">确认提交</el-button>
<!-- <el-button @click="resetForm" size="large">重置</el-button> -->
<el-button type="primary" @click="update" v-show="form.id && form.status == 'draft'" icon="Edit" size="large">审核</el-button>
<el-button type="primary" @click="update" v-show="form.status == 'back'" size="large" icon="Edit">重新发起审核</el-button>
<el-button type="primary" @click="onView" v-show="form.id && form.status != 'draft'" icon="view" size="large">查看流程</el-button>
<el-button type="success" @click="onLoad" v-show="form.id && form.status != 'draft'" icon="Download" size="large">导出</el-button>
<el-button type="primary" @click="submitForm" v-hasPermi="['design:collect:add']" v-if="!form.id || form.status == 'draft'" size="large"
>确认提交</el-button
>
<el-button
type="primary"
@click="update"
v-hasPermi="['design:collect:query']"
v-show="form.id && form.status == 'draft'"
icon="Edit"
size="large"
>审核</el-button
>
<el-button type="primary" @click="update" v-hasPermi="['design:collect:query']" v-show="form.status == 'back'" size="large" icon="Edit"
>重新发起审核</el-button
>
<el-button
type="primary"
@click="onView"
v-hasPermi="['design:collect:query']"
v-show="form.id && form.status != 'draft'"
icon="view"
size="large"
>查看流程</el-button
>
<el-button
type="success"
v-hasPermi="['design:collect:export']"
@click="onLoad"
v-show="form.id && form.status != 'draft'"
icon="Download"
size="large"
>导出</el-button
>
</div>
</el-form>
</div>

View File

@ -19,7 +19,7 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button type="primary" icon="Search" v-hasPermi="['design:prelimScheme:query']" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
@ -55,19 +55,25 @@
<template #default="scope">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5" v-if="scope.row.status === 'draft' || scope.row.status === 'cancel' || scope.row.status === 'back'">
<el-button v-hasPermi="['design:drawing:edit']" size="small" type="primary" icon="Edit" @click="handleUpdate(scope.row)"
<el-button v-hasPermi="['design:prelimScheme:edit']" size="small" type="primary" icon="Edit" @click="handleUpdate(scope.row)"
>修改</el-button
>
</el-col>
<el-col :span="1.5" v-if="scope.row.status === 'draft' || scope.row.status === 'cancel' || scope.row.status === 'back'">
<el-button v-hasPermi="['design:drawing:remove']" size="small" type="primary" icon="Delete" @click="handleDelete(scope.row)"
<!-- <el-col :span="1.5" v-if="scope.row.status === 'draft' || scope.row.status === 'cancel' || scope.row.status === 'back'">
<el-button v-hasPermi="['design:prelimScheme:remove']" size="small" type="primary" icon="Delete" @click="handleDelete(scope.row)"
>删除</el-button
>
</el-col>
</el-col> -->
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" size="small" icon="View" v-if="scope.row.status != 'draft'" @click="handleViewInfo(scope.row)"
<el-button
type="primary"
v-hasPermi="['design:prelimScheme:query']"
size="small"
icon="View"
v-if="scope.row.status != 'draft'"
@click="handleViewInfo(scope.row)"
>查看</el-button
>
</el-col>

View File

@ -22,19 +22,6 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['design:subcontract:add']">新增</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['design:subcontract:edit']"
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['design:subcontract:remove']"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['design:subcontract:export']">导出</el-button>
</el-col> -->
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
</template>
@ -51,7 +38,6 @@
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改设计分包对话框 -->

View File

@ -2,7 +2,7 @@
<div class="login">
<el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form">
<div class="title-box">
<h3 class="title">新能源项目管理平台</h3>
<h3 class="title">煤科建管平台</h3>
<lang-select />
</div>
<el-form-item v-if="tenantEnabled" prop="tenantId">

View File

@ -149,7 +149,6 @@
<script setup>
import { ref, reactive, onMounted, computed, toRaw } from 'vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import { WarningFilled } from '@element-plus/icons-vue';
import { useUserStoreHook } from '@/store/modules/user';
import { useRouter } from 'vue-router';
const userStore = useUserStoreHook();
@ -441,7 +440,7 @@ const handleDialogClose = () => {
// 跳转
const jumpRouter = (row) => {
router.push({
path: `/materials/materialSon`,
path: `/materials/usageMaterials/materialIndexSon`,
query: {
id: row.id,
type: 'update'

View File

@ -121,10 +121,14 @@
<el-button size="small" type="text">查看详情</el-button>
</template>
<div class="space-y-2 text-sm">
<p><span class="font-medium">采购备注</span>{{ scope.row.cgRemark || '-' }}</p>
<p><span class="font-medium">到货备注</span>{{ scope.row.dhRemark || '-' }}</p>
<p><span class="font-medium">供应商备注</span>{{ scope.row.gysRemark || '-' }}</p>
<p><span class="font-medium">结算备注</span>{{ scope.row.jsRemark || '-' }}</p>
<p><span class="font-medium">采购备注</span>{{ scope.row.cgRemark || '-' }}
</p>
<p><span class="font-medium">到货备注</span>{{ scope.row.dhRemark || '-' }}
</p>
<p><span class="font-medium">供应商备注</span>{{ scope.row.gysRemark || '-'
}}</p>
<p><span class="font-medium">结算备注</span>{{ scope.row.jsRemark || '-' }}
</p>
</div>
</el-popover>
</template>
@ -153,28 +157,8 @@
<div class="text-gray-500 text-sm">
{{ total }} 条记录当前显示第 {{ (currentPage - 1) * pageSize + 1 }} {{ Math.min(currentPage * pageSize, total) }}
</div>
<el-pagination
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 50, 100]"
:total="total"
layout="prev, pager, next, jumper, sizes"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
small
></el-pagination>
</div>
</div>
</div>
<el-dialog
v-model="dialogVisible2"
:title="dialogType2 === 'addSon' ? '新增采购信息' : '编辑采购信息'"
:width="dialogWidth"
:fullscreen="isFullscreen"
:close-on-click-modal="false"
:before-close="handleClose"
destroy-on-close
>
<el-dialog v-model="dialogVisible2" :title="dialogType2 === 'addSon' ? '新增采购信息' : '编辑采购信息'" :width="dialogWidth"
:fullscreen="isFullscreen" :close-on-click-modal="false" :before-close="handleClose" destroy-on-close>
<!-- 表单内容 -->
<el-form ref="formRef" :model="form" :rules="formRules" label-width="140px" class="space-y-4">
<!-- 第一行 -->
@ -186,12 +170,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="联系单下达时间" prop="issuanceTime">
<el-date-picker
v-model="form.issuanceTime"
type="datetime"
placeholder="选择联系单下达时间"
value-format="YYYY-MM-DD HH:mm:ss"
></el-date-picker>
<el-date-picker v-model="form.issuanceTime" type="datetime" placeholder="选择联系单下达时间"
value-format="YYYY-MM-DD HH:mm:ss"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -205,12 +185,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="要求到货时间" prop="requireDelivery">
<el-date-picker
v-model="form.requireDelivery"
type="datetime"
placeholder="选择要求到货时间"
value-format="YYYY-MM-DD HH:mm:ss"
></el-date-picker>
<el-date-picker v-model="form.requireDelivery" type="datetime" placeholder="选择要求到货时间"
value-format="YYYY-MM-DD HH:mm:ss"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -224,12 +200,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="计划到货时间" prop="scheduledDelivery">
<el-date-picker
v-model="form.scheduledDelivery"
type="datetime"
placeholder="选择计划到货时间"
value-format="YYYY-MM-DD HH:mm:ss"
></el-date-picker>
<el-date-picker v-model="form.scheduledDelivery" type="datetime" placeholder="选择计划到货时间"
value-format="YYYY-MM-DD HH:mm:ss"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -243,12 +215,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="实际到货时间" prop="actualDelivery">
<el-date-picker
v-model="form.actualDelivery"
type="datetime"
placeholder="选择实际到货时间"
value-format="YYYY-MM-DD HH:mm:ss"
></el-date-picker>
<el-date-picker v-model="form.actualDelivery" type="datetime" placeholder="选择实际到货时间"
value-format="YYYY-MM-DD HH:mm:ss"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -271,12 +239,8 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="验收移交时间" prop="acceptanceCheck">
<el-date-picker
v-model="form.acceptanceCheck"
type="datetime"
placeholder="选择验收移交时间"
value-format="YYYY-MM-DD HH:mm:ss"
></el-date-picker>
<el-date-picker v-model="form.acceptanceCheck" type="datetime" placeholder="选择验收移交时间"
value-format="YYYY-MM-DD HH:mm:ss"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
@ -354,7 +318,8 @@
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="到货要求" prop="deliveryRequirements">
<el-input v-model="form.deliveryRequirements" placeholder="请输入到货要求" type="textarea" rows="3"></el-input>
<el-input v-model="form.deliveryRequirements" placeholder="请输入到货要求" type="textarea"
rows="3"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -373,7 +338,8 @@
</el-col>
<el-col :span="8">
<el-form-item label="供应商备注" prop="gysRemark">
<el-input v-model="form.gysRemark" placeholder="请输入供应商备注" type="textarea" rows="4"></el-input>
<el-input v-model="form.gysRemark" placeholder="请输入供应商备注" type="textarea"
rows="4"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -390,13 +356,18 @@
<!-- 底部按钮 -->
<template #footer>
<div class="flex justify-end gap-3">
<el-button @click="handleCancel" class="transition-all duration-200"> 取消 </el-button>
<el-button type="primary" @click="handleSubmit" :loading="submitLoading" class="transition-all duration-200">
<el-button @click="handleCancel" class="transition-all duration-200">
取消
</el-button>
<el-button type="primary" @click="handleSubmit" :loading="submitLoading"
class="transition-all duration-200">
{{ dialogType2 === 'addSon' ? '新增' : '保存' }}
</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup>
import { ref, reactive, onMounted, toRaw, getCurrentInstance } from 'vue';
@ -564,6 +535,7 @@ const handleSubmit = async () => {
}
};
const materialsUsageDetails1 = () => {
<<<<<<< HEAD
loading.value = true;
materialsUsageDetails({ physicalsupplyId: routeParams.value.id })
.then((res) => {
@ -576,6 +548,17 @@ const materialsUsageDetails1 = () => {
loading.value = false;
});
};
=======
loading.value = true;
materialsUsageDetails({ physicalsupplyId: routeParams.value.id }).then(res => {
tableData.value = res.rows
}).catch(() => {
loading.value = false;
}).finally(() => {
loading.value = false;
})
}
>>>>>>> 8f9972343a005ce4424fbf2e3b2388060c854b5f
// 格式化日期
const formatDate = (dateString) => {
if (!dateString) return '-';

View File

@ -61,7 +61,6 @@
@current-change="handleCurrentChange"></el-pagination>
</div>
</div>
</div>
<!-- 新增/编辑对话框 -->
<el-dialog v-model="dialogVisible" :title="dialogType === 'add' ? '新增记录' : '编辑记录'" :width="dialogWidth"
:fullscreen="isFullscreen" :before-close="handleDialogClose">
@ -122,7 +121,8 @@
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="供货要求" prop="supplyRequirements">
<el-input v-model="formData.supplyRequirements" placeholder="请输入供货要求" type="textarea" :rows="3"></el-input>
<el-input v-model="formData.supplyRequirements" placeholder="请输入供货要求" type="textarea"
:rows="3"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -142,6 +142,8 @@
</div>
</template>
</el-dialog>
</div>
</template>
<script setup>
@ -159,6 +161,7 @@ const total = ref(0);
const currentPage = ref(1);
const pageSize = ref(10);
const loading = ref(false);
const saveLoading = ref(false);
// 搜索表单
const searchForm = reactive({
@ -436,7 +439,7 @@ const handleDialogClose = () => {
// 跳转
const jumpRouter = (row) => {
router.push({
path: `/materials/purchaseSon`,
path: `/materials/usageMaterials/purchaseIndexSon`,
query: {
id: row.id,
type: 'update'
@ -449,5 +452,4 @@ onMounted(() => {
});
</script>
<style scoped>
</style>
<style scoped></style>

View File

@ -159,7 +159,6 @@
@size-change="handleSizeChange" @current-change="handleCurrentChange" small></el-pagination>
</div>
</div>
</div>
<!-- 删除确认对话框 -->
<el-dialog v-model="deleteDialogVisible2" title="确认删除" width="300px" :show-close="false">
<div class="text-center py-4">
@ -359,7 +358,8 @@
</el-col>
<el-col :span="8">
<el-form-item label="供应商备注" prop="gysRemark">
<el-input v-model="form.gysRemark" placeholder="请输入供应商备注" type="textarea" rows="4"></el-input>
<el-input v-model="form.gysRemark" placeholder="请输入供应商备注" type="textarea"
rows="4"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -386,6 +386,8 @@
</div>
</template>
</el-dialog>
</div>
</template>
<script setup>
import { ref, reactive, onMounted, toRaw, getCurrentInstance } from 'vue';
@ -586,5 +588,4 @@ onMounted(() => {
console.log('routeParams.value', routeParams.value);
materialsUsageDetails1();
})
</script>

View File

@ -2,7 +2,7 @@
<div class="register">
<el-form ref="registerRef" :model="registerForm" :rules="registerRules" class="register-form">
<div class="title-box">
<h3 class="title">新能源项目管理平台</h3>
<h3 class="title">煤科建管平台</h3>
<lang-select />
</div>
<el-form-item v-if="tenantEnabled" prop="tenantId">