安全违章新增接口调试完成
This commit is contained in:
parent
78539242b6
commit
67c26f9f77
|
|
@ -20,7 +20,10 @@
|
|||
"delay" : 0
|
||||
},
|
||||
/* 模块配置 */
|
||||
"modules" : {},
|
||||
"modules" : {
|
||||
"Barcode" : {},
|
||||
"Camera" : {}
|
||||
},
|
||||
/* 应用发布信息 */
|
||||
"distribute" : {
|
||||
/* android打包配置 */
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
<!-- 文字内容 -->
|
||||
</view>
|
||||
<view class="text-content">
|
||||
<view style="position: absolute; left: 0; top: -8rpx"">
|
||||
<view style="position: absolute; left: 0; top: -5rpx">
|
||||
<up-button
|
||||
size="mini"
|
||||
text="建设前"
|
||||
|
|
@ -71,7 +71,7 @@ uni-app是基Vuejs,Vue和View(延伸为UI、视图之意)同音,同时view
|
|||
</view>
|
||||
</view>
|
||||
<view class="text-content">
|
||||
<view style="position: absolute; left: 0; top: -8rpx"">
|
||||
<view style="position: absolute; left: 0; top: -5rpx">
|
||||
<up-button
|
||||
size="mini"
|
||||
text="建设中"
|
||||
|
|
@ -98,7 +98,7 @@ uni-app是基Vuejs,Vue和View(延伸为UI、视图之意)同音,同时view
|
|||
</view>
|
||||
</view>
|
||||
<view class="text-content">
|
||||
<view style="position: absolute; left: 0; top: -8rpx">
|
||||
<view style="position: absolute; left: 0; top: -5rpx">
|
||||
<up-button
|
||||
size="mini"
|
||||
text="恢复后"
|
||||
|
|
@ -232,6 +232,7 @@ const onClickSwiper = (e) => {
|
|||
|
||||
.swiper-container {
|
||||
position: relative;
|
||||
margin-bottom: 14rpx;
|
||||
|
||||
.swiper-count {
|
||||
position: absolute;
|
||||
|
|
|
|||
|
|
@ -117,39 +117,34 @@ const onSubmitLogin = debounce(() => {
|
|||
.validate()
|
||||
.then(async (valid) => {
|
||||
if (valid) {
|
||||
uni.$u.toast('登录成功')
|
||||
sendLoading.value = false
|
||||
setTimeout(() => {
|
||||
uni.switchTab({ url: '/pages/workbenches/index' })
|
||||
}, 500)
|
||||
// try {
|
||||
// console.log(
|
||||
// '%c🔍 登录请求入参 %c',
|
||||
// 'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
// '',
|
||||
// opinionModel.value,
|
||||
// )
|
||||
// const res = await loginApi(opinionModel.value)
|
||||
// console.log(
|
||||
// '%c🔍 登录请求出参 %c',
|
||||
// 'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
// '',
|
||||
// res,
|
||||
// )
|
||||
// sendLoading.value = false
|
||||
// if (res.code === 200) {
|
||||
// memberStore.setToken(res.token)
|
||||
// uni.$u.toast('登录成功')
|
||||
// getUserInfo()
|
||||
// setTimeout(() => {
|
||||
// uni.switchTab({ url: '/pages/workbenches/index' })
|
||||
// }, 500)
|
||||
// } else {
|
||||
// uni.$u.toast('登录失败' + res.message)
|
||||
// }
|
||||
// } catch (error) {
|
||||
// sendLoading.value = false
|
||||
// }
|
||||
try {
|
||||
console.log(
|
||||
'%c🔍 登录请求入参 %c',
|
||||
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
'',
|
||||
opinionModel.value,
|
||||
)
|
||||
const res = await loginApi(opinionModel.value)
|
||||
console.log(
|
||||
'%c🔍 登录请求出参 %c',
|
||||
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
'',
|
||||
res,
|
||||
)
|
||||
sendLoading.value = false
|
||||
if (res.code === 200) {
|
||||
memberStore.setToken(res.token)
|
||||
uni.$u.toast('登录成功')
|
||||
getUserInfo()
|
||||
setTimeout(() => {
|
||||
uni.switchTab({ url: '/pages/workbenches/index' })
|
||||
}, 500)
|
||||
} else {
|
||||
uni.$u.toast('登录失败' + res.message)
|
||||
}
|
||||
} catch (error) {
|
||||
sendLoading.value = false
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
|
|
|
|||
|
|
@ -10,23 +10,23 @@
|
|||
style="background-color: #fff; padding: 0 30rpx 20rpx"
|
||||
>
|
||||
<TitleTipModal :TitleTip="`项目信息`" />
|
||||
<up-form-item prop="projectName" label="项目名称" required>
|
||||
<up-form-item prop="proName" label="项目名称" required>
|
||||
<up-input
|
||||
readonly
|
||||
border="none"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '点击选择项目'"
|
||||
v-model="addAndEditModel.projectName"
|
||||
v-model="addAndEditModel.proName"
|
||||
>
|
||||
<template #suffix v-if="props.addAndEditFormType != 3">
|
||||
<up-icon name="arrow-right" @tap="onSelectProject" />
|
||||
</template>
|
||||
</up-input>
|
||||
</up-form-item>
|
||||
<up-form-item prop="major" label="专业">
|
||||
<up-form-item prop="majorName" label="专业">
|
||||
<up-input
|
||||
border="none"
|
||||
readonly
|
||||
v-model="addAndEditModel.major"
|
||||
v-model="addAndEditModel.majorName"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '点击选择专业'"
|
||||
>
|
||||
<template #suffix v-if="props.addAndEditFormType != 3">
|
||||
|
|
@ -34,11 +34,11 @@
|
|||
</template>
|
||||
</up-input>
|
||||
</up-form-item>
|
||||
<up-form-item prop="procedure" label="工序">
|
||||
<up-form-item prop="gxName" label="工序">
|
||||
<up-input
|
||||
border="none"
|
||||
readonly
|
||||
v-model="addAndEditModel.procedure"
|
||||
v-model="addAndEditModel.gxName"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '点击选择工序'"
|
||||
>
|
||||
<template #suffix v-if="props.addAndEditFormType != 3">
|
||||
|
|
@ -48,32 +48,33 @@
|
|||
</up-form-item>
|
||||
|
||||
<TitleTipModal :TitleTip="`违章信息`" />
|
||||
<up-form-item prop="examiner" label="检查人">
|
||||
<up-form-item prop="checkUserName" label="检查人">
|
||||
<up-input
|
||||
border="none"
|
||||
v-model="addAndEditModel.checkUserName"
|
||||
:readonly="props.addAndEditFormType == 3"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '请输入检查人'"
|
||||
/>
|
||||
</up-form-item>
|
||||
<up-form-item prop="inspectTime" label="检查日期">
|
||||
<up-form-item prop="vioDate" label="违章日期">
|
||||
<up-input
|
||||
readonly
|
||||
border="none"
|
||||
inputAlign="right"
|
||||
v-model="addAndEditModel.inspectTime"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '点击选择检查日期'"
|
||||
v-model="addAndEditModel.vioDate"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '点击选择违章日期'"
|
||||
>
|
||||
<template #suffix v-if="props.addAndEditFormType != 3">
|
||||
<up-icon name="arrow-right" @tap="onSelectDate(1)" />
|
||||
</template>
|
||||
</up-input>
|
||||
</up-form-item>
|
||||
<up-form-item prop="correctionTerm" label="整改期限" required>
|
||||
<up-form-item prop="rectDate" label="整改期限" required>
|
||||
<up-input
|
||||
readonly
|
||||
border="none"
|
||||
inputAlign="right"
|
||||
v-model="addAndEditModel.correctionTerm"
|
||||
v-model="addAndEditModel.rectDate"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '点击选择整改期限'"
|
||||
>
|
||||
<template #suffix v-if="props.addAndEditFormType != 3">
|
||||
|
|
@ -81,27 +82,27 @@
|
|||
</template>
|
||||
</up-input>
|
||||
</up-form-item>
|
||||
<up-form-item prop="vrLocation" label="违章地点" required>
|
||||
<up-form-item prop="vioPlace" label="违章地点" required>
|
||||
<up-input
|
||||
border="none"
|
||||
v-model="addAndEditModel.vrLocation"
|
||||
v-model="addAndEditModel.vioPlace"
|
||||
:readonly="props.addAndEditFormType == 3"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '请输入违章地点'"
|
||||
/>
|
||||
</up-form-item>
|
||||
<up-form-item prop="vrDescribe" label="违章描述" required>
|
||||
<up-form-item prop="vioDesc" label="违章描述" required>
|
||||
<up-textarea
|
||||
autoHeight
|
||||
border="none"
|
||||
v-model="addAndEditModel.vrDescribe"
|
||||
v-model="addAndEditModel.vioDesc"
|
||||
:readonly="props.addAndEditFormType == 3"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '请输入违章描述'"
|
||||
/>
|
||||
</up-form-item>
|
||||
<up-form-item
|
||||
required
|
||||
prop="vrImgList"
|
||||
:label="props.addAndEditFormType == 3 ? '违章照片' : '违章照片(最多9张)'"
|
||||
required
|
||||
>
|
||||
<up-upload
|
||||
name="1"
|
||||
|
|
@ -113,20 +114,20 @@
|
|||
/>
|
||||
</up-form-item>
|
||||
<TitleTipModal :TitleTip="`整改信息`" />
|
||||
<up-form-item prop="correctionPerson" label="整改人" required>
|
||||
<up-form-item prop="rectUserName" label="整改人" required>
|
||||
<up-input
|
||||
border="none"
|
||||
:readonly="props.addAndEditFormType == 3"
|
||||
v-model="addAndEditModel.correctionPerson"
|
||||
v-model="addAndEditModel.rectUserName"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '请输入整改人'"
|
||||
/>
|
||||
</up-form-item>
|
||||
<up-form-item prop="correctionTime" label="整改日期">
|
||||
<up-form-item prop="rectTime" label="整改日期">
|
||||
<up-input
|
||||
readonly
|
||||
border="none"
|
||||
inputAlign="right"
|
||||
v-model="addAndEditModel.correctionTime"
|
||||
v-model="addAndEditModel.rectTime"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '点击选择整改日期'"
|
||||
>
|
||||
<template #suffix v-if="props.addAndEditFormType != 3">
|
||||
|
|
@ -134,12 +135,12 @@
|
|||
</template>
|
||||
</up-input>
|
||||
</up-form-item>
|
||||
<up-form-item prop="correctionDescribe" label="整改说明" required>
|
||||
<up-form-item prop="rectDesc" label="整改说明" required>
|
||||
<up-textarea
|
||||
autoHeight
|
||||
border="none"
|
||||
:readonly="props.addAndEditFormType == 3"
|
||||
v-model="addAndEditModel.correctionDescribe"
|
||||
v-model="addAndEditModel.rectDesc"
|
||||
:placeholder="props.addAndEditFormType == 3 ? '' : '请输入整改说明'"
|
||||
/>
|
||||
</up-form-item>
|
||||
|
|
@ -180,12 +181,12 @@
|
|||
|
||||
<!-- 工程列表 -->
|
||||
<view class="project-list">
|
||||
<up-list @scrolltolower="onScrollTolower" style="width: 100%">
|
||||
<up-list-item v-for="item in 20" :key="item">
|
||||
<up-cell :title="`xxxxxxxxx工程-${item}`" @tap="onSelectProjectItem(item)">
|
||||
<up-list @scrolltolower="onScrollTolower" style="width: 100%" pagingEnabled>
|
||||
<up-list-item v-for="(item, index) in projectList" :key="item.id">
|
||||
<up-cell :title="item.name" @tap="onSelectProjectItem(item)">
|
||||
<template #icon>
|
||||
<text style="margin-right: 10rpx">
|
||||
{{ item }}
|
||||
{{ index + 1 }}
|
||||
</text>
|
||||
</template>
|
||||
</up-cell>
|
||||
|
|
@ -197,7 +198,7 @@
|
|||
|
||||
<!-- 专业选择器 -->
|
||||
<up-picker
|
||||
keyName="label"
|
||||
keyName="name"
|
||||
:show="majorShow"
|
||||
:columns="majorList"
|
||||
@confirm="onConfirmMajor"
|
||||
|
|
@ -205,7 +206,7 @@
|
|||
/>
|
||||
<!-- 工序选择器 -->
|
||||
<up-picker
|
||||
keyName="label"
|
||||
keyName="name"
|
||||
:show="procedureShow"
|
||||
:columns="procedureList"
|
||||
@confirm="onConfirmProcedure"
|
||||
|
|
@ -233,10 +234,12 @@
|
|||
|
||||
<script setup>
|
||||
import { reactive, ref } from 'vue'
|
||||
import { debounce } from 'lodash-es' // 引入防抖函数
|
||||
import { debounce, set } from 'lodash-es' // 引入防抖函数
|
||||
import { getProjectApi, getMajorApi, getProcedureApi } from '@/services/common.js'
|
||||
import { addSafetyViolationsApi } from '@/services/safetyViolations.js'
|
||||
import TitleTipModal from '@/components/TitleTipModal/index'
|
||||
const addAndEditModelRef = ref(null)
|
||||
|
||||
const addAndEditModelRef = ref(null)
|
||||
const projectShow = ref(false) // 项目选择弹框
|
||||
const majorShow = ref(false) // 专业选择器
|
||||
const procedureShow = ref(false) // 工序选择器
|
||||
|
|
@ -257,19 +260,33 @@ console.log(props.addAndEditFormType, '表单类型')
|
|||
|
||||
// 表单数据源
|
||||
const addAndEditModel = reactive({
|
||||
projectName: '',
|
||||
procedure: '',
|
||||
major: '',
|
||||
examiner: '',
|
||||
inspectTime: '',
|
||||
correctionTerm: '',
|
||||
vrLocation: '',
|
||||
vrDescribe: '',
|
||||
vrImgList: [],
|
||||
correctionPerson: '',
|
||||
correctionDescribe: '',
|
||||
correctionTime: '',
|
||||
correctionImgList: [],
|
||||
dataSource: 2,
|
||||
proId: '', // 工程id
|
||||
proName: '', // 工程名称
|
||||
majorId: '', // 专业id
|
||||
majorName: '', // 专业名称
|
||||
gxId: '', // 工序id
|
||||
gxName: '', // 工序名称
|
||||
checkUserName: '', // 检查人
|
||||
vioDate: '', // 违章时间
|
||||
vioPlace: '', // 违章地点
|
||||
vioDesc: '', // 违章描述
|
||||
rectDate: '', // 整改期限
|
||||
rectUserName: '', //整改人
|
||||
rectTime: '', //整改时间
|
||||
rectDesc: '', //整改说明
|
||||
// procedure: '',
|
||||
// major: '',
|
||||
// examiner: '',
|
||||
// inspectTime: '',
|
||||
// correctionTerm: '',
|
||||
// vrLocation: '',
|
||||
// vrDescribe: '',
|
||||
vrImgList: [], // 违章照片
|
||||
// correctionPerson: '',
|
||||
// correctionDescribe: '',
|
||||
// correctionTime: '',
|
||||
correctionImgList: [], // 整改照片
|
||||
})
|
||||
|
||||
// 校验规则
|
||||
|
|
@ -282,7 +299,7 @@ const addAndEditModelRules = ref({
|
|||
trigger: ['blur', 'change'],
|
||||
},
|
||||
],
|
||||
correctionTerm: [
|
||||
rectDate: [
|
||||
{
|
||||
type: 'string',
|
||||
required: true,
|
||||
|
|
@ -290,7 +307,7 @@ const addAndEditModelRules = ref({
|
|||
trigger: ['blur', 'change'],
|
||||
},
|
||||
],
|
||||
vrLocation: [
|
||||
vioPlace: [
|
||||
{
|
||||
type: 'string',
|
||||
required: true,
|
||||
|
|
@ -298,7 +315,7 @@ const addAndEditModelRules = ref({
|
|||
trigger: ['blur', 'change'],
|
||||
},
|
||||
],
|
||||
vrDescribe: [
|
||||
vioDesc: [
|
||||
{
|
||||
type: 'string',
|
||||
required: true,
|
||||
|
|
@ -308,13 +325,13 @@ const addAndEditModelRules = ref({
|
|||
],
|
||||
vrImgList: [
|
||||
{
|
||||
type: 'string',
|
||||
type: 'array',
|
||||
required: true,
|
||||
message: '请上传违章照片',
|
||||
trigger: ['blur', 'change'],
|
||||
},
|
||||
],
|
||||
correctionPerson: [
|
||||
rectUserName: [
|
||||
{
|
||||
type: 'string',
|
||||
required: true,
|
||||
|
|
@ -322,7 +339,7 @@ const addAndEditModelRules = ref({
|
|||
trigger: ['blur', 'change'],
|
||||
},
|
||||
],
|
||||
correctionDescribe: [
|
||||
rectDesc: [
|
||||
{
|
||||
type: 'string',
|
||||
required: true,
|
||||
|
|
@ -333,48 +350,63 @@ const addAndEditModelRules = ref({
|
|||
})
|
||||
// 项目数据源
|
||||
const projectList = ref([])
|
||||
|
||||
// 获取项目
|
||||
const getProjectData = async () => {
|
||||
console.log(
|
||||
'%c🔍 获取项目请求入参 %c',
|
||||
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
'',
|
||||
{},
|
||||
)
|
||||
const res = await getProjectApi({})
|
||||
projectList.value = res.data
|
||||
console.log(
|
||||
'%c🔍 获取项目请求出参 %c',
|
||||
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
'',
|
||||
res,
|
||||
)
|
||||
}
|
||||
getProjectData()
|
||||
// 专业数据源
|
||||
const majorList = reactive([
|
||||
[
|
||||
{
|
||||
label: '专业1',
|
||||
value: 2021,
|
||||
},
|
||||
{
|
||||
label: '专业2',
|
||||
value: 2022,
|
||||
},
|
||||
{
|
||||
label: '专业3',
|
||||
value: 2023,
|
||||
},
|
||||
{
|
||||
label: '专业4',
|
||||
value: 2024,
|
||||
},
|
||||
],
|
||||
])
|
||||
const majorList = reactive([])
|
||||
|
||||
// 获取专业
|
||||
const getMajorData = async () => {
|
||||
const { data: res } = await getMajorApi()
|
||||
console.log(
|
||||
'%c🔍 获取专业请求出参 %c',
|
||||
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
'',
|
||||
res,
|
||||
)
|
||||
|
||||
majorList.push(res)
|
||||
}
|
||||
getMajorData()
|
||||
// 工序数据源
|
||||
const procedureList = reactive([
|
||||
[
|
||||
{
|
||||
label: '工序1',
|
||||
id: 2021,
|
||||
},
|
||||
{
|
||||
label: '工序2',
|
||||
id: 2022,
|
||||
},
|
||||
{
|
||||
label: '工序3',
|
||||
id: 2023,
|
||||
},
|
||||
{
|
||||
label: '工序4',
|
||||
id: 2024,
|
||||
},
|
||||
],
|
||||
])
|
||||
const procedureList = reactive([])
|
||||
|
||||
// 获取工序
|
||||
const getProcedureData = async (pid) => {
|
||||
console.log(
|
||||
'%c🔍 获取专业请求入参 %c',
|
||||
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
'',
|
||||
pid,
|
||||
)
|
||||
const { data: res } = await getProcedureApi({ pid })
|
||||
console.log(
|
||||
'%c🔍 获取工序请求出参 %c',
|
||||
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
'',
|
||||
res,
|
||||
)
|
||||
procedureList.push(res)
|
||||
}
|
||||
|
||||
// getProcedureData()
|
||||
|
||||
// 日期格式化
|
||||
const formatter = (type, value) => {
|
||||
|
|
@ -408,7 +440,8 @@ const onScrollTolower = () => {
|
|||
|
||||
// 选择项目
|
||||
const onSelectProjectItem = (item) => {
|
||||
addAndEditModel.projectName = 'xxxxxx工程' + item
|
||||
addAndEditModel.proName = item.name
|
||||
addAndEditModel.proId = item.id
|
||||
projectShow.value = false
|
||||
}
|
||||
|
||||
|
|
@ -425,8 +458,10 @@ const onSelectMajor = () => {
|
|||
|
||||
// 专业确定
|
||||
const onConfirmMajor = (item) => {
|
||||
console.log('---确定', item.value[0].label)
|
||||
addAndEditModel.major = item.value[0].label
|
||||
console.log('---确定', item.value[0].name)
|
||||
addAndEditModel.majorName = item.value[0].name
|
||||
addAndEditModel.majorId = item.value[0].id
|
||||
getProcedureData(item.value[0].id)
|
||||
majorShow.value = false
|
||||
}
|
||||
// 选择工序
|
||||
|
|
@ -436,13 +471,14 @@ const onSelectProcedure = () => {
|
|||
|
||||
// 工序确定
|
||||
const onConfirmProcedure = (item) => {
|
||||
addAndEditModel.procedure = item.value[0].label
|
||||
addAndEditModel.gxName = item.value[0].name
|
||||
addAndEditModel.gxId = item.value[0].id
|
||||
procedureShow.value = false
|
||||
}
|
||||
|
||||
// 打开日期选择器
|
||||
const onSelectDate = (type) => {
|
||||
// type 为类型 1. 检查日期 2. 整改期限 3. 整改日期
|
||||
// type 为类型 1. 违章日期 2. 整改期限 3. 整改日期
|
||||
dateType.value = type
|
||||
dateShow.value = true
|
||||
}
|
||||
|
|
@ -451,13 +487,13 @@ const onSelectDate = (type) => {
|
|||
const onConfirmDate = (item) => {
|
||||
const formatDateValue = formatDate(dateValue.value)
|
||||
if (dateType.value === 1) {
|
||||
addAndEditModel.inspectTime = formatDateValue
|
||||
addAndEditModel.vioDate = formatDateValue
|
||||
}
|
||||
if (dateType.value === 2) {
|
||||
addAndEditModel.correctionTerm = formatDateValue
|
||||
addAndEditModel.rectDate = formatDateValue
|
||||
}
|
||||
if (dateType.value === 3) {
|
||||
addAndEditModel.correctionTime = formatDateValue
|
||||
addAndEditModel.rectTime = formatDateValue
|
||||
}
|
||||
dateShow.value = false
|
||||
console.log('---日期确定', formatDateValue)
|
||||
|
|
@ -501,16 +537,142 @@ const onDeleteCorrectionImgList = (event) => {
|
|||
|
||||
// 提交
|
||||
const onSubmitForm = debounce(() => {
|
||||
console.log('---提交')
|
||||
sendLoading.value = true
|
||||
addAndEditModelRef.value.validate().then((valid) => {
|
||||
if (valid) {
|
||||
console.log('校验通过')
|
||||
sendLoading.value = false
|
||||
}
|
||||
})
|
||||
console.log(
|
||||
'%c🔍 表单提交入参 %c',
|
||||
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
'',
|
||||
addAndEditModel,
|
||||
)
|
||||
|
||||
addAndEditModelRef.value
|
||||
.validate()
|
||||
.then(async (valid) => {
|
||||
if (valid) {
|
||||
// 先调上传接口把图片上传
|
||||
sendLoading.value = true
|
||||
let successVrImgList = []
|
||||
let successCorrectionImgList = []
|
||||
if (addAndEditModel.vrImgList.length > 0) {
|
||||
successVrImgList = await uploadImgFun(addAndEditModel.vrImgList, 1)
|
||||
}
|
||||
if (addAndEditModel.correctionImgList.length > 0) {
|
||||
successCorrectionImgList = await uploadImgFun(
|
||||
addAndEditModel.correctionImgList,
|
||||
2,
|
||||
)
|
||||
}
|
||||
|
||||
// 组装参数
|
||||
const {
|
||||
dataSource,
|
||||
proId, // 工程id
|
||||
proName, // 工程名称
|
||||
majorId, // 专业id
|
||||
majorName, // 专业名称
|
||||
gxId, // 工序id
|
||||
gxName, // 工序名称
|
||||
checkUserName, // 检查人
|
||||
vioDate, // 违章时间
|
||||
vioPlace, // 违章地点
|
||||
vioDesc, // 违章描述
|
||||
rectDate, // 整改期限
|
||||
rectUserName, //整改人
|
||||
rectTime, //整改时间
|
||||
rectDesc, //整改说明
|
||||
} = addAndEditModel
|
||||
|
||||
const addParams = {
|
||||
dataSource,
|
||||
proId, // 工程id
|
||||
proName, // 工程名称
|
||||
majorId, // 专业id
|
||||
majorName, // 专业名称
|
||||
gxId, // 工序id
|
||||
gxName, // 工序名称
|
||||
checkUserName, // 检查人
|
||||
vioDate, // 违章时间
|
||||
vioPlace, // 违章地点
|
||||
vioDesc, // 违章描述
|
||||
rectDate, // 整改期限
|
||||
rectUserName, //整改人
|
||||
rectTime, //整改时间
|
||||
rectDesc, //整改说明
|
||||
fileList: [...successVrImgList, ...successCorrectionImgList],
|
||||
uploadType: 1,
|
||||
}
|
||||
|
||||
const res = await addSafetyViolationsApi(addParams)
|
||||
console.log(
|
||||
'%c🔍 表单提交出参 %c',
|
||||
'background: linear-gradient(90deg, #FF6B6B, #4ECDC4); color: white; padding: 5px 10px; border-radius: 5px; font-weight: bold;',
|
||||
'',
|
||||
res,
|
||||
)
|
||||
|
||||
sendLoading.value = false
|
||||
if (res.code === 200) {
|
||||
uni.$u.toast('新增成功')
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
delta: 1,
|
||||
})
|
||||
}, 500)
|
||||
} else {
|
||||
uni.$u.toast('新增失败' + res.data)
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((error) => {})
|
||||
}, 1000)
|
||||
|
||||
// 上传逻辑
|
||||
const uploadImgFun = async (list, type) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
let successList = []
|
||||
let files = []
|
||||
|
||||
list.forEach((f) => {
|
||||
let d = {
|
||||
file: f.url,
|
||||
name: 'files',
|
||||
uri: f.url,
|
||||
}
|
||||
files.push(d)
|
||||
})
|
||||
|
||||
sendLoading.value = true
|
||||
|
||||
uni.uploadFile({
|
||||
url: '/imgTool/sys/file/uploadFile',
|
||||
files: files,
|
||||
name: 'files',
|
||||
formData: {
|
||||
params: JSON.stringify({
|
||||
uploadType: 1,
|
||||
sourceType: type,
|
||||
sourceTypeName: type === 1 ? '安全违章-违章照片' : '安全违章-整改照片',
|
||||
}),
|
||||
},
|
||||
success: (res) => {
|
||||
sendLoading.value = false
|
||||
res = JSON.parse(res.data)
|
||||
|
||||
if (res.code === 200) {
|
||||
successList = res.data
|
||||
resolve(successList) // 上传成功,返回数据
|
||||
} else {
|
||||
uni.$u.toast('上传失败' + res.msg)
|
||||
reject(new Error('上传失败: ' + res.msg))
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
sendLoading.value = false
|
||||
reject(new Error('网络错误: ' + err.errMsg))
|
||||
},
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 获取表单详情
|
||||
const getFormDetail = () => {
|
||||
console.log('---获取详情数据')
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
import { http } from '@/utils/http'
|
||||
|
||||
// 获取项目
|
||||
export const getProjectApi = (data) => {
|
||||
return http({
|
||||
method: 'POST',
|
||||
url: '/imgTool/sys/select/getProsSelect',
|
||||
header: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
},
|
||||
data,
|
||||
})
|
||||
}
|
||||
// 获取专业
|
||||
export const getMajorApi = () => {
|
||||
return http({
|
||||
method: 'GET',
|
||||
url: '/imgTool/sys/select/getProfessionSelect',
|
||||
isNull: true,
|
||||
})
|
||||
}
|
||||
// 获取工序
|
||||
export const getProcedureApi = (data) => {
|
||||
return http({
|
||||
method: 'GET',
|
||||
url: '/imgTool/sys/select/getProcessSelect',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
import { http } from '@/utils/http'
|
||||
|
||||
// 安全违章表单提交接口
|
||||
export const addSafetyViolationsApi = (data) => {
|
||||
return http({
|
||||
method: 'POST',
|
||||
url: '/imgTool/imgUpload/safetyViolation/insertSafetyViolation',
|
||||
data,
|
||||
header: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
@ -29,8 +29,10 @@ const httpInterceptor = {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
options.data = {
|
||||
encryptedData: encrypt(JSON.stringify(options.data)),
|
||||
if (!options.isNull) {
|
||||
options.data = {
|
||||
encryptedData: encrypt(JSON.stringify(options.data)),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,8 @@ export default defineConfig({
|
|||
proxy: {
|
||||
// 在此处编写代理规则
|
||||
'/api': {
|
||||
target: 'http://192.168.0.133:11997', // 梁超
|
||||
// target: 'http://192.168.0.133:11997', // 梁超
|
||||
target: 'http://192.168.0.137:11997', // 方亮
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => {
|
||||
return path.replace(/\/api/, '')
|
||||
|
|
|
|||
Loading…
Reference in New Issue