需求新增
This commit is contained in:
parent
534d4ec32f
commit
814a0e638a
|
|
@ -20,7 +20,8 @@
|
||||||
{
|
{
|
||||||
"path": "pages/workbenches/index",
|
"path": "pages/workbenches/index",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "工作台"
|
"navigationBarTitleText": "工作台",
|
||||||
|
"navigationStyle": "custom" // 自定义导航栏
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// tabBar 我的页面
|
// tabBar 我的页面
|
||||||
|
|
|
||||||
|
|
@ -454,9 +454,12 @@ onReachBottom(
|
||||||
)
|
)
|
||||||
|
|
||||||
// 监听滚动事件 显示返回顶部小图标
|
// 监听滚动事件 显示返回顶部小图标
|
||||||
onPageScroll((e) => {
|
onPageScroll(
|
||||||
scrollTop.value = e.scrollTop
|
(e) => {
|
||||||
})
|
scrollTop.value = e.scrollTop
|
||||||
|
},
|
||||||
|
{ passive: true },
|
||||||
|
)
|
||||||
|
|
||||||
// 获取照片分类
|
// 获取照片分类
|
||||||
const getClassCountData = async () => {
|
const getClassCountData = async () => {
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
:placeholder="props.addAndEditFormType == 3 ? '' : '请输入建设地点'"
|
:placeholder="props.addAndEditFormType == 3 ? '' : '请输入建设地点'"
|
||||||
/>
|
/>
|
||||||
</up-form-item>
|
</up-form-item>
|
||||||
<up-form-item prop="majorName" label="专业">
|
<up-form-item prop="majorName" label="专业" required>
|
||||||
<up-input
|
<up-input
|
||||||
border="none"
|
border="none"
|
||||||
readonly
|
readonly
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
</template>
|
</template>
|
||||||
</up-input>
|
</up-input>
|
||||||
</up-form-item>
|
</up-form-item>
|
||||||
<up-form-item prop="gxName" label="工序">
|
<up-form-item prop="gxName" label="工序" required>
|
||||||
<up-input
|
<up-input
|
||||||
border="none"
|
border="none"
|
||||||
readonly
|
readonly
|
||||||
|
|
@ -288,8 +288,9 @@ import {
|
||||||
} from '@/services/coordinatePhotos.js'
|
} from '@/services/coordinatePhotos.js'
|
||||||
import TitleTipModal from '@/components/TitleTipModal/index'
|
import TitleTipModal from '@/components/TitleTipModal/index'
|
||||||
|
|
||||||
import { useMemberStore } from '@/stores'
|
import { useMemberStore, useCommonStore } from '@/stores'
|
||||||
const memberStore = useMemberStore()
|
const memberStore = useMemberStore()
|
||||||
|
const commonStore = useCommonStore()
|
||||||
const baseURL = import.meta.env.VITE_API_BASE_URL // 获取当前的url地址
|
const baseURL = import.meta.env.VITE_API_BASE_URL // 获取当前的url地址
|
||||||
const token = memberStore?.token
|
const token = memberStore?.token
|
||||||
|
|
||||||
|
|
@ -352,6 +353,22 @@ const addAndEditModelRules = ref({
|
||||||
trigger: ['blur', 'change'],
|
trigger: ['blur', 'change'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
majorName: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择专业名称',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
gxName: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择工序名称',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
buildPlace: [
|
buildPlace: [
|
||||||
{
|
{
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
|
@ -1058,6 +1075,55 @@ watch(
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 根据store中的项目名称,专业名称,工序名称,以及id赋值给表单
|
||||||
|
watch(
|
||||||
|
() => commonStore.projectName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.proName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
watch(
|
||||||
|
() => commonStore.majorName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.majorName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
watch(
|
||||||
|
() => commonStore.procedureName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.gxName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.projectId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.proId = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.majorId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.majorId = newVal
|
||||||
|
// 查工序
|
||||||
|
getProcedureData(newVal)
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.procedureId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.gxId = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
projectList.value = await getProjectList()
|
projectList.value = await getProjectList()
|
||||||
projectListAll.value = await getProjectList()
|
projectListAll.value = await getProjectList()
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
</template>
|
</template>
|
||||||
</up-input>
|
</up-input>
|
||||||
</up-form-item>
|
</up-form-item>
|
||||||
<up-form-item prop="majorName" label="专业">
|
<!-- <up-form-item prop="majorName" label="专业">
|
||||||
<up-input
|
<up-input
|
||||||
border="none"
|
border="none"
|
||||||
readonly
|
readonly
|
||||||
|
|
@ -95,7 +95,7 @@
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</up-input>
|
</up-input>
|
||||||
</up-form-item>
|
</up-form-item> -->
|
||||||
|
|
||||||
<TitleTipModal :TitleTip="`重要事项及宣传照片`" />
|
<TitleTipModal :TitleTip="`重要事项及宣传照片`" />
|
||||||
<up-form-item prop="time" label="日期">
|
<up-form-item prop="time" label="日期">
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
</template>
|
</template>
|
||||||
</up-input>
|
</up-input>
|
||||||
</up-form-item>
|
</up-form-item>
|
||||||
<up-form-item prop="majorName" label="专业">
|
<up-form-item prop="majorName" label="专业" required>
|
||||||
<up-input
|
<up-input
|
||||||
border="none"
|
border="none"
|
||||||
readonly
|
readonly
|
||||||
|
|
@ -68,7 +68,7 @@
|
||||||
</template>
|
</template>
|
||||||
</up-input>
|
</up-input>
|
||||||
</up-form-item>
|
</up-form-item>
|
||||||
<up-form-item prop="gxName" label="工序">
|
<up-form-item prop="gxName" label="工序" required>
|
||||||
<up-input
|
<up-input
|
||||||
border="none"
|
border="none"
|
||||||
readonly
|
readonly
|
||||||
|
|
@ -366,8 +366,9 @@ import {
|
||||||
} from '@/services/qualityInspection.js'
|
} from '@/services/qualityInspection.js'
|
||||||
import TitleTipModal from '@/components/TitleTipModal/index'
|
import TitleTipModal from '@/components/TitleTipModal/index'
|
||||||
|
|
||||||
import { useMemberStore } from '@/stores'
|
import { useMemberStore, useCommonStore } from '@/stores'
|
||||||
const memberStore = useMemberStore()
|
const memberStore = useMemberStore()
|
||||||
|
const commonStore = useCommonStore()
|
||||||
const baseURL = import.meta.env.VITE_API_BASE_URL // 获取当前的url地址
|
const baseURL = import.meta.env.VITE_API_BASE_URL // 获取当前的url地址
|
||||||
const token = memberStore?.token
|
const token = memberStore?.token
|
||||||
|
|
||||||
|
|
@ -449,6 +450,23 @@ const addAndEditModelRules = ref({
|
||||||
trigger: ['blur', 'change'],
|
trigger: ['blur', 'change'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
majorName: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择专业名称',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
gxName: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择工序名称',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
vioDate: [
|
vioDate: [
|
||||||
{
|
{
|
||||||
type: 'string',
|
type: 'string',
|
||||||
|
|
@ -1165,6 +1183,55 @@ watch(
|
||||||
immediate: true,
|
immediate: true,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 根据store中的项目名称,专业名称,工序名称,以及id赋值给表单
|
||||||
|
watch(
|
||||||
|
() => commonStore.projectName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.proName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
watch(
|
||||||
|
() => commonStore.majorName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.majorName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
watch(
|
||||||
|
() => commonStore.procedureName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.gxName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.projectId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.proId = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.majorId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.majorId = newVal
|
||||||
|
// 查工序
|
||||||
|
getProcedureData(newVal)
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.procedureId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.gxId = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
</template>
|
</template>
|
||||||
</up-input>
|
</up-input>
|
||||||
</up-form-item>
|
</up-form-item>
|
||||||
<up-form-item prop="majorName" label="专业">
|
<up-form-item prop="majorName" label="专业" required>
|
||||||
<up-input
|
<up-input
|
||||||
border="none"
|
border="none"
|
||||||
readonly
|
readonly
|
||||||
|
|
@ -68,7 +68,7 @@
|
||||||
</template>
|
</template>
|
||||||
</up-input>
|
</up-input>
|
||||||
</up-form-item>
|
</up-form-item>
|
||||||
<up-form-item prop="gxName" label="工序">
|
<up-form-item prop="gxName" label="工序" required>
|
||||||
<up-input
|
<up-input
|
||||||
border="none"
|
border="none"
|
||||||
readonly
|
readonly
|
||||||
|
|
@ -270,8 +270,9 @@ import {
|
||||||
import { getProcedureApi } from '@/services/common.js'
|
import { getProcedureApi } from '@/services/common.js'
|
||||||
import TitleTipModal from '@/components/TitleTipModal/index'
|
import TitleTipModal from '@/components/TitleTipModal/index'
|
||||||
|
|
||||||
import { useMemberStore } from '@/stores'
|
import { useMemberStore, useCommonStore } from '@/stores'
|
||||||
const memberStore = useMemberStore()
|
const memberStore = useMemberStore()
|
||||||
|
const commonStore = useCommonStore()
|
||||||
const baseURL = import.meta.env.VITE_API_BASE_URL // 获取当前的url地址
|
const baseURL = import.meta.env.VITE_API_BASE_URL // 获取当前的url地址
|
||||||
const token = memberStore?.token
|
const token = memberStore?.token
|
||||||
|
|
||||||
|
|
@ -332,7 +333,22 @@ const addAndEditModelRules = ref({
|
||||||
trigger: ['blur', 'change'],
|
trigger: ['blur', 'change'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
majorName: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择专业名称',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
gxName: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择工序名称',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
checkUserName: [
|
checkUserName: [
|
||||||
{
|
{
|
||||||
trigger: ['blur', 'change'],
|
trigger: ['blur', 'change'],
|
||||||
|
|
@ -889,6 +905,55 @@ watch(
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 根据store中的项目名称,专业名称,工序名称,以及id赋值给表单
|
||||||
|
watch(
|
||||||
|
() => commonStore.projectName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.proName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
watch(
|
||||||
|
() => commonStore.majorName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.majorName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
watch(
|
||||||
|
() => commonStore.procedureName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.gxName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.projectId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.proId = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.majorId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.majorId = newVal
|
||||||
|
// 查工序
|
||||||
|
getProcedureData(newVal)
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.procedureId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.gxId = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
projectList.value = await getProjectList()
|
projectList.value = await getProjectList()
|
||||||
projectListAll.value = await getProjectList()
|
projectListAll.value = await getProjectList()
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
</template>
|
</template>
|
||||||
</up-input>
|
</up-input>
|
||||||
</up-form-item>
|
</up-form-item>
|
||||||
<up-form-item prop="majorName" label="专业">
|
<up-form-item prop="majorName" label="专业" required>
|
||||||
<up-input
|
<up-input
|
||||||
readonly
|
readonly
|
||||||
border="none"
|
border="none"
|
||||||
|
|
@ -68,7 +68,7 @@
|
||||||
</template>
|
</template>
|
||||||
</up-input>
|
</up-input>
|
||||||
</up-form-item>
|
</up-form-item>
|
||||||
<up-form-item prop="gxName" label="工序">
|
<up-form-item prop="gxName" label="工序" required>
|
||||||
<up-input
|
<up-input
|
||||||
readonly
|
readonly
|
||||||
border="none"
|
border="none"
|
||||||
|
|
@ -368,8 +368,9 @@ import {
|
||||||
} from '@/services/safetyViolations.js'
|
} from '@/services/safetyViolations.js'
|
||||||
import TitleTipModal from '@/components/TitleTipModal/index'
|
import TitleTipModal from '@/components/TitleTipModal/index'
|
||||||
|
|
||||||
import { useMemberStore } from '@/stores'
|
import { useMemberStore, useCommonStore } from '@/stores'
|
||||||
const memberStore = useMemberStore()
|
const memberStore = useMemberStore()
|
||||||
|
const commonStore = useCommonStore()
|
||||||
const baseURL = import.meta.env.VITE_API_BASE_URL // 获取当前的url地址
|
const baseURL = import.meta.env.VITE_API_BASE_URL // 获取当前的url地址
|
||||||
const token = memberStore?.token
|
const token = memberStore?.token
|
||||||
|
|
||||||
|
|
@ -450,6 +451,22 @@ const addAndEditModelRules = ref({
|
||||||
trigger: ['blur', 'change'],
|
trigger: ['blur', 'change'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
majorName: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择专业名称',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
gxName: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '请选择工序名称',
|
||||||
|
trigger: ['blur', 'change'],
|
||||||
|
},
|
||||||
|
],
|
||||||
checkUserName: [
|
checkUserName: [
|
||||||
{
|
{
|
||||||
trigger: ['blur', 'change'],
|
trigger: ['blur', 'change'],
|
||||||
|
|
@ -1240,6 +1257,55 @@ watch(
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 根据store中的项目名称,专业名称,工序名称,以及id赋值给表单
|
||||||
|
watch(
|
||||||
|
() => commonStore.projectName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.proName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
watch(
|
||||||
|
() => commonStore.majorName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.majorName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
watch(
|
||||||
|
() => commonStore.procedureName,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.gxName = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.projectId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.proId = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.majorId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.majorId = newVal
|
||||||
|
// 查工序
|
||||||
|
getProcedureData(newVal)
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => commonStore.procedureId,
|
||||||
|
(newVal) => {
|
||||||
|
addAndEditModel.gxId = newVal
|
||||||
|
},
|
||||||
|
{ immediate: true },
|
||||||
|
)
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
projectList.value = await getProjectList()
|
projectList.value = await getProjectList()
|
||||||
projectListAll.value = await getProjectList()
|
projectListAll.value = await getProjectList()
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ const props = defineProps({
|
||||||
})
|
})
|
||||||
|
|
||||||
// 创建对子组件的引用
|
// 创建对子组件的引用
|
||||||
const uToastRef = ref(null)
|
|
||||||
|
|
||||||
// 定义方法
|
// 定义方法
|
||||||
const onHandleJumpPage = (path) => {
|
const onHandleJumpPage = (path) => {
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,157 @@
|
||||||
<template>
|
<template>
|
||||||
<!-- 工作台页面 -->
|
<!-- 工作台页面 -->
|
||||||
|
<up-navbar title="工作台" leftIconSize="0" rightIconSize="20" bgColor="#f6f9ff">
|
||||||
|
<template #right>
|
||||||
|
<up-icon name="list" size="20" @tap="onHandleSelect"></up-icon>
|
||||||
|
</template>
|
||||||
|
</up-navbar>
|
||||||
<view class="workbenches-container">
|
<view class="workbenches-container">
|
||||||
<iconCard :iconList="iconList_1" :cardTitle="`照片上传`" />
|
<IconCard :iconList="iconList_1" :cardTitle="`照片上传`" />
|
||||||
<iconCard :iconList="iconList_2" :cardTitle="`照片查询`" />
|
<IconCard :iconList="iconList_2" :cardTitle="`照片查询`" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<up-popup
|
||||||
|
mode="right"
|
||||||
|
safeAreaInsetTop
|
||||||
|
:show="rightPopupShow"
|
||||||
|
@close="rightPopupShow = !rightPopupShow"
|
||||||
|
>
|
||||||
|
<up-form
|
||||||
|
labelWidth="100"
|
||||||
|
labelAlign="center"
|
||||||
|
labelPosition="left"
|
||||||
|
ref="searchFormRef"
|
||||||
|
style="padding-right: 20rpx"
|
||||||
|
:style="{ paddingBottom: safeAreaInsets?.top + 50 + 'px' }"
|
||||||
|
>
|
||||||
|
<up-form-item prop="proName" label="工程">
|
||||||
|
<up-input
|
||||||
|
readonly
|
||||||
|
clearable
|
||||||
|
placeholder="请选择工程名称"
|
||||||
|
v-model="queryParams.proName"
|
||||||
|
style="position: relative"
|
||||||
|
>
|
||||||
|
<template #suffix>
|
||||||
|
<view class="handle-box">
|
||||||
|
<view @tap="onSelectProject" class="select-project-area"> 1 </view>
|
||||||
|
<up-icon
|
||||||
|
name="close-circle-fill"
|
||||||
|
style="margin-right: 12rpx"
|
||||||
|
v-if="queryParams.proName"
|
||||||
|
color="#c6c7cb"
|
||||||
|
@tap="
|
||||||
|
() => {
|
||||||
|
queryParams.proName = ''
|
||||||
|
queryParams.proId = ''
|
||||||
|
commonStore.setProjectId('')
|
||||||
|
}
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<up-icon name="arrow-down" size="16" @tap="onSelectProject" />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
</up-input>
|
||||||
|
</up-form-item>
|
||||||
|
<up-form-item prop="majorName" label="专业">
|
||||||
|
<up-input
|
||||||
|
readonly
|
||||||
|
clearable
|
||||||
|
placeholder="请选择专业"
|
||||||
|
style="position: relative"
|
||||||
|
v-model="queryParams.majorName"
|
||||||
|
>
|
||||||
|
<template #suffix>
|
||||||
|
<view class="handle-box">
|
||||||
|
<view @tap="onSelectMajor" class="select-project-area">1</view>
|
||||||
|
<up-icon
|
||||||
|
name="close-circle-fill"
|
||||||
|
style="margin-right: 12rpx"
|
||||||
|
v-if="queryParams.majorName"
|
||||||
|
color="#c6c7cb"
|
||||||
|
@tap="
|
||||||
|
() => {
|
||||||
|
queryParams.majorName = ''
|
||||||
|
queryParams.majorId = ''
|
||||||
|
commonStore.setMajorId('')
|
||||||
|
}
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<up-icon name="arrow-down" size="16" @tap="onSelectMajor" />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
</up-input>
|
||||||
|
</up-form-item>
|
||||||
|
<up-form-item prop="gxName" label="工序">
|
||||||
|
<up-input
|
||||||
|
readonly
|
||||||
|
clearable
|
||||||
|
placeholder="请选择工序"
|
||||||
|
v-model="queryParams.gxName"
|
||||||
|
style="position: relative"
|
||||||
|
>
|
||||||
|
<template #suffix>
|
||||||
|
<view class="handle-box">
|
||||||
|
<view @tap="onSelectProcedure" class="select-project-area"> 1 </view>
|
||||||
|
<up-icon
|
||||||
|
name="close-circle-fill"
|
||||||
|
style="margin-right: 12rpx"
|
||||||
|
v-if="queryParams.gxName"
|
||||||
|
color="#c6c7cb"
|
||||||
|
@tap="
|
||||||
|
() => {
|
||||||
|
queryParams.gxName = ''
|
||||||
|
queryParams.gxId = ''
|
||||||
|
commonStore.setProcedureId('')
|
||||||
|
}
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
<up-icon name="arrow-down" size="16" @tap="onSelectProcedure" />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
</up-input>
|
||||||
|
</up-form-item>
|
||||||
|
</up-form>
|
||||||
|
</up-popup>
|
||||||
|
|
||||||
|
<!-- 工程选择器 -->
|
||||||
|
<up-picker
|
||||||
|
keyName="name"
|
||||||
|
closeOnClickOverlay
|
||||||
|
:show="projectShow"
|
||||||
|
:columns="projectList"
|
||||||
|
@confirm="onConfirmProject"
|
||||||
|
@cancel="projectShow = !projectShow"
|
||||||
|
@close="projectShow = !projectShow"
|
||||||
|
/>
|
||||||
|
<!-- 专业选择器 -->
|
||||||
|
<up-picker
|
||||||
|
keyName="name"
|
||||||
|
:show="majorShow"
|
||||||
|
:columns="majorList"
|
||||||
|
closeOnClickOverlay
|
||||||
|
@confirm="onConfirmMajor"
|
||||||
|
@cancel="majorShow = !majorShow"
|
||||||
|
@close="majorShow = !majorShow"
|
||||||
|
/>
|
||||||
|
<!-- 工序选择器 -->
|
||||||
|
<up-picker
|
||||||
|
keyName="name"
|
||||||
|
:show="procedureShow"
|
||||||
|
:columns="procedureList"
|
||||||
|
closeOnClickOverlay
|
||||||
|
@confirm="onConfirmProcedure"
|
||||||
|
@cancel="procedureShow = !procedureShow"
|
||||||
|
@close="procedureShow = !procedureShow"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue'
|
import { ref, onMounted } from 'vue'
|
||||||
import { useMemberStore } from '@/stores'
|
import { useMemberStore, useCommonStore } from '@/stores'
|
||||||
import iconCard from './components/icon-card.vue'
|
import { useCommon } from '@/hooks/useCommon.js'
|
||||||
|
import { getProcedureApi } from '@/services/common.js'
|
||||||
|
import IconCard from './components/icon-card.vue'
|
||||||
import icon_1 from '../../static/image/home_1.png'
|
import icon_1 from '../../static/image/home_1.png'
|
||||||
import icon_2 from '../../static/image/home_2.png'
|
import icon_2 from '../../static/image/home_2.png'
|
||||||
import icon_3 from '../../static/image/home_3.png'
|
import icon_3 from '../../static/image/home_3.png'
|
||||||
|
|
@ -17,7 +159,17 @@ import icon_4 from '../../static/image/home_4.png'
|
||||||
import icon_5 from '../../static/image/home_5.png'
|
import icon_5 from '../../static/image/home_5.png'
|
||||||
import icon_6 from '../../static/image/home_6.png'
|
import icon_6 from '../../static/image/home_6.png'
|
||||||
|
|
||||||
|
const { getProjectList, getMajorList } = useCommon()
|
||||||
|
const { safeAreaInsets } = uni.getSystemInfoSync()
|
||||||
|
const projectShow = ref(false)
|
||||||
|
const majorShow = ref(false)
|
||||||
|
const procedureShow = ref(false)
|
||||||
|
const projectList = ref([])
|
||||||
|
const majorList = ref([])
|
||||||
|
const procedureList = ref([])
|
||||||
|
const searchFormRef = ref(null)
|
||||||
const memberStore = useMemberStore() // 用户信息
|
const memberStore = useMemberStore() // 用户信息
|
||||||
|
const commonStore = useCommonStore() // 公共信息
|
||||||
const userPermissions = ref(memberStore.userInfo.permissions || [])
|
const userPermissions = ref(memberStore.userInfo.permissions || [])
|
||||||
|
|
||||||
const iconList_1 = ref([
|
const iconList_1 = ref([
|
||||||
|
|
@ -55,20 +207,154 @@ const iconList_2 = ref([
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
|
// 定义查询条件
|
||||||
|
const queryParams = ref({
|
||||||
|
proId: '', // 工程
|
||||||
|
proName: '', // 工程名称
|
||||||
|
majorId: '', // 专业id
|
||||||
|
majorName: '', // 专业名称
|
||||||
|
gxId: '', // 工序id
|
||||||
|
gxName: '', // 工序名称
|
||||||
|
})
|
||||||
|
|
||||||
// 判读用户的 permissions 是否有对应的权限,没有就隐藏
|
// 判读用户的 permissions 是否有对应的权限,没有就隐藏
|
||||||
if (userPermissions.value.length > 0) {
|
if (userPermissions.value.length > 0) {
|
||||||
const permissionSet = new Set(userPermissions.value.map((item) => item.name))
|
const permissionSet = new Set(userPermissions.value.map((item) => item.name))
|
||||||
// iconList_1.value = iconList_1.value.filter((item) => permissionSet.has(item.title))
|
// iconList_1.value = iconList_1.value.filter((item) => permissionSet.has(item.title))
|
||||||
// iconList_2.value = iconList_2.value.filter((item) => permissionSet.has(item.title))
|
// iconList_2.value = iconList_2.value.filter((item) => permissionSet.has(item.title))
|
||||||
}
|
}
|
||||||
|
const rightPopupShow = ref(false)
|
||||||
|
// 选择项目专业工序等
|
||||||
|
const onHandleSelect = async () => {
|
||||||
|
projectList.value.push(await getProjectList())
|
||||||
|
majorList.value.push(await getMajorList())
|
||||||
|
rightPopupShow.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
// 选择工程
|
||||||
|
const onSelectProject = () => {
|
||||||
|
projectShow.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
// 工程选择
|
||||||
|
const onConfirmProject = (item) => {
|
||||||
|
queryParams.value.proName = item?.value[0]?.name
|
||||||
|
queryParams.value.proId = item?.value[0]?.id
|
||||||
|
|
||||||
|
// 把id存入 store 里面
|
||||||
|
commonStore.setProjectId(item?.value[0]?.id)
|
||||||
|
commonStore.setProjectName(item?.value[0]?.name)
|
||||||
|
projectShow.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 选择专业
|
||||||
|
const onSelectMajor = () => {
|
||||||
|
majorShow.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
// 专业确定
|
||||||
|
const onConfirmMajor = (item) => {
|
||||||
|
queryParams.value.majorName = item?.value[0]?.name
|
||||||
|
queryParams.value.majorId = item?.value[0]?.id
|
||||||
|
commonStore.setMajorId(item?.value[0]?.id)
|
||||||
|
commonStore.setMajorName(item?.value[0]?.name)
|
||||||
|
getProcedureData(item?.value[0]?.id)
|
||||||
|
majorShow.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 选择工序
|
||||||
|
const onSelectProcedure = () => {
|
||||||
|
procedureShow.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
// 工序确定
|
||||||
|
const onConfirmProcedure = (item) => {
|
||||||
|
queryParams.value.gxName = item?.value[0]?.name
|
||||||
|
queryParams.value.gxId = item?.value[0]?.id
|
||||||
|
commonStore.setProcedureId(item?.value[0]?.id)
|
||||||
|
commonStore.setProcedureName(item?.value[0]?.name)
|
||||||
|
procedureShow.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取工序
|
||||||
|
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=' + 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.value = []
|
||||||
|
procedureList.value.push(res)
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.workbenches-container {
|
.workbenches-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #f6f9ff;
|
background-color: #f6f9ff;
|
||||||
padding-top: 30rpx;
|
padding-top: 44px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
// overflow: hidden;
|
// overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 高级搜索弹框样式
|
||||||
|
.senior-popup {
|
||||||
|
width: 90vw;
|
||||||
|
height: 100vh;
|
||||||
|
overflow: hidden;
|
||||||
|
.senior-title {
|
||||||
|
padding: 24rpx 30rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
|
||||||
|
& text {
|
||||||
|
margin-left: 4rpx;
|
||||||
|
letter-spacing: 2rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btns {
|
||||||
|
width: 100%;
|
||||||
|
height: 50px;
|
||||||
|
padding: 18rpx 0;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
border-top: 1px solid #cac6c6;
|
||||||
|
background-color: #fff;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
& view {
|
||||||
|
margin-right: 18rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.handle-box {
|
||||||
|
position: absolute;
|
||||||
|
right: 5%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
left: 0;
|
||||||
|
// bottom: 0;
|
||||||
|
z-index: 100;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.select-project-area {
|
||||||
|
flex: 1;
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,49 @@ export const useCommonStore = defineStore('common', () => {
|
||||||
// 专业数据
|
// 专业数据
|
||||||
const majorList = ref([])
|
const majorList = ref([])
|
||||||
|
|
||||||
|
// 项目id
|
||||||
|
const projectId = ref('')
|
||||||
|
// 专业id
|
||||||
|
const majorId = ref('')
|
||||||
|
// 工序id
|
||||||
|
const procedureId = ref('')
|
||||||
|
// 项目名称
|
||||||
|
const projectName = ref('')
|
||||||
|
// 专业名称
|
||||||
|
const majorName = ref('')
|
||||||
|
// 工序名称
|
||||||
|
const procedureName = ref('')
|
||||||
|
|
||||||
|
// 存入项目id
|
||||||
|
const setProjectId = (id) => {
|
||||||
|
projectId.value = id
|
||||||
|
}
|
||||||
|
|
||||||
|
// 存入项目名称
|
||||||
|
const setProjectName = (name) => {
|
||||||
|
projectName.value = name
|
||||||
|
}
|
||||||
|
|
||||||
|
// 存入专业id
|
||||||
|
const setMajorId = (id) => {
|
||||||
|
majorId.value = id
|
||||||
|
}
|
||||||
|
|
||||||
|
// 存入专业名称
|
||||||
|
const setMajorName = (name) => {
|
||||||
|
majorName.value = name
|
||||||
|
}
|
||||||
|
|
||||||
|
// 存入工序id
|
||||||
|
const setProcedureId = (id) => {
|
||||||
|
procedureId.value = id
|
||||||
|
}
|
||||||
|
|
||||||
|
// 存入工序名称
|
||||||
|
const setProcedureName = (name) => {
|
||||||
|
procedureName.value = name
|
||||||
|
}
|
||||||
|
|
||||||
// 存储项目数据
|
// 存储项目数据
|
||||||
const getProjectList = async () => {
|
const getProjectList = async () => {
|
||||||
if (projectList.value.length < 1) {
|
if (projectList.value.length < 1) {
|
||||||
|
|
@ -35,5 +78,17 @@ export const useCommonStore = defineStore('common', () => {
|
||||||
majorList,
|
majorList,
|
||||||
getProjectList,
|
getProjectList,
|
||||||
getMajorList,
|
getMajorList,
|
||||||
|
projectId,
|
||||||
|
majorId,
|
||||||
|
procedureId,
|
||||||
|
projectName,
|
||||||
|
majorName,
|
||||||
|
procedureName,
|
||||||
|
setProjectId,
|
||||||
|
setMajorId,
|
||||||
|
setProcedureId,
|
||||||
|
setProjectName,
|
||||||
|
setMajorName,
|
||||||
|
setProcedureName,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue