Переглянути джерело

fix:销售收入核定、上报

yangchengfei 5 місяців тому
батько
коміт
593573adc3

+ 20 - 2
src/api/financialSupervision.info/financialSupervision.js

@@ -113,12 +113,30 @@ export default {
113 113
         return request(`priceApproval/getApprovalThreeRKMX/${orgId}`, {}, 'get')
114 114
     },
115 115
 
116
-
117 116
     // 添加财务监管-省级储备粮清算管理-轮换费用利息补贴清算表
118 117
     fsrpcostinterestsettleAddd(data) {
119
-        return request('/financialSupervision/fsrpcostinterestsettle/add', data, 'post')
118
+        return request('/fsrpcostinterestsettle/add', data, 'post')
119
+    },
120
+
121
+    // 获取销售收入上报分页  
122
+    fsSaleRevenuePage(data) {
123
+        return request('/fsSaleRevenue/page', data, 'get')
124
+    },
125
+
126
+    // 编辑销售收入上报 
127
+    fsSaleRevenueEdit(data) {
128
+        return request('/fsSaleRevenue/edit', data, 'post')
129
+    },
130
+
131
+    // 销售收入上报详情 
132
+    fsSaleRevenueDetail(data) {
133
+        return request('fsSaleRevenue/detail', data, 'get')
120 134
     },
121 135
 
136
+    // 三账一致性-出库明细
137
+    getOutStorageDetailedBy(contractNumber) {
138
+        return request(`/fsSaleRevenue/getOutStorageDetailed/${contractNumber}`, {}, 'get')
139
+    },
122 140
 }
123 141
 
124 142
 

Різницю між файлами не показано, бо вона завелика
+ 826 - 214
src/views/Arevenue/ARSales/ARSalesDel.vue


+ 66 - 79
src/views/Arevenue/ARSales/index.vue

@@ -1,4 +1,5 @@
1 1
 <template>
2
+	<!-- 销售收入上报 -->
2 3
 	<div class="pricemoitorrecord">
3 4
 		<a-card :bordered="false">
4 5
 			<a-space class="search">
@@ -6,39 +7,25 @@
6 7
 					<span style="width: 70px; margin-right: 8px; text-align: right; display: block; line-height: 30px">
7 8
 						企业名称
8 9
 					</span>
9
-					<a-input style="width: 220px" v-model:value="SearchFormDel.unitName" placeholder="请输入" />
10
+					<a-input style="width: 220px" v-model:value="SearchFormDel.dwmc" placeholder="请输入" />
10 11
 				</div>
11 12
 				<div class="silt-title">
12 13
 					<span style="width: 70px; margin-right: 8px; text-align: right; display: block; line-height: 30px">
13 14
 						库区名称
14 15
 					</span>
15
-					<a-input style="width: 220px" v-model:value="SearchFormDel.unitName" placeholder="请输入" />
16
-					<!-- <a-select style="width: 220px" v-model:value="SearchFormDel.unitName">
17
-						<a-select-option :value="1">1</a-select-option>
18
-					</a-select> -->
16
+					<a-input style="width: 220px" v-model:value="SearchFormDel.orgName" placeholder="请输入" />
19 17
 				</div>
20 18
 				<div class="btnBox">
21 19
 					<a-button type="primary" class="primarySele" @click="Search"> 查询 </a-button>
22 20
 					<a-button class="primarySele snowy-buttom-left" @click="onReset"> 重置 </a-button>
23
-					<a-button type="primary" class="primarySele" @click="onView('add', {})"> 新增 </a-button>
24 21
 				</div>
25 22
 			</a-space>
26 23
 		</a-card>
27
-
28 24
 		<div class="list" style="margin-top: 10px">
29 25
 			<a-table :dataSource="tableData" :pagination="pagination" :columns="tableColumns">
30 26
 				<template #bodyCell="{ column, record }">
31
-					<template v-if="column.dataIndex === 'creditLevel'">
32
-						<div v-if="record.creditLevel == '1'">一级</div>
33
-						<div v-if="record.creditLevel == '2'">二级</div>
34
-						<div v-if="record.creditLevel == '3'">三级</div>
35
-					</template>
36 27
 					<template v-if="column.key === '操作'">
