Browse Source

装货点位

shasha 1 month ago
parent
commit
d0d214d311

+ 67 - 39
snowy-admin-web/src/views/biz/bizloadpoint/index.vue

@@ -1,52 +1,70 @@
 <template>
+	<a-card :bordered="false" style="margin-bottom: 10px" class="mb-2">
+		<a-form ref="searchFormRef" name="advanced_search" :model="searchFormState" class="ant-advanced-search-form">
+			<a-row :gutter="24">
+				<a-col :span="6">
+					<a-form-item label="点位名称" name="loadPoint">
+						<a-input v-model:value="searchFormState.loadPoint" placeholder="查询点位名称" allow-clear  />
+					</a-form-item>
+				</a-col>
+				<a-col :span="6">
+					<a-button type="primary" @click="tableRef.refresh()">查询</a-button>
+					<a-button style="margin: 0 8px" @click="reset">重置</a-button>
+					
+					<a-button type="primary" @click="formRef.onOpen()" v-if="hasPerm('bizLoadPointAdd')">
+						<template #icon><plus-outlined /></template>
+						新增
+					</a-button>
+				</a-col>
+			</a-row>
+		</a-form>
+	</a-card>
 	<a-card :bordered="false">
 		<s-table
 			ref="tableRef"
 			:columns="columns"
 			:data="loadData"
-			:alert="options.alert.show"
 			bordered
 			:row-key="(record) => record.id"
-			:tool-config="toolConfig"
-			:row-selection="options.rowSelection"
 		>
-			<template #operator class="table-operator">
-				<a-space>
-					<a-button type="primary" @click="formRef.onOpen()" v-if="hasPerm('bizLoadPointAdd')">
-						<template #icon><plus-outlined /></template>
-						新增
-					</a-button>
-					<xn-batch-button
-						v-if="hasPerm('bizLoadPointBatchDelete')"
-						buttonName="批量删除"
-                        icon="DeleteOutlined"
-						:selectedRowKeys="selectedRowKeys"
-						@batchCallBack="deleteBatchBizLoadPoint"
-					/>
-				</a-space>
-			</template>
-			<template #bodyCell="{ column, record }">
+			<template #bodyCell="{ column, record, index }">
+				<template v-if="column.dataIndex === 'serial'">
+					{{ index + 1 }}
+				</template>
 				<template v-if="column.dataIndex === 'action'">
 					<a-space>
 						<a @click="formRef.onOpen(record)" v-if="hasPerm('bizLoadPointEdit')">编辑</a>
 						<a-divider type="vertical" v-if="hasPerm(['bizLoadPointEdit', 'bizLoadPointDelete'], 'and')" />
-						<a-popconfirm title="确定要删除吗?" @confirm="deleteBizLoadPoint(record)">
-							<a-button type="link" danger size="small" v-if="hasPerm('bizLoadPointDelete')">删除</a-button>
-						</a-popconfirm>
+						<a-button type="link" danger size="small" v-if="hasPerm('bizLoadPointDelete')" @click="deleteConfig(record)">删除</a-button>
+
+						<a-divider type="vertical" v-if="hasPerm(['bizLoadPointEdit', 'bizLoadPointDelete'], 'or') && hasPerm('bizLoadUser')" />
+						<a @click="userIndexRef.onOpen(record)" v-if="hasPerm('bizLoadUser')">装货员</a>
+
+						<a-divider type="vertical" v-if="hasPerm(['bizLoadPointEdit', 'bizLoadPointDelete', 'bizLoadUser'], 'or') && hasPerm('bizLoadTime')" />
+						<a @click="timeIndexRef.onOpen(record)" v-if="hasPerm('bizLoadTime')">装货时间</a>
 					</a-space>
 				</template>
 			</template>
 		</s-table>
 	</a-card>
 	<Form ref="formRef" @successful="tableRef.refresh()" />
+	<UserIndex ref="userIndexRef" @successful="tableRef.refresh()" />
+	<TimeIndex ref="timeIndexRef" @successful="tableRef.refresh()" />
 </template>
 
 <script setup name="bizloadpoint">
 	import { cloneDeep } from 'lodash-es'
 	import Form from './form.vue'
