Browse Source

重构优化

fix_bug_pro20231227
13208366016 1 year ago
parent
commit
c18bcde031
  1. 12
      src/api/basic/basicPda.js
  2. 2
      src/option/basic/basicPda.js
  3. 2
      src/router/page/index.js
  4. 4
      src/views/basic/pda/basicPda.vue
  5. 474
      src/views/basic/pda/basicPdaTTTT.vue
  6. 1
      src/views/basicdata/driverArtery/basicdataDriverArtery.vue
  7. 311
      src/views/datadetail/ToolUpdate.vue
  8. 4
      vite.config.js

12
src/api/basic/basicPda.js

@ -11,6 +11,7 @@ export const getList = (current, size, params) => {
}
})
}
//测试列表渲染
export const $_TableList = (params) => {
return request({
url: '/api/logpm-basic/pda/list',
@ -18,6 +19,17 @@ export const $_TableList = (params) => {
params,
});
};
// 测试添加功能
export const $_AddInfo = data => {
return request({
url: '/api/logpm-basic/pda/submit',
method: 'post',
data
});
};
export const getDetail = (id) => {
return request({
url: '/api/logpm-basic/pda/detail',

2
src/option/basic/basicPda.js

@ -138,7 +138,7 @@ export default {
label: 'dictValue',
value: 'dictKey',
},
rules: [{ required: true, message: '请选择状态!', trigger: 'blur' }],
// rules: [{ required: true, message: '请选择状态!', trigger: 'blur' }],
},
{
label: '当前使用仓',

2
src/router/page/index.js

@ -75,7 +75,7 @@ export default [
},
// 重构演示页面
{
path: '/datadetail/ToolUpdate',
path: '/ToolUpdate',
component: Layout,
redirect: '/reservation/order_listFroms',
children: [

4
src/views/basic/pda/basicPda.vue

@ -336,12 +336,8 @@ export default {
},
};
</script>
<!-- setup -->
<script setup>
</script>
<style scoped lang="scss">
:deep(.el-form-item__content) {

474
src/views/basic/pda/basicPdaTTTT.vue

@ -0,0 +1,474 @@
<template>
<!-- 表格组件 -->
<div class='el-content-el' ref='TabHeight'>
<!-- 顶部开始 -->
<div class="el-Cart-button">
<!-- 表格顶部左侧按钮 -->
<div class="el-Cart-button-left">
<el-button type="primary" @click="AddInfo"><el-icon><Plus /></el-icon> </el-button>
<el-button @click="handleDelete"><el-icon><Delete /></el-icon> </el-button>
<el-button @click="handleDelete"><el-icon><Edit /></el-icon></el-button>
</div>
<!-- 表格顶部右侧按钮 -->
<div class="el-Cart-button-right">
<!-- 刷新按钮 -->
<button>
<el-icon color="#ccc"><Refresh /></el-icon>
</button>
<!-- 功能按钮 -->
<button>
<el-icon color="#ccc"><Operation /></el-icon>
</button>
<!-- 搜索按钮 -->
<button>
<el-icon color="#ccc"><Search /></el-icon>
</button>
</div>
</div>
<!-- 顶部结束 -->
<div class='el-Cart'>
<!-- 表格列开始 -->
<el-table :data="data" border :height="TabHeight+'px'" style="width: 100%;">
<el-table-column type="selection" width="55" fixed="left"/>
<el-table-column type="index" fixed="left" width="50" height="100" label="#" align="center"/>
<el-table-column prop="name" label="产品名称" width="180" align="center " sortable/>
<el-table-column prop="model" label="型号" width="180" align="center " />
<el-table-column prop="purchaseAmount" label="购买金额" width="180" align="center "/>
<el-table-column prop="state" label="状态" width="180" align="center "/>
<el-table-column prop="currentUsageWarehouse" label="当前使用仓" width="180" align="center "/>
<el-table-column prop="user" label="使用人" width="180" align="center " />
<el-table-column prop="deviceSerialNumber" label="设备序列号S/N" width="180" align="center "/>
<el-table-column prop="userPosition" label="使用人岗位" width="180" align="center "/>
<el-table-column prop="isDeposit" label="是否收取押金" width="180" align="center "/>
<el-table-column prop="deposit" label="押金金额(元)" width="180" align="center "/>
<el-table-column prop="purchasingCompany" label="采购公司" width="180" align="center "/>
<el-table-column label="商品图片" width="180" align="center" >
<template #default="props">
<img :src="props.row.photo" class='el-Img'>
</template>
</el-table-column>
<el-table-column prop="buyingTime" label="购买时间" width="180" align="center "/>
<el-table-column prop="notes" label="备注" width="180" align="center "/>
<el-table-column prop="warrantyPeriodEndTime" label="保修截止时间" width="180" align="center "/>
<el-table-column fixed="right" label="操作" width="280" align="center ">
<template #default>
<el-button link type="primary" icon="el-icon-delete" @click="handleDelete">删除</el-button>
<el-button link type="primary" icon="el-icon-view" @click="handleEdit(row)">编辑</el-button>
<el-button link type="primary" icon="el-icon-view" @click="handleview(row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<!-- 表格翻页功能 -->
<div class="demo-pagination-block">
<el-pagination
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="pageList"
:small="small"
:disabled="disabled"
:background="background"
layout="total, sizes, prev, pager, next, jumper"
:total="2"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
</div>
<!-- 弹窗组件 -->
<div class='addlalog'>
<el-dialog v-model="AddLalog" title="新增产品" >
<el-form label-position="top" label-width="100px" :model="AddForm">
<el-form-item label="产品名称">
<el-input v-model="AddForm.name" placeholder="请输入产品名称"/>
</el-form-item>
<el-form-item label="购买金额">
<el-input v-model="AddForm.purchaseAmount" placeholder="请输入购买金额"/>
</el-form-item>
<el-form-item label="当前使用仓">
<el-input v-model="AddForm.currentUsageWarehouse" placeholder="请输入当前使用仓"/>
</el-form-item>
<el-form-item label="设备序列号S/N">
<el-input v-model="AddForm.deviceSerialNumber" placeholder="请输入设备序列号" />
</el-form-item>
<el-form-item label="是否收取押金">
<el-select v-model="AddForm.isDeposit" class="m-2" placeholder="选择是否收取押金">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="采购公司">
<el-input v-model="AddForm.purchasingCompany" placeholder="请输入采购公司"/>
</el-form-item>
<el-form-item label="保修截至时间">
<el-date-picker
v-model="AddForm.warrantyPeriodEndTime"
type="date"
placeholder="选择保修截至日期"
size="default"
format="YYYY/MM/DD"
/>
</el-form-item>
<el-form-item label="图片">
<!-- photo -->
<el-upload
ref="uploadRef"
class="upload-demo"
:action=doubledCount
:on-success="ImgSuccess"
:before-upload="beforeAvatarUpload"
:headers="headers"
>
<template #trigger>
<div class='img-icon'>
<el-button type="primary">点击上传图片</el-button>
<el-icon><UploadFilled /></el-icon>
</div>
</template>
</el-upload>
</el-form-item>
<el-form-item label="型号">
<el-input v-model="AddForm.model" placeholder="请输入型号"/>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="AddForm.state" class="m-2" placeholder="选择状态">
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="使用人">
<el-input v-model="AddForm.user" placeholder="请输入使用人"/>
</el-form-item>
<el-form-item label="使用人岗位">
<el-input v-model="AddForm.userPosition" placeholder="请输入使用人岗位"/>
</el-form-item>
<el-form-item label="押金金额(RMB)">
<el-input v-model="AddForm.deposit" placeholder="请输入押金金额(元)" />
</el-form-item>
<el-form-item label="购买时间">
<el-date-picker
v-model="AddForm.buyingTime"
type="date"
placeholder="选择购买日期"
size="default"
format="YYYY/MM/DD"
/>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="AddForm.notes" placeholder="请输入备注"/>
</el-form-item>
</el-form>
<!-- 弹窗底部提交按钮 -->
<div class='el-dialog-button'>
<el-button type="danger" @click="submit">
<el-icon><Select/></el-icon>
确认提交
</el-button>
</div>
</el-dialog>
</div>
<!-- 弹窗结束 -->
</div>
</template>
<script setup lang='ts'>
import { ref, reactive,onMounted,computed } from 'vue';
import { getList, getDetail, add, update, remove,$_TableList } from '@/api/basic/basicPda'; //API
import { ElMessage, type UploadProps } from 'element-plus'
import { getToken } from '@/utils/auth';
const currentPage = ref(1); //
const pageSize = ref(30); //
const pageList = ref([5, 10, 50, 100, 200]); //
const small = ref(false);
const background = ref(true); //
const disabled = ref(false); // 使
const data = ref([]); //
const TabHeight = ref();//
const AddLalog = ref(true)//
const AddForm = ref({
name: '',
region: '',
type: '',
})
const value1 = ref('') //
const optionsvalue = ref('')//
const optionsvalue2=ref('')//
const uploadRef = ref()//
const options = [//
{
value: '0',
label: '是',
},
{
value: '1',
label: '否',
},
]
const options2 = [//
{
value: '1',
label: '正常',
},
{
value: '2',
label: '维修',
},
{
value: '3',
label: '不能使用(不能开机)',
},
]
//
const doubledCount = computed(() => {
return '/api/blade-resource/oss/endpoint/put-file'
})
// TOKEN
const headers =computed(()=>{
return {'Blade-Auth': 'Bearer ' + getToken(),
};
})
//
function onLoad(){
// API$_TableList
$_TableList({ current:currentPage.value, size: pageSize.value }).then(res=>{
console.log(res.data.data.records);
//
data.value=res.data.data.records
})
}
// DOM
onMounted(() => {
//88
TabHeight.value = TabHeight.value.offsetHeight-91;
// DOM
onLoad()
})
//
const AddInfo=()=>{
console.log(111);
AddLalog.value=true;
}
//
const imageUrl = ref('')
//
const ImgSuccess: UploadProps['onSuccess'] = (response,uploadFile) => {
console.log(response,uploadFile,'123123123123123122312123');
console.log('================================================================');
}
//
const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => {
if (rawFile.type !== 'image/png') {
ElMessage.error('图片格式只能为image/png!')
return false
} else if (rawFile.size / 1024 / 1024 > 2) {
ElMessage.error('图片大小不能大于2MB!')
return false
}
return true
}
</script>
<style scoped lang='scss'>
// IDV
.el-content-el {
padding: 0 8px;
padding-top:8px;
background-color: #fff;
height: 100%;
box-sizing: border-box;
//
:deep(.el-Cart-button) {
margin-bottom: 8px;
display: flex;
justify-content: space-between;
}
//
.el-Cart-button-left,.el-Cart-button-right{
display: flex;
margin: 0 0px;
justify-content: space-between;
}
.el-Cart-button-left{
:deep( button){
padding: 0 7px;
min-width: 70px;
display: flex;
span{
width: 100%;
display: inline-flex;
align-items: center;
justify-content: space-between;
i{
margin-right: 6px;
}
}
}
}
.el-Cart-button-right {
display: flex;
margin: 0 0px;
justify-content: space-between;
align-items: center;
button {
background-color: transparent;
border-radius: 50%;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #ccc;
margin-right: 8px;
&:hover {
background-color: #172e601f;
i {
color: #0e2549;
}
}
//
&:last-child {
margin-right: 0;
}
}
}
.el-Cart {
//
:deep(.el-table__header) {
th {
background-color: #fafafa;
color: #000;
}
}
//
//
.demo-pagination-block {
display: flex;
justify-content: flex-end;
margin-top: 6px;
}
//
:deep(.el-table__row) {
height: 60px;
}
//
.el-Img {
width: 100%;
height: 40px;
img {
width: 100%;
height: 100%;
}
}
}
//
:deep(.addlalog){
//
.el-dialog__header{
border-bottom: 1px solid #172e607d ;
margin-right:0;
margin-bottom:0;
padding-bottom:20px;
position: relative;
i{
color:#172e60;
}
}
// 线
.el-dialog__header::after{
content: "";
display: block;
width: 3px;
height: 16px;
background-color: #172e60;
position: absolute;
left: 8px;
top: 24px;
}
.el-dialog__body{
.el-form{
width: 100%;
display:flex;
flex-wrap: wrap;
justify-content: space-between;
}
.el-form-item{
width:276px;
}
/* 去掉第三个、第六个、第九个div的右外边距 */
.el-form-item:nth-child(3n) {
margin-right: 0;
}
}
.el-form-item__content{
height:30px;
//
.el-input{
width: 100%;
height:30px !important;
}
//
.el-select{
width: 100%;
}
}
}
//
.el-dialog-button{
display:flex;
justify-content: flex-end;
}
//
.img-icon{
width: 100%;
position: relative;
.el-button{
width: 100%;
background-color: #fff;
color: #a8abb9;
justify-content: flex-start;
border: 1px solid #dcdfe6;
}
i{
position:absolute;
left: 110px;
top: 8px;
font-size:18px
}
}
:deep(.upload-demo){
width:100%;
.el-upload{
width:100%
}
}
}
</style>

1
src/views/basicdata/driverArtery/basicdataDriverArtery.vue

@ -608,6 +608,7 @@ export default {
},
methods: {
rowSave(row, done, loading) {
console.log(row,'row信息');
add(row).then(
() => {
this.onLoad(this.page);

311
src/views/datadetail/ToolUpdate.vue

@ -5,7 +5,7 @@
<div class="el-Cart-button">
<!-- 表格顶部左侧按钮 -->
<div class="el-Cart-button-left">
<el-button type="primary" @click="handleAdd"><el-icon><Plus /></el-icon> </el-button>
<el-button type="primary" @click="AddInfo"><el-icon><Plus /></el-icon> </el-button>
<el-button @click="handleDelete"><el-icon><Delete /></el-icon> </el-button>
<el-button @click="handleDelete"><el-icon><Edit /></el-icon></el-button>
</div>
@ -26,10 +26,9 @@
</div>
</div>
<!-- 顶部结束 -->
<div class='el-Cart'>
<!-- 表格列开始 -->
<el-table :data="data" border :height="TabHeight+'px'" style="width: 100%; ">
<el-table :data="data" border :height="TabHeight+'px'" style="width: 100%;">
<el-table-column type="selection" width="55" fixed="left"/>
<el-table-column type="index" fixed="left" width="50" height="100" label="#" align="center"/>
<el-table-column prop="name" label="产品名称" width="180" align="center " sortable/>
@ -43,14 +42,14 @@
<el-table-column prop="isDeposit" label="是否收取押金" width="180" align="center "/>
<el-table-column prop="deposit" label="押金金额(元)" width="180" align="center "/>
<el-table-column prop="purchasingCompany" label="采购公司" width="180" align="center "/>
<el-table-column label="商品图片" width="180" align="center" >
<template #default="props">
<img :src="props.row.photo" class='el-Img'>
</template>
</el-table-column>
<el-table-column prop="buyingTime" label="购买时间" width="180" align="center "/>
<el-table-column prop="warrantyPeriodEndTime" label="保修截止时间" width="180" align="center "/>
<el-table-column prop="notes" label="备注" width="180" align="center "/>
<el-table-column label="商品图片" width="180" align="center" >
<template #default="props">
<img :src="props.row.photo" class='el-Img'>
</template>
</el-table-column>
<el-table-column prop="warrantyPeriodEndTime" label="保修截止时间" width="180" align="center "/>
<el-table-column fixed="right" label="操作" width="280" align="center ">
<template #default>
<el-button link type="primary" icon="el-icon-delete" @click="handleDelete">删除</el-button>
@ -59,9 +58,9 @@
</template>
</el-table-column>
</el-table>
<!-- 表格翻页功能 -->
<div class="demo-pagination-block">
<el-pagination
<!-- 表格翻页功能 -->
<div class="demo-pagination-block">
<el-pagination
v-model:current-page="currentPage"
v-model:page-size="pageSize"
:page-sizes="pageList"
@ -72,15 +71,128 @@
:total="2"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
/>
</div>
</div>
<!-- 弹窗组件 -->
<div class='addlalog'>
<el-dialog v-model="AddLalog" title="新增产品" >
<el-form label-position="top" label-width="100px" :model="AddForm">
<el-form-item label="产品名称">
<el-input v-model="AddForm.name" placeholder="请输入产品名称"/>
</el-form-item>
<el-form-item label="购买金额">
<el-input v-model="AddForm.purchaseAmount" placeholder="请输入购买金额"/>
</el-form-item>
<el-form-item label="当前使用仓">
<el-input v-model="AddForm.currentUsageWarehouse" placeholder="请输入当前使用仓"/>
</el-form-item>
<el-form-item label="设备序列号S/N">
<el-input v-model="AddForm.deviceSerialNumber" placeholder="请输入设备序列号" />
</el-form-item>
<el-form-item label="是否收取押金">
<el-select v-model="AddForm.isDeposit" class="m-2" placeholder="选择是否收取押金">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="采购公司">
<el-input v-model="AddForm.purchasingCompany" placeholder="请输入采购公司"/>
</el-form-item>
<el-form-item label="保修截至时间">
<el-date-picker
v-model="AddForm.warrantyPeriodEndTime"
type="date"
placeholder="选择保修截至日期"
size="default"
format="YYYY/MM/DD"
/>
</el-form-item>
<el-form-item label="图片">
<!-- photo -->
<el-upload
ref="uploadRef"
class="upload-demo"
action="api/blade-resource/oss/endpoint/put-file"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<template #trigger>
<div class='img-icon'>
<el-button type="primary">点击上传图片</el-button>
<el-icon><UploadFilled /></el-icon>
</div>
</template>
</el-upload>
</el-form-item>
<el-form-item label="型号">
<el-input v-model="AddForm.model" placeholder="请输入型号"/>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="AddForm.state" class="m-2" placeholder="选择状态">
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="使用人">
<el-input v-model="AddForm.user" placeholder="请输入使用人"/>
</el-form-item>
<el-form-item label="使用人岗位">
<el-input v-model="AddForm.userPosition" placeholder="请输入使用人岗位"/>
</el-form-item>
<el-form-item label="押金金额(RMB)">
<el-input v-model="AddForm.deposit" placeholder="请输入押金金额(元)" />
</el-form-item>
<el-form-item label="购买时间">
<el-date-picker
v-model="AddForm.buyingTime"
type="date"
placeholder="选择购买日期"
size="default"
format="YYYY/MM/DD"
/>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="AddForm.notes" placeholder="请输入备注"/>
</el-form-item>
</el-form>
<!-- 弹窗底部提交按钮 -->
<div class='el-dialog-button'>
<el-button type="danger" @click="submit">
<el-icon><Select/></el-icon>
确认提交
</el-button>
</div>
</el-dialog>
</div>
<!-- 弹窗结束 -->
</div>
</template>
<script setup>
<script setup lang='ts'>
import { ref, reactive,onMounted } from 'vue';
import { getList, getDetail, add, update, remove,$_TableList } from '@/api/basic/basicPda'; //API
import { ElMessage, type UploadProps } from 'element-plus'
const currentPage = ref(1); //
const pageSize = ref(30); //
const pageList = ref([5, 10, 50, 100, 200]); //
@ -89,6 +201,41 @@ const background = ref(true); // 是否开启背景颜色
const disabled = ref(false); // 使
const data = ref([]); //
const TabHeight = ref();//
const AddLalog = ref(false)//
const AddForm = ref({
name: '',
region: '',
type: '',
})
const value1 = ref('') //
const optionsvalue = ref('')//
const optionsvalue2=ref('')//
const uploadRef = ref()//
const options = [//
{
value: '0',
label: '是',
},
{
value: '1',
label: '否',
},
]
const options2 = [//
{
value: '1',
label: '正常',
},
{
value: '2',
label: '维修',
},
{
value: '3',
label: '不能使用(不能开机)',
},
]
//
function onLoad(){
// API$_TableList
@ -100,11 +247,35 @@ function onLoad(){
}
// DOM
onMounted(() => {
// 86
TabHeight.value = TabHeight.value.offsetHeight-88;
//88
TabHeight.value = TabHeight.value.offsetHeight-91;
// DOM
onLoad()
})
//
const AddInfo=()=>{
console.log(111);
AddLalog.value=true;
}
//
const imageUrl = ref('')
//
const handleAvatarSuccess: UploadProps['onSuccess'] = (response,uploadFile) => {
console.log(response,uploadFile,'123123123123123122312123');
}
//
const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => {
if (rawFile.type !== 'image/png') {
ElMessage.error('图片格式只能为image/png!')
return false
} else if (rawFile.size / 1024 / 1024 > 2) {
ElMessage.error('图片大小不能大于2MB!')
return false
}
return true
}
</script>
<style scoped lang='scss'>
@ -117,7 +288,7 @@ onMounted(() => {
box-sizing: border-box;
//
:deep(.el-Cart-button) {
margin-bottom: 5px;
margin-bottom: 8px;
display: flex;
justify-content: space-between;
}
@ -128,26 +299,27 @@ onMounted(() => {
justify-content: space-between;
}
.el-Cart-button-left{
:deep( button){
padding: 0 7px;
:deep( button){
padding: 0 7px;
min-width: 70px;
display: flex;
span{
span{
width: 100%;
display: inline-flex;
align-items: center;
justify-content: space-between;
i{
margin-right: 6px;
margin-right: 6px;
}
}
}
}
}
}
.el-Cart-button-right {
display: flex;
margin: 0 0px;
justify-content: space-between;
display: flex;
margin: 0 0px;
justify-content: space-between;
align-items: center;
button {
background-color: transparent;
border-radius: 50%;
@ -202,5 +374,90 @@ onMounted(() => {
}
}
}
//
:deep(.addlalog){
//
.el-dialog__header{
border-bottom: 1px solid #172e607d ;
margin-right:0;
margin-bottom:0;
padding-bottom:20px;
position: relative;
i{
color:#172e60;
}
}
// 线
.el-dialog__header::after{
content: "";
display: block;
width: 3px;
height: 16px;
background-color: #172e60;
position: absolute;
left: 8px;
top: 24px;
}
.el-dialog__body{
.el-form{
width: 100%;
display:flex;
flex-wrap: wrap;
justify-content: space-between;
}
.el-form-item{
width:276px;
}
/* 去掉第三个、第六个、第九个div的右外边距 */
.el-form-item:nth-child(3n) {
margin-right: 0;
}
}
.el-form-item__content{
height:30px;
//
.el-input{
width: 100%;
height:30px !important;
}
//
.el-select{
width: 100%;
}
}
}
//
.el-dialog-button{
display:flex;
justify-content: flex-end;
}
//
.img-icon{
width: 100%;
position: relative;
.el-button{
width: 100%;
background-color: #fff;
color: #a8abb9;
justify-content: flex-start;
border: 1px solid #dcdfe6;
}
i{
position:absolute;
left: 110px;
top: 8px;
font-size:18px
}
}
:deep(.upload-demo){
width:100%;
.el-upload{
width:100%
}
}
}
</style>

4
vite.config.js

@ -20,9 +20,9 @@ export default ({ mode, command }) => {
// caoge
// target: 'http://192.168.10.101:8888',
// cyz
target: 'http://192.168.10.75:8777',
// target: 'http://192.168.10.75:8777',
// tjj
// target: 'http://192.168.10.29:13000',
target: 'http://192.168.10.29:13000',
// target: 'http://test.api.huitongys.com',
// target: 'http://h5uapi.huitongys.com',
changeOrigin: true,

Loading…
Cancel
Save