|
@@ -1,71 +1,72 @@
|
1
|
1
|
<template>
|
2
|
2
|
<div class="p-2">
|
3
|
3
|
<el-dialog v-model="dialog.visible" :title="dialog.title" width="1200px" :draggable="draggable">
|
4
|
|
- <el-form ref="formRef" :inline="true" v-loading="formLoading" :model="formData" :rules="formRules" label-width="80px">
|
|
4
|
+ <el-form ref="formRef" v-loading="formLoading" :inline="true" :model="formData" :rules="formRules" label-width="110px">
|
5
|
5
|
<el-form-item label="补助名称" prop="subsidyName">
|
6
|
6
|
<el-input v-model="formData.subsidyName" placeholder="请输入补助名称" />
|
7
|
7
|
</el-form-item>
|
8
|
8
|
<el-form-item label="补助类型" prop="subsidyType">
|
9
|
9
|
<el-select v-model="formData.subsidyType" placeholder="请选择补助类型">
|
10
|
|
- <el-option
|
11
|
|
- v-for="dict in SUBTYPE"
|
12
|
|
- :key="dict.value"
|
13
|
|
- :label="dict.label"
|
14
|
|
- :value="dict.value"
|
15
|
|
- ></el-option>
|
|
10
|
+ <el-option v-for="dict in SUBTYPE" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
|
16
|
11
|
</el-select>
|
17
|
12
|
</el-form-item>
|
18
|
13
|
<el-form-item label="补助金额" prop="fillMoney">
|
19
|
14
|
<el-input v-model="formData.fillMoney" placeholder="请输入补助金额" />
|
20
|
15
|
</el-form-item>
|
21
|
|
- <el-form-item label="预计到账时间" prop="fillDate" label-width="108px">
|
|
16
|
+ <el-form-item label="预计到账时间" prop="fillDate" label-width="120px">
|
22
|
17
|
<el-date-picker v-model="formData.fillDate" clearable type="date" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择预计到账时间">
|
23
|
18
|
</el-date-picker>
|
24
|
19
|
</el-form-item>
|
25
|
20
|
<el-form-item label="入账钱包" prop="bagCode">
|
26
|
21
|
<el-select v-model="formData.bagCode" placeholder="请选择入账钱包">
|
27
|
|
- <el-option
|
28
|
|
- v-for="dict in CARDBAGTYPE"
|
29
|
|
- :key="dict.value"
|
30
|
|
- :label="dict.label"
|
31
|
|
- :value="parseInt(dict.value)"
|
32
|
|
- ></el-option>
|
|
22
|
+ <el-option v-for="dict in CARDBAGTYPE" :key="dict.value" :label="dict.label" :value="parseInt(dict.value)"></el-option>
|
33
|
23
|
</el-select>
|
34
|
24
|
</el-form-item>
|
35
|
25
|
<el-form-item label="补助说明" prop="remark">
|
36
|
26
|
<el-input v-model="formData.remark" placeholder="请输入补助说明" />
|
37
|
27
|
</el-form-item>
|
38
|
28
|
</el-form>
|
39
|
|
- <el-divider/>
|
|
29
|
+ <el-divider />
|
40
|
30
|
|
41
|
31
|
<el-form ref="queryFormRef" :model="itemQuery" :inline="true" label-width="80px" class="-mb-15px">
|
42
|
|
- <el-form-item label="人员名称" prop="realName">
|
43
|
|
- <el-input v-model="itemQuery.realName" placeholder="请输入人员姓名" clearable style="width: 240px" @keyup.enter="handleQuery" />
|
44
|
|
- </el-form-item>
|
45
|
|
- <el-form-item label="部门名称" prop="deptName">
|
46
|
|
- <el-input v-model="itemQuery.deptName" placeholder="请输入部门姓名" clearable style="width: 240px" @keyup.enter="handleQuery" />
|
47
|
|
- </el-form-item>
|
48
|
|
- <el-form-item>
|
49
|
|
- <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
50
|
|
- <el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
51
|
|
- </el-form-item>
|
52
|
|
- <el-form-item>
|
53
|
|
- <el-button v-if="visible" v-hasPermi="['subsidy:ptSubsidy:add']" type="primary" plain icon="Plus" @click="openWindowDailog()">新增</el-button>
|
54
|
|
- <el-button v-if="visible" v-hasPermi="['subsidy:ptSubsidy:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">删除</el-button>
|
55
|
|
- </el-form-item>
|
|
32
|
+ <el-form-item label="人员名称" prop="realName">
|
|
33
|
+ <el-input v-model="itemQuery.realName" placeholder="请输入人员姓名" clearable style="width: 240px" @keyup.enter="handleQuery" />
|
|
34
|
+ </el-form-item>
|
|
35
|
+ <el-form-item label="部门名称" prop="deptName">
|
|
36
|
+ <el-input v-model="itemQuery.deptName" placeholder="请输入部门姓名" clearable style="width: 240px" @keyup.enter="handleQuery" />
|
|
37
|
+ </el-form-item>
|
|
38
|
+ <el-form-item>
|
|
39
|
+ <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
40
|
+ <el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
41
|
+ </el-form-item>
|
|
42
|
+ <el-form-item>
|
|
43
|
+ <el-button v-if="visible" v-hasPermi="['subsidy:ptSubsidy:add']" type="primary" plain icon="Plus" @click="openWindowDailog()"
|
|
44
|
+ >新增</el-button
|
|
45
|
+ >
|
|
46
|
+ <el-button
|
|
47
|
+ v-if="visible"
|
|
48
|
+ v-hasPermi="['subsidy:ptSubsidy:remove']"
|
|
49
|
+ type="danger"
|
|
50
|
+ plain
|
|
51
|
+ icon="Delete"
|
|
52
|
+ :disabled="multiple"
|
|
53
|
+ @click="handleDelete()"
|
|
54
|
+ >删除</el-button
|
|
55
|
+ >
|
|
56
|
+ </el-form-item>
|
56
|
57
|
</el-form>
|
57
|
58
|
|
58
|
|
- <br><br>
|
|
59
|
+ <br /><br />
|
59
|
60
|
<el-table v-loading="loading" :data="formData.ptSubsidyItemList" @selection-change="handleSelectionChange">
|
60
|
61
|
<el-table-column type="selection" width="35" align="center" />
|
61
|
|
- <el-table-column type="index" width="50" label="序号"/>
|
|
62
|
+ <el-table-column type="index" width="70" label="序号" />
|
62
|
63
|
<el-table-column v-if="false" label="ID" align="center" prop="itemId" />
|
63
|
64
|
<el-table-column v-if="false" label="mainId" align="center" prop="mainId" />
|
64
|
65
|
<el-table-column label="工号" align="center" prop="userNumb" />
|
65
|
66
|
<el-table-column label="姓名" align="center" prop="realName" />
|
66
|
67
|
<el-table-column label="部门" align="center" prop="deptName" />
|
67
|
68
|
<el-table-column label="补助金额" align="center" prop="fillMoney" />
|
68
|
|
- <el-table-column label="到账日期" align="center" prop="fillDate" >
|
|
69
|
+ <el-table-column label="到账日期" align="center" prop="fillDate">
|
69
|
70
|
<template #default="scope">
|
70
|
71
|
<span>{{ parseTime(scope.row.fillDate, '{y}-{m}-{d}') }}</span>
|
71
|
72
|
</template>
|
|
@@ -88,7 +89,7 @@
|
88
|
89
|
import * as PtSubsidyApi from '@/api/cardCenter/subsidy/ptSubsidy';
|
89
|
90
|
import * as PtSubsidyItemApi from '@/api/cardCenter/subsidy/ptSubsidyitem';
|
90
|
91
|
import { PtSubsidyForm } from '@/api/cardCenter/subsidy/ptSubsidy/types';
|
91
|
|
-import { PtSubsidyitemVO} from '@/api/cardCenter/subsidy/ptSubsidyitem/types';
|
|
92
|
+import { PtSubsidyitemVO } from '@/api/cardCenter/subsidy/ptSubsidyitem/types';
|
92
|
93
|
import { useI18n } from 'vue-i18n';
|
93
|
94
|
|
94
|
95
|
defineOptions({ name: 'PtSubsidyForm' });
|
|
@@ -128,7 +129,7 @@ const formData = ref<PtSubsidyForm>({
|
128
|
129
|
auditUser: undefined,
|
129
|
130
|
auditDate: undefined,
|
130
|
131
|
remark: '',
|
131
|
|
- ptSubsidyItemList: [],
|
|
132
|
+ ptSubsidyItemList: []
|
132
|
133
|
});
|
133
|
134
|
// 表单校验规则
|
134
|
135
|
const formRules = reactive({
|
|
@@ -137,7 +138,7 @@ const formRules = reactive({
|
137
|
138
|
subsidyType: [{ required: true, message: '补助类型不能为空', trigger: 'change' }],
|
138
|
139
|
fillMoney: [{ required: true, message: '补助金额不能为空', trigger: 'blur' }],
|
139
|
140
|
fillDate: [{ required: true, message: '预计到账时间不能为空', trigger: 'blur' }],
|
140
|
|
- bagCode: [{ required: true, message: '入账钱包不能为空', trigger: 'change' }],
|
|
141
|
+ bagCode: [{ required: true, message: '入账钱包不能为空', trigger: 'change' }]
|
141
|
142
|
});
|
142
|
143
|
|
143
|
144
|
/** 当前组件方法 */
|
|
@@ -164,7 +165,6 @@ const open = async (type: string, id?: number, isEdit?: boolean) => {
|
164
|
165
|
};
|
165
|
166
|
/** 表单重置 */
|
166
|
167
|
const resetForm = () => {
|
167
|
|
-
|
168
|
168
|
formData.value = {
|
169
|
169
|
mainId: undefined,
|
170
|
170
|
subsidyName: PtSubsidyApi.getSubsidyName(),
|
|
@@ -177,7 +177,7 @@ const resetForm = () => {
|
177
|
177
|
auditUser: undefined,
|
178
|
178
|
auditDate: undefined,
|
179
|
179
|
remark: '',
|
180
|
|
- ptSubsidyItemList: [],
|
|
180
|
+ ptSubsidyItemList: []
|
181
|
181
|
};
|
182
|
182
|
formRef.value?.resetFields();
|
183
|
183
|
};
|
|
@@ -190,7 +190,7 @@ const emit = defineEmits(['success']);
|
190
|
190
|
/** 提交按钮 */
|
191
|
191
|
const submitForm = async () => {
|
192
|
192
|
// 校验表单
|
193
|
|
- if (!formRef) return;
|
|
193
|
+ if (!formRef.value) return;
|
194
|
194
|
const valid = await formRef.value?.validate();
|
195
|
195
|
if (!valid) return;
|
196
|
196
|
// 提交请求
|
|
@@ -225,16 +225,16 @@ const multiple = ref(true);
|
225
|
225
|
const total = ref(0);
|
226
|
226
|
//查询补助明细列表
|
227
|
227
|
const itemQuery = reactive({
|
228
|
|
- pageNum: 1,
|
229
|
|
- pageSize: 10,
|
230
|
|
- mainId: undefined,
|
231
|
|
- realName: undefined,
|
232
|
|
- deptName: undefined,
|
233
|
|
- params: {}
|
234
|
|
- });
|
|
228
|
+ pageNum: 1,
|
|
229
|
+ pageSize: 10,
|
|
230
|
+ mainId: undefined,
|
|
231
|
+ realName: undefined,
|
|
232
|
+ deptName: undefined,
|
|
233
|
+ params: {}
|
|
234
|
+});
|
235
|
235
|
const getList = async () => {
|
236
|
236
|
loading.value = true;
|
237
|
|
- if(itemQuery.mainId){
|
|
237
|
+ if (itemQuery.mainId) {
|
238
|
238
|
const res = await PtSubsidyItemApi.listPtSubsidyitem(itemQuery);
|
239
|
239
|
formData.value.ptSubsidyItemList = res.rows;
|
240
|
240
|
total.value = res.total;
|
|
@@ -275,16 +275,16 @@ import UserAccountSelect from '@/components/UserAccountSelect/index.vue';
|
275
|
275
|
|
276
|
276
|
/**新增按钮弹窗 */
|
277
|
277
|
const userAccountSelect = ref();
|
278
|
|
-const openWindowDailog = () =>{
|
|
278
|
+const openWindowDailog = () => {
|
279
|
279
|
userAccountSelect.value.open('选择发放补助人员', formData.value.ptSubsidyItemList);
|
280
|
|
-}
|
|
280
|
+};
|
281
|
281
|
|
282
|
282
|
const selectUser = (data) => {
|
283
|
|
- formData.value.ptSubsidyItemList = data
|
284
|
|
- console.log(formData.value.ptSubsidyItemList)
|
285
|
|
- formData.value.ptSubsidyItemList.forEach(e => {
|
286
|
|
- e.fillMoney = formData.value.fillMoney
|
287
|
|
- e.fillDate = formData.value.fillDate
|
|
283
|
+ formData.value.ptSubsidyItemList = data;
|
|
284
|
+ console.log(formData.value.ptSubsidyItemList);
|
|
285
|
+ formData.value.ptSubsidyItemList.forEach((e) => {
|
|
286
|
+ e.fillMoney = formData.value.fillMoney;
|
|
287
|
+ e.fillDate = formData.value.fillDate;
|
288
|
288
|
});
|
289
|
289
|
};
|
290
|
290
|
|