ckgl/pages/maintenance/m-process.vue
2025-02-19 17:17:07 +08:00

109 lines
2.2 KiB
Vue

<script lang="ts" setup>
import { ref } from 'vue'
import { onShow } from '@dcloudio/uni-app';
import { deleteAction, getAction } from '../../common/http';
import { showConfirmDialog, showToast } from 'vant';
const list = ref([] as any[])
onShow(() => {
init()
})
const init = () => {
getAction('/process').then((res : any) => {
if (res.code === 200) {
list.value = res.data
}
})
}
const onClickLeft = () => {
history.back()
}
const onClickRight = () => {
uni.navigateTo({
url: '/pages/maintenance/p-details'
})
}
const del = (item : any) => {
showConfirmDialog({
title: '提示',
message: '是否确认删除?',
}).then(() => {
let url = '/process/' + item.id
deleteAction(url).then((res : any) => {
if (res.code === 200) {
init()
showToast('删除成功!')
}
})
})
.catch(() => {
// on cancel
});
}
const edit = (item : any) => {
uni.navigateTo({
url: '/pages/maintenance/p-details?item=' + JSON.stringify(item)
})
}
</script>
<template>
<view class="flex">
<van-nav-bar title="工序项维护" left-text="返回" left-arrow right-text="新增" @click-left="onClickLeft"
@click-right="onClickRight" />
<view class="grid-container">
<view class="grid-item">工序</view>
<view class="grid-item">序号</view>
<view class="grid-item">操作</view>
</view>
<view class="content">
<view class="grid-container" v-for="(item,index) in list" :key="index">
<view class="grid-item">{{item.name}}</view>
<view class="grid-item">{{item.serialNum}}</view>
<view class="grid-item">
<text @click="edit(item)" style="color:#5bd5ff">编辑</text>
<text @click="del(item)" style="color: red;margin-left: 20rpx;">删除</text>
</view>
</view>
</view>
</view>
</template>
<style scoped lang="scss">
.flex {
display: flex;
flex-direction: column;
height: 100vh;
width: 100vw;
overflow-y: hidden;
.van-nav-bar {
width: 100%;
}
.content {
flex: 1;
padding: 0 10px;
overflow-y: scroll;
}
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
.grid-item {
text-align: center;
border: 1px solid #f2f2f2;
::v-deep(.van-cell) {
padding: 0 5px;
}
}
}
}
</style>