+	import UserIndex from './userIndex.vue'
+	import TimeIndex from './timeIndex.vue'
 	import bizLoadPointApi from '@/api/biz/bizLoadPointApi'
+
+	const searchFormState = ref({})
+	const searchFormRef = ref()
 	const tableRef = ref()
 	const formRef = ref()
+	const userIndexRef = ref()
+	const timeIndexRef = ref()
 	const toolConfig = { refresh: true, height: true, columnSetting: true, striped: false }
 	const columns = [
 		{
@@ -55,12 +73,12 @@
 		},
 	]
 	// 操作栏通过权限判断是否显示
-	if (hasPerm(['bizLoadPointEdit', 'bizLoadPointDelete'])) {
+	if (hasPerm(['bizLoadPointEdit', 'bizLoadPointDelete', 'bizLoadUser', 'bizLoadTime'], 'or')) {
 		columns.push({
 			title: '操作',
 			dataIndex: 'action',
 			align: 'center',
-			width: 150
+			width: 220
 		})
 	}
 	const selectedRowKeys = ref([])
@@ -80,7 +98,8 @@
 		}
 	}
 	const loadData = (parameter) => {
-		return bizLoadPointApi.bizLoadPointPage(parameter).then((data) => {
+		const searchFormParam = cloneDeep(searchFormState.value)
+		return bizLoadPointApi.bizLoadPointPage(Object.assign(parameter, searchFormParam)).then((data) => {
 			return data
 		})
 	}
@@ -90,20 +109,29 @@
 		tableRef.value.refresh(true)
 	}
 	// 删除
-	const deleteBizLoadPoint = (record) => {
-		let params = [
-			{
-				id: record.id
-			}
-		]
-		bizLoadPointApi.bizLoadPointDelete(params).then(() => {
-			tableRef.value.refresh(true)
-		})
-	}
-	// 批量删除
-	const deleteBatchBizLoadPoint = (params) => {
-		bizLoadPointApi.bizLoadPointDelete(params).then(() => {
-			tableRef.value.clearRefreshSelected()
+	const deleteConfig = (record) => {
+		Modal.confirm({
+			title: '确定删除该数据吗?',
+			icon: createVNode(ExclamationCircleOutlined),
+			content: '',
+			onOk() {
+				submitLoading.value = true
+				let params = [
+					{
+						id: record.id
+					}
+				]
+
+				customerApi
+					.customerDelete(params)
+					.then(() => {
+						tableRef.value.refresh(true)
+					})
+					.finally(() => {
+						submitLoading.value = false
+					})
+			},
+			onCancel() {}
 		})
 	}
 </script>

+ 0 - 85
snowy-admin-web/src/views/biz/bizloadtime/form.vue

@@ -1,85 +0,0 @@
-<template>
-	<xn-form-container
-		:title="formData.id ? '编辑装货时间配置' : '增加装货时间配置'"
-		:width="700"
-		v-model:open="open"
-		:destroy-on-close="true"
-		@close="onClose"
-	>
-		<a-form ref="formRef" :model="formData" :rules="formRules" layout="vertical">
-			<a-form-item label="装货点位id:" name="pointId">
-				<a-input v-model:value="formData.pointId" placeholder="请输入装货点位id" allow-clear />
-			</a-form-item>
-			<a-form-item label="开始时间:" name="beginTime">
-				<a-date-picker v-model:value="formData.beginTime" value-format="YYYY-MM-DD HH:mm:ss" show-time placeholder="请选择开始时间" style="width: 100%" />
-			</a-form-item>
-			<a-form-item label="结束时间:" name="endTime">
-				<a-date-picker v-model:value="formData.endTime" value-format="YYYY-MM-DD HH:mm:ss" show-time placeholder="请选择结束时间" style="width: 100%" />
-			</a-form-item>
-			<a-form-item label="可约次数:" name="availableNumber">
-				<a-input v-model:value="formData.availableNumber" placeholder="请输入可约次数" allow-clear />
-			</a-form-item>
-			<a-form-item label="已约次数:" name="alreadyNumber">
-				<a-input v-model:value="formData.alreadyNumber" placeholder="请输入已约次数" allow-clear />
-			</a-form-item>
-		</a-form>
-		<template #footer>
-			<a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
-			<a-button type="primary" @click="onSubmit" :loading="submitLoading">保存</a-button>
-		</template>
-	</xn-form-container>
-</template>
-
-<script setup name="bizLoadTimeForm">
-	import { cloneDeep } from 'lodash-es'
-	import { required } from '@/utils/formRules'
-	import bizLoadTimeApi from '@/api/biz/bizLoadTimeApi'
-	// 抽屉状态
-	const open = ref(false)
-	const emit = defineEmits({ successful: null })
-	const formRef = ref()
-	// 表单数据
-	const formData = ref({})
-	const submitLoading = ref(false)
-
-	// 打开抽屉
-	const onOpen = (record) => {
-		open.value = true
-		if (record) {
-			let recordData = cloneDeep(record)
-			formData.value = Object.assign({}, recordData)
-		}
-	}
-	// 关闭抽屉
-	const onClose = () => {
-		formRef.value.resetFields()
-		formData.value = {}
-		open.value = false
-	}
-	// 默认要校验的
-	const formRules = {
-	}
-	// 验证并提交数据
-	const onSubmit = () => {
-		formRef.value
-			.validate()
-			.then(() => {
-				submitLoading.value = true
-				const formDataParam = cloneDeep(formData.value)
-				bizLoadTimeApi
-					.bizLoadTimeSubmitForm(formDataParam, formDataParam.id)
-					.then(() => {
-						onClose()
-						emit('successful')
-					})
-					.finally(() => {
-						submitLoading.value = false
-					})
-			})
-			.catch(() => {})
-	}
-	// 抛出函数
-	defineExpose({
-		onOpen
-	})
-</script>

+ 0 - 125
snowy-admin-web/src/views/biz/bizloadtime/index.vue

@@ -1,125 +0,0 @@
-<template>
-	<a-card :bordered="false">
-		<s-table
-			ref="tableRef"
-			:columns="columns"
-			:data="loadData"
-			:alert="options.alert.show"
-			bordered
-			:row-key="(record) => record.id"
-			:tool-config="toolConfig"
-			:row-selection="options.rowSelection"
-		>
-			<template #operator class="table-operator">
-				<a-space>
-					<a-button type="primary" @click="formRef.onOpen()" v-if="hasPerm('bizLoadTimeAdd')">
-						<template #icon><plus-outlined /></template>
-						新增
-					</a-button>
-					<xn-batch-button
-						v-if="hasPerm('bizLoadTimeBatchDelete')"
-						buttonName="批量删除"
-                        icon="DeleteOutlined"
-						:selectedRowKeys="selectedRowKeys"
-						@batchCallBack="deleteBatchBizLoadTime"
-					/>
-				</a-space>
-			</template>
-			<template #bodyCell="{ column, record }">
-				<template v-if="column.dataIndex === 'action'">
-					<a-space>
-						<a @click="formRef.onOpen(record)" v-if="hasPerm('bizLoadTimeEdit')">编辑</a>
-						<a-divider type="vertical" v-if="hasPerm(['bizLoadTimeEdit', 'bizLoadTimeDelete'], 'and')" />
-						<a-popconfirm title="确定要删除吗?" @confirm="deleteBizLoadTime(record)">
-							<a-button type="link" danger size="small" v-if="hasPerm('bizLoadTimeDelete')">删除</a-button>
-						</a-popconfirm>
-					</a-space>
-				</template>
-			</template>
-		</s-table>
-	</a-card>
-	<Form ref="formRef" @successful="tableRef.refresh()" />
-</template>
-
-<script setup name="bizloadtime">
-	import { cloneDeep } from 'lodash-es'
-	import Form from './form.vue'
-	import bizLoadTimeApi from '@/api/biz/bizLoadTimeApi'
-	const tableRef = ref()
-	const formRef = ref()
-	const toolConfig = { refresh: true, height: true, columnSetting: true, striped: false }
-	const columns = [
-		{
-			title: '装货点位id',
-			dataIndex: 'pointId'
-		},
-		{
-			title: '开始时间',
-			dataIndex: 'beginTime'
-		},
-		{
-			title: '结束时间',
-			dataIndex: 'endTime'
-		},
-		{
-			title: '可约次数',
-			dataIndex: 'availableNumber'
-		},
-		{
-			title: '已约次数',
-			dataIndex: 'alreadyNumber'
-		},
-	]
-	// 操作栏通过权限判断是否显示
-	if (hasPerm(['bizLoadTimeEdit', 'bizLoadTimeDelete'])) {
-		columns.push({
-			title: '操作',
-			dataIndex: 'action',
-			align: 'center',
-			width: 150
-		})
-	}
-	const selectedRowKeys = ref([])
-	// 列表选择配置
-	const options = {
-		// columns数字类型字段加入 needTotal: true 可以勾选自动算账
-		alert: {
-			show: true,
-			clear: () => {
-				selectedRowKeys.value = ref([])
-			}
-		},
-		rowSelection: {
-			onChange: (selectedRowKey, selectedRows) => {
-				selectedRowKeys.value = selectedRowKey
-			}
-		}
-	}
-	const loadData = (parameter) => {
-		return bizLoadTimeApi.bizLoadTimePage(parameter).then((data) => {
-			return data
-		})
-	}
-	// 重置
-	const reset = () => {
-		searchFormRef.value.resetFields()
-		tableRef.value.refresh(true)
-	}
-	// 删除
-	const deleteBizLoadTime = (record) => {
-		let params = [
-			{
-				id: record.id
-			}
-		]
-		bizLoadTimeApi.bizLoadTimeDelete(params).then(() => {
-			tableRef.value.refresh(true)
-		})
-	}
-	// 批量删除
-	const deleteBatchBizLoadTime = (params) => {
-		bizLoadTimeApi.bizLoadTimeDelete(params).then(() => {
-			tableRef.value.clearRefreshSelected()
-		})
-	}
-</script>

+ 0 - 76
snowy-admin-web/src/views/biz/bizloaduser/form.vue

@@ -1,76 +0,0 @@
-<template>
-	<xn-form-container
-		:title="formData.id ? '编辑装货点人员信息' : '增加装货点人员信息'"
-		:width="700"
-		v-model:open="open"
-		:destroy-on-close="true"
-		@close="onClose"
-	>
-		<a-form ref="formRef" :model="formData" :rules="formRules" layout="vertical">
-			<a-form-item label="装货点位id:" name="loadId">
-				<a-input v-model:value="formData.loadId" placeholder="请输入装货点位id" allow-clear />
-			</a-form-item>
-			<a-form-item label="点位人员信息:" name="userId">
-				<a-input v-model:value="formData.userId" placeholder="请输入点位人员信息" allow-clear />
-			</a-form-item>
-		</a-form>
-		<template #footer>
-			<a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
-			<a-button type="primary" @click="onSubmit" :loading="submitLoading">保存</a-button>
-		</template>
-	</xn-form-container>
-</template>
-
-<script setup name="bizLoadUserForm">
-	import { cloneDeep } from 'lodash-es'
-	import { required } from '@/utils/formRules'
-	import bizLoadUserApi from '@/api/biz/bizLoadUserApi'
-	// 抽屉状态
-	const open = ref(false)
-	const emit = defineEmits({ successful: null })
-	const formRef = ref()
-	// 表单数据
-	const formData = ref({})
-	const submitLoading = ref(false)
-
-	// 打开抽屉
-	const onOpen = (record) => {
-		open.value = true
-		if (record) {
-			let recordData = cloneDeep(record)
-			formData.value = Object.assign({}, recordData)
-		}
-	}
-	// 关闭抽屉
-	const onClose = () => {
-		formRef.value.resetFields()
-		formData.value = {}
-		open.value = false
-	}
-	// 默认要校验的
-	const formRules = {
-	}
-	// 验证并提交数据
-	const onSubmit = () => {
-		formRef.value
-			.validate()
-			.then(() => {
-				submitLoading.value = true
-				const formDataParam = cloneDeep(formData.value)
-				bizLoadUserApi
-					.bizLoadUserSubmitForm(formDataParam, formDataParam.id)
-					.then(() => {
-						onClose()
-						emit('successful')
-					})
-					.finally(() => {
-						submitLoading.value = false
-					})
-			})
-			.catch(() => {})
-	}
-	// 抛出函数
-	defineExpose({
-		onOpen
-	})
-</script>

+ 0 - 113
snowy-admin-web/src/views/biz/bizloaduser/index.vue

@@ -1,113 +0,0 @@
-<template>
-	<a-card :bordered="false">
-		<s-table
-			ref="tableRef"
-			:columns="columns"
-			:data="loadData"
-			:alert="options.alert.show"
-			bordered
-			:row-key="(record) => record.id"
-			:tool-config="toolConfig"
-			:row-selection="options.rowSelection"
-		>
-			<template #operator class="table-operator">
-				<a-space>
-					<a-button type="primary" @click="formRef.onOpen()" v-if="hasPerm('bizLoadUserAdd')">
-						<template #icon><plus-outlined /></template>
-						新增
-					</a-button>
-					<xn-batch-button
-						v-if="hasPerm('bizLoadUserBatchDelete')"
-						buttonName="批量删除"
-                        icon="DeleteOutlined"
-						:selectedRowKeys="selectedRowKeys"
-						@batchCallBack="deleteBatchBizLoadUser"
-					/>
-				</a-space>
-			</template>
-			<template #bodyCell="{ column, record }">
-				<template v-if="column.dataIndex === 'action'">
-					<a-space>
-						<a @click="formRef.onOpen(record)" v-if="hasPerm('bizLoadUserEdit')">编辑</a>
-						<a-divider type="vertical" v-if="hasPerm(['bizLoadUserEdit', 'bizLoadUserDelete'], 'and')" />
-						<a-popconfirm title="确定要删除吗?" @confirm="deleteBizLoadUser(record)">
-							<a-button type="link" danger size="small" v-if="hasPerm('bizLoadUserDelete')">删除</a-button>
-						</a-popconfirm>
-					</a-space>
-				</template>
-			</template>
-		</s-table>
-	</a-card>
-	<Form ref="formRef" @successful="tableRef.refresh()" />
-</template>
-
-<script setup name="bizloaduser">
-	import { cloneDeep } from 'lodash-es'
-	import Form from './form.vue'
-	import bizLoadUserApi from '@/api/biz/bizLoadUserApi'
-	const tableRef = ref()
-	const formRef = ref()
-	const toolConfig = { refresh: true, height: true, columnSetting: true, striped: false }
-	const columns = [
-		{
-			title: '装货点位id',
-			dataIndex: 'loadId'
-		},
-		{
-			title: '点位人员信息',
-			dataIndex: 'userId'
-		},
-	]
-	// 操作栏通过权限判断是否显示
-	if (hasPerm(['bizLoadUserEdit', 'bizLoadUserDelete'])) {
-		columns.push({
-			title: '操作',
-			dataIndex: 'action',
-			align: 'center',
-			width: 150
-		})
-	}
-	const selectedRowKeys = ref([])
-	// 列表选择配置
-	const options = {
-		// columns数字类型字段加入 needTotal: true 可以勾选自动算账
-		alert: {
-			show: true,
-			clear: () => {
-				selectedRowKeys.value = ref([])
-			}
-		},
-		rowSelection: {
-			onChange: (selectedRowKey, selectedRows) => {
-				selectedRowKeys.value = selectedRowKey
-			}
-		}
-	}
-	const loadData = (parameter) => {
-		return bizLoadUserApi.bizLoadUserPage(parameter).then((data) => {
-			return data
-		})
-	}
-	// 重置
-	const reset = () => {
-		searchFormRef.value.resetFields()
-		tableRef.value.refresh(true)
-	}
-	// 删除
-	const deleteBizLoadUser = (record) => {
-		let params = [
-			{
-				id: record.id
-			}
-		]
-		bizLoadUserApi.bizLoadUserDelete(params).then(() => {
-			tableRef.value.refresh(true)
-		})
-	}
-	// 批量删除
-	const deleteBatchBizLoadUser = (params) => {
-		bizLoadUserApi.bizLoadUserDelete(params).then(() => {
-			tableRef.value.clearRefreshSelected()
-		})
-	}
-</script>