.env.dev | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/ApsPlateProcessShopStat/ApsPlateProcessShopStat.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/mainPlan/platePlanList/index copy.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/mainPlan/platePlanList/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
vite.config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.env.dev
@@ -9,4 +9,5 @@ # æ è¯æ¬å°å¼åæå¡ï¼ç¨äºGateWay转åå°æ¬å°æå¡ # é åå端æå¡ # VITE_APP_LOCAL = 'int' VITE_APP_LOCAL = 'hjy' # VITE_APP_LOCAL = 'hjy' VITE_APP_LOCAL = 'zhl' src/api/ApsPlateProcessShopStat/ApsPlateProcessShopStat.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ import request from '@/utils/request' // æ¥è¯¢é£é车é´ç»è®¡å表 export function listApsPlateProcessShopStat(query) { return request({ url: '/plateProcessShopStat/list', method: 'get', params: query }) } // æ¥è¯¢é£é车é´ç»è®¡è¯¦ç» export function getApsPlateProcessShopStat(id) { return request({ url: '/ApsPlateProcessShopStat/ApsPlateProcessShopStat/' + id, method: 'get' }) } // æ°å¢é£é车é´ç»è®¡ export function addApsPlateProcessShopStat(data) { return request({ url: '/ApsPlateProcessShopStat/ApsPlateProcessShopStat', method: 'post', data: data }) } // ä¿®æ¹é£é车é´ç»è®¡ export function updateApsPlateProcessShopStat(data) { return request({ url: '/ApsPlateProcessShopStat/ApsPlateProcessShopStat', method: 'put', data: data }) } // å é¤é£é车é´ç»è®¡ export function delApsPlateProcessShopStat(id) { return request({ url: '/ApsPlateProcessShopStat/ApsPlateProcessShopStat/' + id, method: 'delete' }) } src/views/mainPlan/platePlanList/index copy.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,233 @@ <template> <div class="app-container"> <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:add']" >æ°å¢</el-button> </el-col> <el-col :span="1.5"> <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate" v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:edit']" >ä¿®æ¹</el-button> </el-col> <el-col :span="1.5"> <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete" v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:remove']" >å é¤</el-button> </el-col> <el-col :span="1.5"> <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:export']" >导åº</el-button> </el-col> <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> </el-row> <el-table v-loading="loading" :data="ApsPlateProcessShopStatList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="${comment}" align="center" prop="id" /> <el-table-column label="åæ®å·" align="center" prop="docNo" /> <el-table-column label="车é´ç¼ç " align="center" prop="shopCode" /> <el-table-column label="车é´åç§°" align="center" prop="shopName" /> <el-table-column label="计åå¼å§æ¶é´" align="center" prop="planStartDate" /> <el-table-column label="计åç»ææ¥æ" align="center" prop="planEndDate" /> <el-table-column label="æä½" align="center" class-name="small-padding fixed-width"> <template #default="scope"> <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:edit']">ä¿®æ¹</el-button> <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['ApsPlateProcessShopStat:ApsPlateProcessShopStat:remove']">å é¤</el-button> </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-dialog :title="title" v-model="open" width="500px" append-to-body> <el-form ref="ApsPlateProcessShopStatRef" :model="form" :rules="rules" label-width="80px"> </el-form> <template #footer> <div class="dialog-footer"> <el-button type="primary" @click="submitForm">ç¡® å®</el-button> <el-button @click="cancel">å æ¶</el-button> </div> </template> </el-dialog> </div> </template> <script setup name="ApsPlateProcessShopStat"> import { listApsPlateProcessShopStat, getApsPlateProcessShopStat, delApsPlateProcessShopStat, addApsPlateProcessShopStat, updateApsPlateProcessShopStat } from "@/api/ApsPlateProcessShopStat/ApsPlateProcessShopStat"; const { proxy } = getCurrentInstance(); const ApsPlateProcessShopStatList = ref([]); const open = ref(false); const loading = ref(true); const showSearch = ref(true); const ids = ref([]); const single = ref(true); const multiple = ref(true); const total = ref(0); const title = ref(""); const data = reactive({ form: {}, queryParams: { pageNum: 1, pageSize: 10, docNo: null, shopCode: null, shopName: null, planStartDate: null, planEndDate: null, }, rules: { } }); const { queryParams, form, rules } = toRefs(data); /** æ¥è¯¢é£é车é´ç»è®¡å表 */ function getList() { loading.value = true; listApsPlateProcessShopStat(queryParams.value).then(response => { ApsPlateProcessShopStatList.value = response.rows; total.value = response.total; loading.value = false; }); } // åæ¶æé® function cancel() { open.value = false; reset(); } // 表åéç½® function reset() { form.value = { id: null, docNo: null, shopCode: null, shopName: null, planStartDate: null, planEndDate: null, delFlag: null, createBy: null, createTime: null, updateBy: null, updateTime: null }; proxy.resetForm("ApsPlateProcessShopStatRef"); } /** æç´¢æé®æä½ */ function handleQuery() { queryParams.value.pageNum = 1; getList(); } /** éç½®æé®æä½ */ function resetQuery() { proxy.resetForm("queryRef"); handleQuery(); } // å¤éæ¡é䏿°æ® function handleSelectionChange(selection) { ids.value = selection.map(item => item.id); single.value = selection.length != 1; multiple.value = !selection.length; } /** æ°å¢æé®æä½ */ function handleAdd() { reset(); open.value = true; title.value = "æ·»å é£é车é´ç»è®¡"; } /** ä¿®æ¹æé®æä½ */ function handleUpdate(row) { reset(); const _id = row.id || ids.value getApsPlateProcessShopStat(_id).then(response => { form.value = response.data; open.value = true; title.value = "ä¿®æ¹é£é车é´ç»è®¡"; }); } /** æäº¤æé® */ function submitForm() { proxy.$refs["ApsPlateProcessShopStatRef"].validate(valid => { if (valid) { if (form.value.id != null) { updateApsPlateProcessShopStat(form.value).then(response => { proxy.$modal.msgSuccess("ä¿®æ¹æå"); open.value = false; getList(); }); } else { addApsPlateProcessShopStat(form.value).then(response => { proxy.$modal.msgSuccess("æ°å¢æå"); open.value = false; getList(); }); } } }); } /** å é¤æé®æä½ */ function handleDelete(row) { const _ids = row.id || ids.value; proxy.$modal.confirm('æ¯å¦ç¡®è®¤å é¤é£é车é´ç»è®¡ç¼å·ä¸º"' + _ids + '"çæ°æ®é¡¹ï¼').then(function() { return delApsPlateProcessShopStat(_ids); }).then(() => { getList(); proxy.$modal.msgSuccess("å 餿å"); }).catch(() => {}); } /** å¯¼åºæé®æä½ */ function handleExport() { proxy.download('ApsPlateProcessShopStat/ApsPlateProcessShopStat/export', { ...queryParams.value }, `ApsPlateProcessShopStat_${new Date().getTime()}.xlsx`) } getList(); </script> src/views/mainPlan/platePlanList/index.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,353 @@ <template> <div class="app-container"> <el-row :gutter="20"> <el-col> <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="90px"> <el-row :gutter="20"> <el-col :span="12"> <el-form-item label="å·¥åå·" prop="num"> <el-input v-model="queryParams.workOrderNo" placeholder="请è¾å ¥é£é计åå·¥åå·" clearable @keyup.enter="handleQuery" /> </el-form-item> </el-col> <el-col :span="12" style="text-align: right;"> <el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-col> </el-row> </el-form> </el-col> </el-row> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['apsPlateProcessStat:export']" >导åº</el-button> </el-col> <el-col :span="1.5"> <el-button type="success" plain icon="Edit" @click="handleUpdate" v-hasPermi="['apsPlateProcessStat:edit']" >æ´æ°</el-button> </el-col> <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> </el-row> <HxlhTable style="width: 100%" :columns="columns" :data="aps_plate_process_statList" :loading="loading" :height="height" > </HxlhTable> <!-- æ·»å æä¿®æ¹é£éç»è®¡å¯¹è¯æ¡ --> <el-dialog :title="title" v-model="open" width="500px" append-to-body> <el-form ref="aps_plate_process_statRef" :model="form" :rules="rules" label-width="80px"> <el-form-item label="æåº" prop="num"> <el-input v-model="form.num" placeholder="请è¾å ¥æåº" /> </el-form-item> <el-form-item label="ç产æ°é" prop="productionQuantity"> <el-input v-model="form.productionQuantity" placeholder="请è¾å ¥ç产æ°é" /> </el-form-item> <el-form-item label="æ åå·¥æ¶" prop="standardTime"> <el-input v-model="form.standardTime" placeholder="请è¾å ¥æ åå·¥æ¶" /> </el-form-item> <el-form-item label="å·¥åºæ»å·¥æ¶" prop="processTotalTime"> <el-input v-model="form.processTotalTime" placeholder="请è¾å ¥å·¥åºæ»å·¥æ¶" /> </el-form-item> <el-form-item label="设计工æ¶" prop="designTimes"> <el-input v-model="form.designTimes" placeholder="请è¾å ¥è®¾è®¡å·¥æ¶" /> </el-form-item> </el-form> <template #footer> <div class="dialog-footer"> <el-button type="primary" @click="submitForm">ç¡® å®</el-button> <el-button @click="cancel">å æ¶</el-button> </div> </template> </el-dialog> </div> </template> <script setup name="Aps_plate_process_stat"> import { listPlateStat,updateStat } from "@/api/mainPlan/plateProcessStat"; import HxlhTable from "@/components/HxlhTable/index.vue"; import { getToken } from "@/utils/auth"; import { ref } from "vue"; import {ElMessage} from "element-plus"; const { proxy } = getCurrentInstance(); const aps_plate_process_statList = ref([]); const open = ref(false); const loading = ref(true); const showSearch = ref(true); const single = ref(true); const multiple = ref(true); const total = ref(0); const title = ref(""); const height = ref(document.documentElement.clientHeight - 270 + "px;") const data = reactive({ form: {}, queryParams: { pageNum: 1, pageSize: 10, workOrderNo: null, processName: null, num: null, routeProcessNumber: null, currentProcessNumber: null, productionQuantity: null, standardTime: null, processTotalTime: null, processPlanEndDay: null, computePlanEndDay: null, designTimes: null, batchNumber: null, }, rules: { } }); const { queryParams, form, rules } = toRefs(data); // è¡¨æ ¼é ç½® const columns = ref([ /* { type: 'seq', title: 'åºå·', width: 60 },*/ { title: 'å·¥åå·', field: 'workOrderNo', width: 150, } , { title: 'å·¥åºåç§°', field: 'processName', }, { title: 'å·¥åºå·', field: 'routeProcessNumberTxt', width: 100, }, { title: 'å½åå·¥åºå·', field: 'currentProcessNumberTxt', width: 100, }, { title: 'ç产æ°é', field: 'productionQuantity', width: 80, }, { title: 'æ åå·¥æ¶', field: 'standardTime', width: 80, }, { title: 'å·¥åºæ»å·¥æ¶', field: 'processTotalTime', width: 80, }, { title: '计åå¼å·¥æ¥', field: 'processPlanStartDaytxt', width: 140, type:'html' }, { title: '计åå®å·¥æ¥', field: 'processPlanEndDaytxt', width: 140, type:'html' }, { title: '订åå®å·¥æ¥', field: 'orderPlanEndDay', width: 120, format: 'YYYY-MM-DD' } ]); /** æ¥è¯¢é£éç»è®¡å表 */ function getList() { loading.value = true; listPlateStat(queryParams.value).then(response => { const listValue = response.rows; listValue.forEach(listItem => { listItem[`processPlanStartDaytxt`]= listItem.warning? `<font color="red">${listItem.processPlanStartDay}</font>` :listItem.processPlanStartDay; listItem[`processPlanEndDaytxt`]= listItem.warning? `<font color="red">${listItem.processPlanEndDay}</font>` :listItem.processPlanEndDay; listItem[`routeProcessNumberTxt`]= listItem.routeProcessNumber.toString().padStart(3, '0'); listItem[`currentProcessNumberTxt`]= listItem.currentProcessNumber.toString().padStart(3, '0'); }); aps_plate_process_statList.value =listValue debugger; total.value = response.total; loading.value = false; }); } // åæ¶æé® function cancel() { open.value = false; reset(); } // 表åéç½® function reset() { form.value = { id: null, workOrderNo: null, processName: null, num: null, routeProcessNumber: null, currentProcessNumber: null, productionQuantity: null, standardTime: null, processTotalTime: null, processPlanEndDay: null, computePlanEndDay: null, designTimes: null, batchNumber: null, createBy: null, delFlag: null }; proxy.resetForm("aps_plate_process_statRef"); } /** æç´¢æé®æä½ */ function handleQuery() { queryParams.value.pageNum = 1; getList(); } /** éç½®æé®æä½ */ function resetQuery() { queryParams.value.workOrderNo =''; proxy.resetForm("queryRef"); handleQuery(); } // å¤éæ¡é䏿°æ® function handleSelectionChange(selection) { ids.value = selection.map(item => item.id); single.value = selection.length != 1; multiple.value = !selection.length; } /** æ°å¢æé®æä½ */ function handleAdd() { reset(); open.value = true; title.value = "æ·»å é£éç»è®¡"; } /** ä¿®æ¹æé®æä½ */ function handleUpdate(row) { reset(); updateStat().then(response => { form.value = response.data; ElMessage({ message: 'æ°æ®æ´æ°æå', type: 'success', }) getList(); }); } /** æäº¤æé® */ function submitForm() { proxy.$refs["aps_plate_process_statRef"].validate(valid => { if (valid) { if (form.value.id != null) { updateAps_plate_process_stat(form.value).then(response => { proxy.$modal.msgSuccess("ä¿®æ¹æå"); open.value = false; getList(); }); } else { addAps_plate_process_stat(form.value).then(response => { proxy.$modal.msgSuccess("æ°å¢æå"); open.value = false; getList(); }); } } }); } /** å é¤æé®æä½ */ function handleDelete(row) { const _ids = row.id || ids.value; proxy.$modal.confirm('æ¯å¦ç¡®è®¤å é¤é£éç»è®¡ç¼å·ä¸º"' + _ids + '"çæ°æ®é¡¹ï¼').then(function() { return delAps_plate_process_stat(_ids); }).then(() => { getList(); proxy.$modal.msgSuccess("å 餿å"); }).catch(() => {}); } /** å¯¼åºæé®æä½ */ function handleExport() { proxy.download('/aps/plateProcessStat/export', { ...queryParams.value }, `aps_plate_process_stat_${new Date().getTime()}.xlsx`) } const headerCellClassName = ({ column }) => { if (column.field === 'name') { return 'col-blue' } return null } const rowClassName = ({ rowIndex }) => { if ([2, 3, 5].includes(rowIndex)) { return 'row-green' } return null } const cellClassName = ({ row, column }) => { if (column.field === 'processPlanStartDay'||column.field === 'processPlanEndDay') { if (row.warning) { return 'col-orange' } } return null } getList(); </script> <style lang="scss" scoped> ::v-deep(.mytable-style.vxe-table .vxe-body--row.row-green) { background-color: #187; color: #fff; } ::v-deep(.mytable-style.vxe-table .vxe-header--column.col-blue) { background-color: #2db7f5; color: #fff; } ::v-deep(.mytable-style.vxe-table .vxe-body--column.col-red) { background-color: red; color: #fff; } </style> vite.config.js
@@ -15,6 +15,13 @@ console.log(VITE_APP_BASE_API, VITE_API_URL); // æ ¹æ®ç¯å¢åéå¨æè®¾ç½®ä»£ç const proxyConfig = () => { const personProxy = { "/prod-api": { target: "http://192.168.50.13:8080", // å¼åç¯å¢çå端å°å changeOrigin: true, rewrite: (path) => path.replace(/^\/prod-api/, ""), }, }; const devProxy = { "/prod-api": { target: "http://192.168.50.160:8080", // å¼åç¯å¢çå端å°å @@ -44,6 +51,8 @@ return devProxy; case "staging": return testProxy; case "dev": return personProxy; default: // é»è®¤å¼åç¯å¢ return prodProxy; }