37 28
 						<a-button type="link" @click="onView('view', record)">查看</a-button>
38
-						<a-button type="link" @click="onView('edit', record)">编辑</a-button>
39
-						<a-popconfirm title="确定要删除吗?" @confirm="onView('del', record)">
40
-							<a-button type="link">删除</a-button>
41
-						</a-popconfirm>
42 29
 					</template>
43 30
 				</template>
44 31
 			</a-table>
@@ -46,74 +33,74 @@
46 33
 	</div>
47 34
 </template>
48 35
 <script setup name="sharing">
49
-	import { listPagination } from '@/hook/listlistPagination.js'
50
-	import { reactive, ref } from 'vue'
51
-	import business from '@/api/basic.info/verifyQuery.js'
52
-	import { useRouter } from 'vue-router'
53
-	import { defineComponent } from 'vue'
54
-	const formRef = ref(null)
55
-	const router = useRouter()
56
-	const tableColumns = [
57
-		{
58
-			title: '序号',
59
-			dataIndex: 'Index',
60
-			align: 'center',
61
-			customRender: ({ text, record, index }) => {
62
-				return `${index + 1}`
63
-			}
64
-		},
65
-		{ title: '企业名称', align: 'center', dataIndex: 'unitName' },
66
-		{ title: '库区名称', align: 'center', dataIndex: 'dwdm' },
67
-		{ title: '结算金额', align: 'center', dataIndex: 'fddbr' },
68
-		{ title: '结算时间', align: 'center', dataIndex: 'creditLevel' },
69
-		{ title: '合同编号', align: 'center', dataIndex: 'updateTime' },
70
-		{ title: '操作', align: 'center', key: '操作' }
71
-	]
36
+import { listPagination } from '@/hook/listlistPagination.js'
37
+import { useRouter } from 'vue-router'
38
+import financialSupervisionApi from '@/api/financialSupervision.info/financialSupervision.js'
72 39
 
