فهرست منبع

Merge remote-tracking branch 'origin/master'

luoyali 1 سال پیش
والد
کامیت
831f2d6b44
2فایلهای تغییر یافته به همراه81 افزوده شده و 73 حذف شده
  1. 48 0
      src/api/test/purchaseOrder.ts
  2. 33 73
      src/views/flow/test/business.vue

+ 48 - 0
src/api/test/purchaseOrder.ts

@@ -0,0 +1,48 @@
+import request from '@/utils/request'
+import { AxiosPromise } from 'axios'
+
+// apiUrl 采购订单管理
+const api = {
+	page: '/v1/purchase-order/page',
+	create: '/v1/purchase-order/create',
+	update: '/v1/purchase-order/update',
+	delete: '/v1/purchase-order/delete'
+}
+
+/**
+ * 采购订单管理 - 列表
+ */
+function postPageApi(data: any): AxiosPromise {
+	return request({
+		url: api.page,
+		method: 'post',
+		data
+	})
+}
+
+/**
+ * 采购订单管理 - 新增编辑保存
+ */
+function postAddOrEditSaveApi(data: any): AxiosPromise {
+	return request({
+		url: data.id ? api.update : api.create,
+		method: 'post',
+		data
+	})
+}
+
+/**
+ * 采购订单管理 - 删除
+ */
+function postDeleteApi(data: any): AxiosPromise {
+	return request({
+		url: api.delete,
+		method: 'post',
+		data
+	})
+}
+export default {
+	postPageApi,
+	postAddOrEditSaveApi,
+	postDeleteApi
+}

+ 33 - 73
src/views/flow/test/business.vue

@@ -3,7 +3,9 @@
 		<div class="content-warp flex-column-page-wrap">
 			<!-- 公用搜索组件 -->
 			<LeSearchForm ref="searchForm" v-model:searchData="searchData" :forms="forms" :loading="tableOpts.options.loading"> </LeSearchForm>
-
+			<div style="margin: 20px; font-size: 1.2em;color: red">
+				演示关联业务审批逻辑,对应 业务流程KEY为 purchaseOrder
+			</div>
 			<!--  LeTable 组件使用  -->
 			<LeTable
 				ref="tableRef"
@@ -27,14 +29,15 @@
 				</template>
 
 				<template #statusSlot="scope">
-					<status-indicator v-if="scope.row.status === 1" pulse type="success"></status-indicator>
-					<status-indicator v-else pulse type="danger"></status-indicator>
+					<el-tag v-if="scope.row.status === 1" type="danger">已拒绝</el-tag>
+					<el-tag v-else-if="scope.row.status === 2" type="success">已通过</el-tag>
+					<el-tag v-else type="info">待审批</el-tag>
 				</template>
 
 				<template #actionSlot="scope">
-					<el-tooltip content="编辑" placement="bottom" effect="light">
+					<el-tooltip content="提交审批" placement="bottom" effect="light">
 						<el-icon class="ibt0" @click="table_edit(scope.row)">
-							<Edit />
+							<Promotion />
 						</el-icon>
 					</el-tooltip>
 					<el-divider direction="vertical"></el-divider>
@@ -53,7 +56,7 @@
 			v-if="visible"
 			ref="dialogUserRef"
 			v-model="visible"
-			:title="`${isCreate ? '新增' : '编辑'}岗位`"
+			title="新增采购订单"
 			width="600px"
 			:form-data="activeData"
 			:form-options="formOptions"
@@ -62,45 +65,27 @@
 	</div>
 </template>
 <script lang="tsx" setup>
-import post from '@/api/system/post'
+import purchaseOrder from '@/api/test/purchaseOrder'
 import { computed, nextTick, ref, watch } from 'vue'
 import { ElMessage, ElMessageBox, ElTree } from 'element-plus'
 import { useTablePage } from '@/hooks/useTablePage'
 import { Plus, Delete } from '@element-plus/icons-vue'
-import StatusIndicator from '@/components/StatusIndicator'
 
 const visible = ref(false) // 弹窗显示隐藏