73
-	const { DEl, change, tableData, onSearch, handlePageChange, pagination, Search, onReset, SearchFormDel } =
74
-		listPagination({ unitName: '', fddbr: '' }, business.XYDAlist, business.XYDAXdel, { sortOrder: 'ASCEND' })
75
-	setTimeout(() => {
76
-		tableData.value = [{ 1: 1 }]
77
-	}, 1000)
78
-	// 查看表单数据
79
-	const onView = (record, row) => {
80
-		switch (record) {
81
-			case 'add':
82
-				router.push('/Arevenue/ARSalesDel?add')
83
-				break
84
-			case 'del':
85
-				DEl(row)
86
-				break
87
-			case 'view':
88
-				router.push(`/Arevenue/ARSalesDel?codeLJH=${true}&id=${row.id}`)
89
-				break
90
-			case 'edit':
91
-				router.push(`/Arevenue/ARSalesDel?codeLJH=1&id=${row.id}`)
92
-				break
93
-			default:
94
-				// router.push('/business/personnelDel')
95
-				break
40
+const router = useRouter()
41
+const tableColumns = [
42
+	{
43
+		title: '序号',
44
+		dataIndex: 'Index',
45
+		align: 'center',
46
+		customRender: ({ text, record, index }) => {
47
+			return `${index + 1}`
96 48
 		}
49
+	},
50
+	{ title: '标题', align: 'center', dataIndex: 'unitName' },
51
+	{ title: '企业名称', align: 'center', dataIndex: 'dwmc' },
52
+	{ title: '库区名称', align: 'center', dataIndex: 'orgName' },
53
+	{ title: '上报时间', align: 'center', dataIndex: 'reportTime' },
54
+	{ title: '操作', align: 'center', key: '操作' }
55
+]
56
+
57
+const { DEl, change, tableData, onSearch, handlePageChange, pagination, Search, onReset, SearchFormDel } =
58
+	listPagination(
59
+		{ orgName: '', dwmc: '' },
60
+		financialSupervisionApi.fsSaleRevenuePage,
61
+		financialSupervisionApi.fsSaleRevenueDetail,
62
+		{
63
+			sortOrder: 'ASCEND'
64
+		}
65
+	)
66
+// 查看表单数据
67
+const onView = (record, row) => {
68
+	switch (record) {
69
+		case 'add':
70
+			router.push('/Arevenue/ARSalesDel?add')
71
+			break
72
+		case 'del':
73
+			DEl(row)
74
+			break
75
+		case 'view':
76
+			router.push(`/Arevenue/ARSalesDel?codeLJH=${true}&id=${row.id}`)
77
+			break
78
+		case 'edit':
79
+			router.push(`/Arevenue/ARSalesDel?codeLJH=1&id=${row.id}`)
80
+			break
81
+		default:
82
+			break
97 83
 	}
84
+}
98 85
 </script>
99 86
 <style lang="less" scoped>
100
-	.search {
101
-		padding-top: 20px;
102
-		// padding-left: 50px;
103
-		margin-bottom: 32px;
104
-		.btnBox {
105
-			width: 100%;
106
-			display: inline-block;
107
-			display: flex;
108
-			justify-content: space-around;
109
-			align-items: center;
110
-			.primarySele {
111
-				margin-left: 20px;
112
-				margin-right: 20px;
113
-			}
114
-		}
115
-	}
116
-	.silt-title {
87
+.search {
88
+	padding-top: 20px;
89
+	// padding-left: 50px;
90
+	margin-bottom: 32px;
91
+	.btnBox {
92
+		width: 100%;
93
+		display: inline-block;
117 94
 		display: flex;
95
+		justify-content: space-around;
96
+		align-items: center;
97
+		.primarySele {
98
+			margin-left: 20px;
99
+			margin-right: 20px;
100
+		}
118 101
 	}
102
+}
103
+.silt-title {
104
+	display: flex;
105
+}
119 106
 </style>

Різницю між файлами не показано, бо вона завелика
+ 799 - 420
src/views/Arevenue/Averification/AverificationDel.vue


+ 180 - 0
src/views/Arevenue/Averification/form.vue

@@ -0,0 +1,180 @@
1
+<template>
2
+	<div>
3
+		<a-modal
4
+			class="btn-box"
5
+			v-model:visible="visible"
6
+			width="80%"
7
+			:footer="null"
8
+			:maskClosable="false"
9
+			:title="titleText"
10
+			@ok="isClose"
11
+		>
12
+			<a-row>
13
+				<a-col :span="24">
14
+					<a-table
15
+						:dataSource="crkList"
16
+						:row-key="(record) => record.key"
17
+						:pagination="false"
18
+						@change="onChangePage"
19
+						bordered
20
+						:columns="columns"
21
+					>
22
+						<template #summary>
23
+							<a-table-summary-row>
24
+								<a-table-summary-cell class="tc">合计</a-table-summary-cell>
25
+								<a-table-summary-cell>
26
+									<a-typography-text class="tc"></a-typography-text>
27
+								</a-table-summary-cell>
28
+								<a-table-summary-cell> <a-typography-text class="tc"></a-typography-text> </a-table-summary-cell
29
+								><a-table-summary-cell>
30
+									<a-typography-text class="tc"></a-typography-text>
31
+								</a-table-summary-cell>
32
+								<a-table-summary-cell>
33
+									<a-typography-text class="tc">{{ summary.totalMz }}</a-typography-text>
34
+								</a-table-summary-cell>
35
+								<a-table-summary-cell>
36
+									<a-typography-text class="tc">{{ summary.totalPz }}</a-typography-text>
37
+								</a-table-summary-cell>
38
+								<a-table-summary-cell>
39
+									<a-typography-text class="tc">{{ summary.totalKl }}</a-typography-text>
40
+								</a-table-summary-cell>
41
+								<a-table-summary-cell>
42
+									<a-typography-text class="tc"></a-typography-text>
43
+								</a-table-summary-cell>
44
+							</a-table-summary-row>
45
+						</template>
46
+					</a-table>
47
+				</a-col>
48
+			</a-row>
49
+		</a-modal>
50
+	</div>
51
+</template>
52
+
53
+<script setup>
54
+import { message } from 'ant-design-vue'
55
+import financialSupervisionApi from '@/api/financialSupervision.info/financialSupervision.js'
56
+const columns = [
57
+	{
58
+		title: '合同编号',
59
+		dataIndex: 'htbh',
60
+		align: 'center',
61
+		key: 'htbh'
62
+	},
63
+	{
64
+		title: '仓房名称',
65
+		dataIndex: 'storehouseName',
66
+		align: 'center',
67
+		key: 'storehouseName'
68
+	},
69
+	{
70
+		title: '货位名称',
71
+		dataIndex: 'warehouseName',
72
+		align: 'center',
73
+		key: 'warehouseName'
74
+	},
75
+	{
76
+		title: '车牌号',
77
+		dataIndex: 'qcph',
78
+		align: 'center',
79
+		key: 'qcph'
80
+	},
81
+	{
82
+		title: '毛重',
83
+		dataIndex: 'mzzl',
84
+		align: 'center',
85
+		key: 'mzzl'
86
+	},
87
+	{
88
+		title: '皮重',
89
+		dataIndex: 'pz',
90
+		align: 'center',
91
+		key: 'pz'
92
+	},
93
+	{
94
+		title: '扣量',
95
+		dataIndex: 'bzwkl',
96
+		align: 'center',
97
+		key: 'bzwkl'
98
+	},
99
+	{
100
+		title: '出入库时间',
101
+		dataIndex: 'cpzsj',
102
+		align: 'center',
103
+		key: 'cpzsj'
104
+	}
105
+]
106
+const props = defineProps({
107
+	dataObj: {
108
+		type: Object,
109
+		default: () => {}
110
+	}
111
+})
112
+
113
+const visible = ref(false)
114
+const titleText = ref('')
115
+const formState = ref({})
116
+const emit = defineEmits(['isVisible'])
117
+const crkList = ref([])
118
+// 详情
119
+const detailData = (contractNumber) => {
120
+	financialSupervisionApi.getOutStorageDetailedBy(contractNumber).then((res) => {
121
+		crkList.value = res
122
+	})
123
+}
124
+
125
+const isClose = () => {
126
+	visible.value = false
127
+	emit('isVisible', false)
128
+	formState.value = {}
129
+}
130
+
131
+// 新增/查询/编辑控制器
132
+const flag = ref('')
133
+// 监听点击事件更新数据
134
+watch(
135
+	() => props.dataObj,
136
+	async (newValue, oldvalue) => {
137
+		formState.value = {}
138
+		await nextTick()
139
+		titleText.value = newValue.titleText
140
+		visible.value = newValue.visible
141
+		flag.value = newValue.flag
142
+		detailData(newValue.contractNumber)
143
+	},
144
+	{ deep: true }
145
+)
146
+
147
+const summary = computed(() => {
148
+	let totalMz = 0
149
+	let totalPz = 0
150
+	let totalKl = 0
151
+	crkList.value.forEach(({ mzzl, pz, bzwkl }) => {
152
+		totalMz += Number(mzzl)
153
+		totalPz += Number(pz)
154
+		totalKl += Number(bzwkl)
155
+	})
156
+	return { totalMz, totalPz, totalKl }
157
+})
158
+
159
+onMounted(() => {})
160
+</script>
161
+<style lang="less" scoped>
162
+.btn-box {
163
+	text-align: center;
164
+	width: 100%;
165
+	display: flex;
166
+	justify-content: center;
167
+	align-items: center;
168
+	button {
169
+		margin: 0 50px;
170
+		width: 100px;
171
+		border-radius: 5px;
172
+	}
173
+}
174
+
175
+.tc {
176
+	display: flex;
177
+	justify-content: center;
178
+	align-items: center;
179
+}
180
+</style>

+ 66 - 79
src/views/Arevenue/Averification/index.vue

@@ -1,4 +1,5 @@
1 1
 <template>
2
+	<!-- 销售收入核定 -->
2 3
 	<div class="pricemoitorrecord">
3 4
 		<a-card :bordered="false">
4 5
 			<a-space class="search">
@@ -6,21 +7,17 @@
6 7
 					<span style="width: 70px; margin-right: 8px; text-align: right; display: block; line-height: 30px">
7 8
 						企业名称
8 9
 					</span>
9
-					<a-input style="width: 220px" v-model:value="SearchFormDel.unitName" placeholder="请输入" />
10
+					<a-input style="width: 220px" v-model:value="SearchFormDel.dwmc" placeholder="请输入" />
10 11
 				</div>
11 12
 				<div class="silt-title">
12 13
 					<span style="width: 70px; margin-right: 8px; text-align: right; display: block; line-height: 30px">
13 14
 						库区名称
14 15
 					</span>
15
-					<a-input style="width: 220px" v-model:value="SearchFormDel.unitName" placeholder="请输入" />
16
-					<!-- <a-select style="width: 220px" v-model:value="SearchFormDel.unitName">
17
-						<a-select-option :value="1">1</a-select-option>
18
-					</a-select> -->
16
+					<a-input style="width: 220px" v-model:value="SearchFormDel.orgName" placeholder="请输入" />
19 17
 				</div>
20 18
 				<div class="btnBox">
21 19
 					<a-button type="primary" class="primarySele" @click="Search"> 查询 </a-button>
22 20
 					<a-button class="primarySele snowy-buttom-left" @click="onReset"> 重置 </a-button>
23
-					<a-button type="primary" class="primarySele" @click="onView('add', {})"> 新增 </a-button>
24 21
 				</div>
25 22
 			</a-space>
26 23
 		</a-card>
@@ -28,17 +25,9 @@
28 25
 		<div class="list" style="margin-top: 10px">
29 26
 			<a-table :dataSource="tableData" :pagination="pagination" :columns="tableColumns">
30 27
 				<template #bodyCell="{ column, record }">
31
-					<template v-if="column.dataIndex === 'creditLevel'">
32
-						<div v-if="record.creditLevel == '1'">一级</div>
33
-						<div v-if="record.creditLevel == '2'">二级</div>
34
-						<div v-if="record.creditLevel == '3'">三级</div>
35
-					</template>
36 28
 					<template v-if="column.key === '操作'">
37 29
 						<a-button type="link" @click="onView('view', record)">查看</a-button>
38
-						<a-button type="link" @click="onView('edit', record)">编辑</a-button>
39
-						<a-popconfirm title="确定要删除吗?" @confirm="onView('del', record)">
40
-							<a-button type="link">删除</a-button>
41
-						</a-popconfirm>
30
+						<a-button type="link" @click="onView('edit', record)">修改</a-button>
42 31
 					</template>
43 32
 				</template>
44 33
 			</a-table>
@@ -46,74 +35,72 @@
46 35
 	</div>
47 36
 </template>
48 37
 <script setup name="sharing">
49
-	import { listPagination } from '@/hook/listlistPagination.js'
50
-	import { reactive, ref } from 'vue'
51
-	import business from '@/api/basic.info/verifyQuery.js'
52
-	import { useRouter } from 'vue-router'
53
-	import { defineComponent } from 'vue'
54
-	const formRef = ref(null)
55
-	const router = useRouter()
56
-	const tableColumns = [
57
-		{
58
-			title: '序号',
59
-			dataIndex: 'Index',
60
-			align: 'center',
61
-			customRender: ({ text, record, index }) => {
62
-				return `${index + 1}`
63
-			}
64
-		},
65
-		{ title: '企业名称', align: 'center', dataIndex: 'unitName' },
66
-		{ title: '库区名称', align: 'center', dataIndex: 'dwdm' },
67
-		{ title: '合同编号', align: 'center', dataIndex: 'updateTime' },
68
-		{ title: '结算金额', align: 'center', dataIndex: 'fddbr' },
69
-		{ title: '结算时间', align: 'center', dataIndex: 'creditLevel' },
70
-		{ title: '操作', align: 'center', key: '操作' }
71
-	]
72
-
73
-	const { DEl, change, tableData, onSearch, handlePageChange, pagination, Search, onReset, SearchFormDel } =
74
-		listPagination({ unitName: '', fddbr: '' }, business.XYDAlist, business.XYDAXdel, { sortOrder: 'ASCEND' })
75
-	setTimeout(() => {
76
-		tableData.value = [{ 1: 1 }]
77
-	}, 1000)
78
-	// 查看表单数据
79
-	const onView = (record, row) => {
80
-		switch (record) {
81
-			case 'add':
82
-				router.push('/Arevenue/AverificationDel?add')
83
-				break
84
-			case 'del':
85
-				DEl(row)
86
-				break
87
-			case 'view':
88
-				router.push(`/Arevenue/AverificationDel?codeLJH=${true}&id=${row.id}`)
89
-				break
90
-			case 'edit':
91
-				router.push(`/Arevenue/AverificationDel?codeLJH=1&id=${row.id}`)
92
-				break
93
-			default:
94
-				// router.push('/business/personnelDel')
95
-				break
38
+import { listPagination } from '@/hook/listlistPagination.js'
39
+import { useRouter } from 'vue-router'
40
+import financialSupervisionApi from '@/api/financialSupervision.info/financialSupervision.js'
41
+const router = useRouter()
42
+const tableColumns = [
43
+	{
44
+		title: '序号',
45
+		dataIndex: 'Index',
46
+		align: 'center',
47
+		customRender: ({ text, record, index }) => {
48
+			return `${index + 1}`
96 49
 		}
50
+	},
51
+	{ title: '企业名称', align: 'center', dataIndex: 'dwmc' },
52
+	{ title: '库区名称', align: 'center', dataIndex: 'orgName' },
53
+	{ title: '合同编号', align: 'center', dataIndex: 'contractNumber' },
54
+	{ title: '结算金额', align: 'center', dataIndex: 'moneyQuantity' },
55
+	{ title: '核定时间', align: 'center', dataIndex: 'updatedate' },
56
+	{ title: '操作', align: 'center', key: '操作' }
57
+]
58
+
59
+const { DEl, change, tableData, onSearch, handlePageChange, pagination, Search, onReset, SearchFormDel } =
60
+	listPagination({ orgName: '', dwmc: '' }, financialSupervisionApi.fsSaleRevenuePage, financialSupervisionApi.fsSaleRevenueDetail, {
61
+		sortOrder: 'ASCEND'
62
+	})
63
+// setTimeout(() => {
64
+// 	tableData.value = [{ 1: 1 }]
65
+// }, 1000)
66
+
67
+// 查看表单数据
68
+const onView = (record, row) => {
69
+	switch (record) {
70
+		case 'add':
71
+			router.push('/Arevenue/AverificationDel?add')
72
+			break
73
+		case 'del':
74
+			DEl(row)
75
+			break
76
+		case 'view':
77
+			router.push(`/Arevenue/AverificationDel?codeLJH=${true}&id=${row.id}`)
78
+			break
79
+		case 'edit':
80
+			router.push(`/Arevenue/AverificationDel?codeLJH=1&id=${row.id}`)
81
+			break
82
+		default:
83
+			break
97 84
 	}
85
+}
98 86
 </script>
99 87
 <style lang="less" scoped>
100
-	.search {
101
-		padding-top: 20px;
102
-		// padding-left: 50px;
103
-		margin-bottom: 32px;
104
-		.btnBox {
105
-			width: 100%;
106
-			display: inline-block;
107
-			display: flex;
108
-			justify-content: space-around;
109
-			align-items: center;
110
-			.primarySele {
111
-				margin-left: 20px;
112
-				margin-right: 20px;
113
-			}
114
-		}
115
-	}
116
-	.silt-title {
88
+.search {
89
+	padding-top: 20px;
90
+	margin-bottom: 32px;
91
+	.btnBox {
92
+		width: 100%;
93
+		display: inline-block;
117 94
 		display: flex;
95
+		justify-content: space-around;
96
+		align-items: center;
97
+		.primarySele {
98
+			margin-left: 20px;
99
+			margin-right: 20px;
100
+		}
118 101
 	}
102
+}
103
+.silt-title {
104
+	display: flex;
105
+}
119 106
 </style>