-const isCreate = ref(true)
 const activeData = ref({})
 const formsDialog = [
 	{
-		prop: 'name',
-		label: '岗位名称',
-		itemType: 'input',
-		rules: [{ required: true, message: '请输入岗位名称', trigger: 'blur' }]
-	},
-	{
-		prop: 'code',
-		label: '岗位编码',
+		prop: 'title',
+		label: '标题',
 		itemType: 'input',
-		rules: [{ required: true, message: '请输入岗位编码', trigger: 'blur' }]
-	},
-	{
-		prop: 'sort',
-		label: '排序',
-		itemType: 'inputNumber'
-	},
-	{
-		prop: 'status',
-		label: '状态',
-		itemType: 'switch',
-		activeText: '正常',
-		inactiveText: '禁用'
+		rules: [{ required: true, message: '请输入采购订单标题', trigger: 'blur' }]
 	},
 	{
-		prop: 'remark',
-		label: '备注',
-		itemType: 'input'
+		prop: 'content',
+		label: '内容',
+		rows: "2",
+		type: 'textarea',
+		rules: [{ required: true, message: '请输入采购订单内容', trigger: 'blur' }]
 	}
 ]
 // 新增的表单 和 编辑的表单
@@ -134,7 +119,7 @@ const queryList = async () => {
 	const { options, searchParams } = tableOpts
 	options.loading = true
 	try {
-		const { records: list, total } = await post.postPageApi(searchParams)
+		const { records: list, total } = await purchaseOrder.postPageApi(searchParams)
 		tableOpts.total = total
 		tableOpts.list = list
 	} catch {
@@ -150,12 +135,14 @@ const queryList = async () => {
 // table 参数
 const columns = [
 	{
-		prop: 'name',
-		label: '岗位名称',
-		minWidth: 80,
-		slots: {
-			default: 'filterAvatarSlot'
-		}
+		prop: 'title',
+		label: '标题',
+		minWidth: 80
+	},
+	{
+		prop: 'content',
+		label: '内容',
+		minWidth: 100
 	},
 	{
 		prop: 'status',
@@ -166,30 +153,10 @@ const columns = [
 		}
 	},
 	{
-		prop: 'code',
-		label: '编码',
+		prop: 'flwComment',
+		label: '审批内容',
 		minWidth: 100
 	},
-	{
-		prop: 'remark',
-		label: '备注',
-		minWidth: 100
-	},
-	{
-		prop: 'sort',
-		label: '排序',
-		minWidth: 80
-	},
-	{
-		prop: 'updateBy',
-		label: '修改人',
-		minWidth: 100
-	},
-	{
-		prop: 'updateTime',
-		label: '修改时间',
-		minWidth: 126
-	},
 	{
 		prop: 'createBy',
 		label: '创建人',
@@ -232,7 +199,7 @@ const { searchData, tableOpts, checkedColumns, activeColumns, curSelectionRows,
 // 删除
 const deleteItem = async ids => {
 	// try {
-	await post.postDeleteApi(ids)
+	await purchaseOrder.postDeleteApi(ids)
 	ElMessage.error(`删除成功~`)
 	updateParams()
 	// } catch (e) {
@@ -259,20 +226,14 @@ const batch_del = () => {
 	})
 }
 
-const table_edit = async row => {
-	isCreate.value = false
-	activeData.value = { ...row, status: row.status ? true : false }
-	visible.value = true
-}
-
 // 弹窗事件
 const submitHandler = async params => {
 	formOptions.value.formConfig.submitLoading = true
 	try {
 		params.status = params.status ? 1 : 0
-		params.id = activeData.value.id ? activeData.value.id : null
-		await post.postAddOrEditSaveApi(params)
-		ElMessage.success(`${isCreate.value ? '新增' : '修改'}成功~`)
+		params.id = null
+		await purchaseOrder.postAddOrEditSaveApi(params)
+		ElMessage.success(`新增成功~`)
 		visible.value = false
 		updateParams()
 		formOptions.value.formConfig.submitLoading = false
@@ -283,7 +244,6 @@ const submitHandler = async params => {
 }
 
 const addHandler = () => {
-	isCreate.value = true
 	activeData.value = {}
 	visible.value = true
 }