Commit 86e3da68a534ae8518f2f070f819d12477b2c331
1 parent
0e074a95
修改审核bug
Showing
16 changed files
with
158 additions
and
60 deletions
src/views/project/approve/PayPanel.vue
@@ -183,15 +183,11 @@ | @@ -183,15 +183,11 @@ | ||
183 | }, | 183 | }, |
184 | { | 184 | { |
185 | title: '生产科', | 185 | title: '生产科', |
186 | - dataIndex: 'productionDepartment', | 186 | + dataIndex: 'productionName', |
187 | width: 150, | 187 | width: 150, |
188 | customRender: (column) => { | 188 | customRender: (column) => { |
189 | const { record } = column || {}; | 189 | const { record } = column || {}; |
190 | - if (record?.type === 40) { | ||
191 | - return record?.fieldInfos?.checkBillOrderDO?.deductDept; | ||
192 | - } else if (record?.type == 50) { | ||
193 | - return record?.fieldInfos?.checkBillOrderDO?.productionName; | ||
194 | - } | 190 | + return record?.fieldInfos?.checkBillOrderDO?.productionName; |
195 | }, | 191 | }, |
196 | }, | 192 | }, |
197 | ]; | 193 | ]; |
@@ -248,6 +244,7 @@ | @@ -248,6 +244,7 @@ | ||
248 | } | 244 | } |
249 | } | 245 | } |
250 | function handleEdit(record, e) { | 246 | function handleEdit(record, e) { |
247 | + // console.log(record, '56565re'); | ||
251 | e?.stopPropagation(); | 248 | e?.stopPropagation(); |
252 | return false; | 249 | return false; |
253 | } | 250 | } |
@@ -259,6 +256,7 @@ | @@ -259,6 +256,7 @@ | ||
259 | showInvoice.value = true; | 256 | showInvoice.value = true; |
260 | } | 257 | } |
261 | openModal(true, { data }); | 258 | openModal(true, { data }); |
259 | + id.value = data.id; | ||
262 | itemArray.value = []; | 260 | itemArray.value = []; |
263 | mockData.value = data.fieldInfos.checkBillOrderDO; | 261 | mockData.value = data.fieldInfos.checkBillOrderDO; |
264 | const match = mockData.value.invoiceUrl.match(/aliyuncs\.com\/(.*?)\?/); | 262 | const match = mockData.value.invoiceUrl.match(/aliyuncs\.com\/(.*?)\?/); |
@@ -268,7 +266,6 @@ | @@ -268,7 +266,6 @@ | ||
268 | } else { | 266 | } else { |
269 | mockData.value.invoiceName = mockData.value.invoiceUrl; | 267 | mockData.value.invoiceName = mockData.value.invoiceUrl; |
270 | } | 268 | } |
271 | - id.value = data.id; | ||
272 | } | 269 | } |
273 | 270 | ||
274 | async function handleTrue() { | 271 | async function handleTrue() { |
src/views/project/config/costCreate.vue
@@ -107,7 +107,6 @@ | @@ -107,7 +107,6 @@ | ||
107 | relationValue.value[0].relationValue = fixCost.value; | 107 | relationValue.value[0].relationValue = fixCost.value; |
108 | relationValue.value[1].relationValue = ratio.value; | 108 | relationValue.value[1].relationValue = ratio.value; |
109 | relationValue.value[2].relationValue = spainRatio.value; | 109 | relationValue.value[2].relationValue = spainRatio.value; |
110 | - relationValue.value[3].relationValue = price.value; | ||
111 | await addConfig({ | 110 | await addConfig({ |
112 | settingCode: 'customerCode', | 111 | settingCode: 'customerCode', |
113 | settingName: '客户提成成本配置', | 112 | settingName: '客户提成成本配置', |
src/views/project/config/costEdit.vue
@@ -39,14 +39,12 @@ | @@ -39,14 +39,12 @@ | ||
39 | fixCost.value = relationValue.value[0].relationValue; | 39 | fixCost.value = relationValue.value[0].relationValue; |
40 | ratio.value = relationValue.value[1].relationValue; | 40 | ratio.value = relationValue.value[1].relationValue; |
41 | spainRatio.value = relationValue.value[2].relationValue; | 41 | spainRatio.value = relationValue.value[2].relationValue; |
42 | - price.value = relationValue.value[3].relationValue; | ||
43 | }); | 42 | }); |
44 | //获取现有的列表 | 43 | //获取现有的列表 |
45 | const listAll = ref(); | 44 | const listAll = ref(); |
46 | const fixCost = ref(); | 45 | const fixCost = ref(); |
47 | const ratio = ref(); | 46 | const ratio = ref(); |
48 | const spainRatio = ref(); | 47 | const spainRatio = ref(); |
49 | - const price = ref(); | ||
50 | const relationValue = ref(); | 48 | const relationValue = ref(); |
51 | 49 | ||
52 | //完成编辑 | 50 | //完成编辑 |
@@ -54,7 +52,6 @@ | @@ -54,7 +52,6 @@ | ||
54 | relationValue.value[0].relationValue = fixCost.value; | 52 | relationValue.value[0].relationValue = fixCost.value; |
55 | relationValue.value[1].relationValue = ratio.value; | 53 | relationValue.value[1].relationValue = ratio.value; |
56 | relationValue.value[2].relationValue = spainRatio.value; | 54 | relationValue.value[2].relationValue = spainRatio.value; |
57 | - relationValue.value[3].relationValue = price.value; | ||
58 | console.log(relationValue.value, '5656relationValue.value'); | 55 | console.log(relationValue.value, '5656relationValue.value'); |
59 | await saveConfig({ | 56 | await saveConfig({ |
60 | id: listAll.value.id, | 57 | id: listAll.value.id, |
src/views/project/finance/pay/FinanceEdit.vue
@@ -49,6 +49,9 @@ | @@ -49,6 +49,9 @@ | ||
49 | span: 23, | 49 | span: 23, |
50 | }, | 50 | }, |
51 | label: '实际应付金额1¥', | 51 | label: '实际应付金额1¥', |
52 | + componentProps: () => ({ | ||
53 | + disabled: status.value === 10, | ||
54 | + }), | ||
52 | }, | 55 | }, |
53 | { | 56 | { |
54 | field: 'actualPayedAmount2', | 57 | field: 'actualPayedAmount2', |
@@ -58,6 +61,9 @@ | @@ -58,6 +61,9 @@ | ||
58 | span: 23, | 61 | span: 23, |
59 | }, | 62 | }, |
60 | label: '实际应付金额2¥', | 63 | label: '实际应付金额2¥', |
64 | + componentProps: () => ({ | ||
65 | + disabled: status.value === 10, | ||
66 | + }), | ||
61 | }, | 67 | }, |
62 | { | 68 | { |
63 | field: 'actualPayedAmount3', | 69 | field: 'actualPayedAmount3', |
@@ -67,6 +73,9 @@ | @@ -67,6 +73,9 @@ | ||
67 | span: 23, | 73 | span: 23, |
68 | }, | 74 | }, |
69 | label: '实际应付金额3¥', | 75 | label: '实际应付金额3¥', |
76 | + componentProps: () => ({ | ||
77 | + disabled: status.value === 10, | ||
78 | + }), | ||
70 | }, | 79 | }, |
71 | ]; | 80 | ]; |
72 | const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({ | 81 | const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({ |
@@ -80,9 +89,11 @@ | @@ -80,9 +89,11 @@ | ||
80 | }); | 89 | }); |
81 | 90 | ||
82 | const update = ref(); | 91 | const update = ref(); |
92 | + const status = ref(); | ||
83 | const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { | 93 | const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { |
84 | // 方式1 | 94 | // 方式1 |
85 | resetFields(); | 95 | resetFields(); |
96 | + status.value = data.data.status; | ||
86 | setDrawerProps({ confirmLoading: false }); | 97 | setDrawerProps({ confirmLoading: false }); |
87 | setFieldsValue({ | 98 | setFieldsValue({ |
88 | ...toRaw(data.data), | 99 | ...toRaw(data.data), |
src/views/project/finance/pay/InvoiceUpload.vue
@@ -15,6 +15,7 @@ | @@ -15,6 +15,7 @@ | ||
15 | :action="updateInvoiceUrl" | 15 | :action="updateInvoiceUrl" |
16 | @change="handleChange" | 16 | @change="handleChange" |
17 | @drop="handleDrop" | 17 | @drop="handleDrop" |
18 | + :disabled="status === 10" | ||
18 | > | 19 | > |
19 | <p class="ant-upload-drag-icon"> | 20 | <p class="ant-upload-drag-icon"> |
20 | <inbox-outlined></inbox-outlined> | 21 | <inbox-outlined></inbox-outlined> |
@@ -36,8 +37,10 @@ | @@ -36,8 +37,10 @@ | ||
36 | const updateInvoiceUrl = ref('http://47.104.8.35:8081/api/localStorage/upload_file_oss?name='); | 37 | const updateInvoiceUrl = ref('http://47.104.8.35:8081/api/localStorage/upload_file_oss?name='); |
37 | const invoiceUrl = ref(); | 38 | const invoiceUrl = ref(); |
38 | const id = ref(); | 39 | const id = ref(); |
39 | - | 40 | + const status = ref(); |
40 | const [register, { closeModal }] = useModalInner(async (data) => { | 41 | const [register, { closeModal }] = useModalInner(async (data) => { |
42 | + console.log(data); | ||
43 | + status.value = data.data.status; | ||
41 | // fileList.value = []; | 44 | // fileList.value = []; |
42 | fileList.value = []; | 45 | fileList.value = []; |
43 | invoiceUrl.value = data.data.invoiceUrl; | 46 | invoiceUrl.value = data.data.invoiceUrl; |
src/views/project/finance/pay/TrackEdit.vue
@@ -8,16 +8,28 @@ | @@ -8,16 +8,28 @@ | ||
8 | :isDetail="true" | 8 | :isDetail="true" |
9 | @ok="handleSubmit" | 9 | @ok="handleSubmit" |
10 | :showDetailBack="false" | 10 | :showDetailBack="false" |
11 | + @visible-change="handleShow" | ||
11 | okText="保存" | 12 | okText="保存" |
12 | showFooter | 13 | showFooter |
13 | :destroyOnClose="true" | 14 | :destroyOnClose="true" |
14 | > | 15 | > |
15 | <div> | 16 | <div> |
16 | <div style="font-size: 15px">生产科扣款金额¥</div> | 17 | <div style="font-size: 15px">生产科扣款金额¥</div> |
17 | - <a-input v-model:value="input1" placeholder="请输入" auto-size /> | 18 | + <a-input v-model="input1" placeholder="请输入" :disabled="status === 10" auto-size /> |
18 | <div style="margin: 16px 0"></div> | 19 | <div style="margin: 16px 0"></div> |
19 | <div style="font-size: 15px">扣款责任部门</div> | 20 | <div style="font-size: 15px">扣款责任部门</div> |
20 | - <a-input v-model:value="deductDept" placeholder="请输入" auto-size /> | 21 | + <a-input |
22 | + v-model:value="deductDept" | ||
23 | + placeholder="请输入" | ||
24 | + :disabled="status === 10" | ||
25 | + auto-size | ||
26 | + /> | ||
27 | + <!-- <a-select | ||
28 | + ref="select" | ||
29 | + style="width: 60%" | ||
30 | + v-model:value="selectedProductionDepartment" | ||
31 | + :options="productionDepartmentOptions" | ||
32 | + /> --> | ||
21 | <div style="margin: 16px 0"></div> | 33 | <div style="margin: 16px 0"></div> |
22 | <div>上传扣款单</div | 34 | <div>上传扣款单</div |
23 | ><a-space direction="vertical" style="width: 100%" size="large"> | 35 | ><a-space direction="vertical" style="width: 100%" size="large"> |
@@ -26,6 +38,7 @@ | @@ -26,6 +38,7 @@ | ||
26 | :beforeUpload="beforeUpload" | 38 | :beforeUpload="beforeUpload" |
27 | list-type="picture" | 39 | list-type="picture" |
28 | :max-count="1" | 40 | :max-count="1" |
41 | + :disabled="status === 10" | ||
29 | :action="updateDeductUrl" | 42 | :action="updateDeductUrl" |
30 | @change="handleChange" | 43 | @change="handleChange" |
31 | > | 44 | > |
@@ -42,36 +55,49 @@ | @@ -42,36 +55,49 @@ | ||
42 | </template> | 55 | </template> |
43 | <script lang="ts" setup> | 56 | <script lang="ts" setup> |
44 | import { BasicDrawer, useDrawerInner } from '@/components/Drawer'; | 57 | import { BasicDrawer, useDrawerInner } from '@/components/Drawer'; |
45 | - import { defineComponent, ref, computed, unref, toRaw, reactive } from 'vue'; | 58 | + import { defineComponent, ref, computed, unref, toRaw, reactive, onMounted } from 'vue'; |
46 | import { getEmailList } from '/@/api/sys/config'; | 59 | import { getEmailList } from '/@/api/sys/config'; |
47 | import { UploadOutlined } from '@ant-design/icons-vue'; | 60 | import { UploadOutlined } from '@ant-design/icons-vue'; |
48 | import type { UploadProps } from 'ant-design-vue'; | 61 | import type { UploadProps } from 'ant-design-vue'; |
49 | import { updateDeductInfo } from '@/api/project/invoice'; | 62 | import { updateDeductInfo } from '@/api/project/invoice'; |
50 | import { useMessage } from '/@/hooks/web/useMessage'; | 63 | import { useMessage } from '/@/hooks/web/useMessage'; |
64 | + import { useOrderInfo } from '/@/hooks/component/order'; | ||
65 | + import { useOrderStoreWithOut } from '/@/store/modules/order'; | ||
51 | 66 | ||
52 | const emit = defineEmits(['success']); | 67 | const emit = defineEmits(['success']); |
53 | const fileList = ref<UploadProps['fileList']>([]); | 68 | const fileList = ref<UploadProps['fileList']>([]); |
69 | + // const orderStore = useOrderStoreWithOut(); | ||
70 | + // const { productionDepartment: productionDepartmentOptions } = useOrderInfo(orderStore); | ||
71 | + // console.log(productionDepartmentOptions.value, '565656565665orderStore'); | ||
72 | + // onMounted(() => { | ||
73 | + // const { productionDepartment } = useOrderInfo(orderStore); | ||
74 | + // console.log(productionDepartment.value, '565656565665orderStore1'); | ||
75 | + // }); | ||
54 | 76 | ||
55 | - const input1 = ref(); | 77 | + const input1 = ref(0); |
56 | const deductUrl = ref(); | 78 | const deductUrl = ref(); |
57 | const id = ref(); | 79 | const id = ref(); |
58 | const checkNo = ref(); | 80 | const checkNo = ref(); |
59 | - const deductDept = ref(); | 81 | + const deductDept = ref(''); |
60 | const uploadUrl = ref('http://47.104.8.35:8081/api/localStorage/upload_file_oss?name='); | 82 | const uploadUrl = ref('http://47.104.8.35:8081/api/localStorage/upload_file_oss?name='); |
61 | const updateDeductUrl = ref('http://47.104.8.35:8081/api/localStorage/upload_file_oss?name='); | 83 | const updateDeductUrl = ref('http://47.104.8.35:8081/api/localStorage/upload_file_oss?name='); |
62 | const deductUrlOld = ref(); | 84 | const deductUrlOld = ref(); |
85 | + const selectedProductionDepartment = ref(); // 新增: 用于存储选中的生产科 | ||
63 | const { createMessage } = useMessage(); | 86 | const { createMessage } = useMessage(); |
64 | const { error } = createMessage; | 87 | const { error } = createMessage; |
88 | + const status = ref(); | ||
65 | 89 | ||
66 | const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { | 90 | const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { |
91 | + console.log(data, '5656trackeditdata'); | ||
92 | + status.value = data.data.status; | ||
67 | id.value = data.data.id; | 93 | id.value = data.data.id; |
68 | checkNo.value = data.data.checkNo; | 94 | checkNo.value = data.data.checkNo; |
69 | input1.value = data.data.deductAmount; | 95 | input1.value = data.data.deductAmount; |
96 | + console.log(input1.value, '5656input1.value'); | ||
70 | deductDept.value = data.data.deductDept; | 97 | deductDept.value = data.data.deductDept; |
71 | deductUrl.value = data.data.deductUrl; | 98 | deductUrl.value = data.data.deductUrl; |
72 | deductUrlOld.value = data.data.deductUrl; | 99 | deductUrlOld.value = data.data.deductUrl; |
73 | }); | 100 | }); |
74 | - | ||
75 | function handleChange(info) { | 101 | function handleChange(info) { |
76 | if (info.file.status == 'done') { | 102 | if (info.file.status == 'done') { |
77 | updateDeductUrl.value = info.file.response.data.fileUrl; | 103 | updateDeductUrl.value = info.file.response.data.fileUrl; |
@@ -85,7 +111,13 @@ | @@ -85,7 +111,13 @@ | ||
85 | function beforeUpload(info) { | 111 | function beforeUpload(info) { |
86 | updateDeductUrl.value = uploadUrl.value + info.name; | 112 | updateDeductUrl.value = uploadUrl.value + info.name; |
87 | } | 113 | } |
88 | - | 114 | + function handleShow() { |
115 | + input1.value = ''; | ||
116 | + deductUrl.value = ''; | ||
117 | + deductDept.value = ''; | ||
118 | + updateDeductUrl.value = ''; | ||
119 | + fileList.value = []; | ||
120 | + } | ||
89 | //完成编辑 | 121 | //完成编辑 |
90 | async function handleSubmit() { | 122 | async function handleSubmit() { |
91 | if (!input1.value || deductUrl.value == '' || !deductDept.value) { | 123 | if (!input1.value || deductUrl.value == '' || !deductDept.value) { |
@@ -102,6 +134,7 @@ | @@ -102,6 +134,7 @@ | ||
102 | deductDept: deductDept.value, | 134 | deductDept: deductDept.value, |
103 | deductUrl: deductUrl.value, | 135 | deductUrl: deductUrl.value, |
104 | }); | 136 | }); |
137 | + // productionDepartment: selectedProductionDepartment.value, | ||
105 | fileList.value = []; | 138 | fileList.value = []; |
106 | emit('success'); | 139 | emit('success'); |
107 | closeDrawer(); | 140 | closeDrawer(); |
src/views/project/finance/pay/index.vue
1 | <template> | 1 | <template> |
2 | <div class="p-4"> | 2 | <div class="p-4"> |
3 | - <BasicTable @register="registerTable"> | 3 | + <BasicTable @register="registerTable" :pagination="{ pageSize: 20 }"> |
4 | <template #toolbar> | 4 | <template #toolbar> |
5 | <a-button | 5 | <a-button |
6 | type="primary" | 6 | type="primary" |
@@ -36,7 +36,12 @@ | @@ -36,7 +36,12 @@ | ||
36 | :dropDownActions="[ | 36 | :dropDownActions="[ |
37 | { | 37 | { |
38 | label: '提交审核', | 38 | label: '提交审核', |
39 | - onClick: handleCommit.bind(null, record), | 39 | + popConfirm: { |
40 | + title: '是否确认提交审核', | ||
41 | + placement: 'left', | ||
42 | + confirm: handleCommit.bind(null, record), | ||
43 | + }, | ||
44 | + // onClick: handleCommit.bind(null, record), | ||
40 | }, | 45 | }, |
41 | { | 46 | { |
42 | label: '订单信息', | 47 | label: '订单信息', |
@@ -44,7 +49,12 @@ | @@ -44,7 +49,12 @@ | ||
44 | }, | 49 | }, |
45 | { | 50 | { |
46 | label: '删除', | 51 | label: '删除', |
47 | - onClick: handleDelete.bind(null, record), | 52 | + popConfirm: { |
53 | + title: '是否确认删除', | ||
54 | + placement: 'left', | ||
55 | + confirm: handleDelete.bind(null, record), | ||
56 | + }, | ||
57 | + // onClick: handleDelete.bind(null, record), | ||
48 | }, | 58 | }, |
49 | { | 59 | { |
50 | label: '生产科发票', | 60 | label: '生产科发票', |
@@ -76,6 +86,7 @@ | @@ -76,6 +86,7 @@ | ||
76 | import { useModal } from '/@/components/Modal'; | 86 | import { useModal } from '/@/components/Modal'; |
77 | import { getCheck, checkDelete, checkCommit, checkDetail } from '@/api/project/invoice'; | 87 | import { getCheck, checkDelete, checkCommit, checkDetail } from '@/api/project/invoice'; |
78 | import { useMessage } from '/@/hooks/web/useMessage'; | 88 | import { useMessage } from '/@/hooks/web/useMessage'; |
89 | + import { getOrderList } from '/@/api/project/order'; | ||
79 | 90 | ||
80 | const [registerCheckSum, { openModal: openCheckSum }] = useModal(); | 91 | const [registerCheckSum, { openModal: openCheckSum }] = useModal(); |
81 | const [registerFinanceEdit, { openDrawer: openFinanceEdit }] = useDrawer(); | 92 | const [registerFinanceEdit, { openDrawer: openFinanceEdit }] = useDrawer(); |
@@ -85,7 +96,12 @@ | @@ -85,7 +96,12 @@ | ||
85 | const [registerInvoiceShow, { openModal: openInvoiceShow }] = useModal(); | 96 | const [registerInvoiceShow, { openModal: openInvoiceShow }] = useModal(); |
86 | const [registerInvoiceDetail, { openDrawer: openCheckDetail }] = useDrawer(); | 97 | const [registerInvoiceDetail, { openDrawer: openCheckDetail }] = useDrawer(); |
87 | const checkedKeys = ref<Array<string | number>>([]); | 98 | const checkedKeys = ref<Array<string | number>>([]); |
88 | - | 99 | + // 添加分页状态 |
100 | + const pagination = ref({ | ||
101 | + current: 1, // 当前页 | ||
102 | + pageSize: 10, // 每页条数 | ||
103 | + total: 0, // 数据总数 | ||
104 | + }); | ||
89 | const [registerTable, { reload }] = useTable({ | 105 | const [registerTable, { reload }] = useTable({ |
90 | title: '', | 106 | title: '', |
91 | api: getCheck, | 107 | api: getCheck, |
@@ -93,6 +109,9 @@ | @@ -93,6 +109,9 @@ | ||
93 | bordered: true, | 109 | bordered: true, |
94 | clickToRowSelect: false, | 110 | clickToRowSelect: false, |
95 | rowKey: 'id', | 111 | rowKey: 'id', |
112 | + pagination: { | ||
113 | + pageSize: 20, | ||
114 | + }, | ||
96 | rowSelection: { | 115 | rowSelection: { |
97 | type: 'checkbox', | 116 | type: 'checkbox', |
98 | selectedRowKeys: checkedKeys, | 117 | selectedRowKeys: checkedKeys, |
@@ -239,7 +258,6 @@ | @@ -239,7 +258,6 @@ | ||
239 | // 单选函数 | 258 | // 单选函数 |
240 | async function onSelect(record, selected: boolean) { | 259 | async function onSelect(record, selected: boolean) { |
241 | const res = await checkDetail({ checkNo: record.checkNo }); | 260 | const res = await checkDetail({ checkNo: record.checkNo }); |
242 | - console.log(res, '5656respau'); | ||
243 | const customerCode = res[0].customerCode; | 261 | const customerCode = res[0].customerCode; |
244 | const productionDepartment = res[0].productionDepartment; | 262 | const productionDepartment = res[0].productionDepartment; |
245 | 263 | ||
@@ -288,9 +306,9 @@ | @@ -288,9 +306,9 @@ | ||
288 | } | 306 | } |
289 | } | 307 | } |
290 | } | 308 | } |
291 | - console.log(checkedKeys.value, 565666666); // 输出当前的 selectedCustomCodes 值 | ||
292 | - console.log(selectedCustomCodes.value, 565666666); // 输出当前的 selectedCustomCodes 值 | ||
293 | - console.log(selectedProductionDepartment.value, 565666666); // 输出当前的 selectedCustomCodes 值 | 309 | + // console.log(checkedKeys.value, 565666666); // 输出当前的 selectedCustomCodes 值 |
310 | + // console.log(selectedCustomCodes.value, 565666666); // 输出当前的 selectedCustomCodes 值 | ||
311 | + // console.log(selectedProductionDepartment.value, 565666666); // 输出当前的 selectedCustomCodes 值 | ||
294 | } | 312 | } |
295 | 313 | ||
296 | // 全选函数 | 314 | // 全选函数 |
@@ -368,9 +386,9 @@ | @@ -368,9 +386,9 @@ | ||
368 | }); | 386 | }); |
369 | } | 387 | } |
370 | 388 | ||
371 | - console.log(checkedKeys.value, 565666666); // 输出当前的 selectedCustomCodes 值 | ||
372 | - console.log(selectedCustomCodes.value, 565666666); // 输出当前的 selectedCustomCodes 值 | ||
373 | - console.log(selectedProductionDepartment.value, 565666666); // 输出当前的 selectedCustomCodes 值 | 389 | + // console.log(checkedKeys.value, 565666666); // 输出当前的 selectedCustomCodes 值 |
390 | + // console.log(selectedCustomCodes.value, 565666666); // 输出当前的 selectedCustomCodes 值 | ||
391 | + // console.log(selectedProductionDepartment.value, 565666666); // 输出当前的 selectedCustomCodes 值 | ||
374 | } | 392 | } |
375 | 393 | ||
376 | function handleFinanceEdit(record) { | 394 | function handleFinanceEdit(record) { |
src/views/project/finance/pay/pay.data.tsx
@@ -26,8 +26,8 @@ export const searchFormSchema: FormSchema[] = [ | @@ -26,8 +26,8 @@ export const searchFormSchema: FormSchema[] = [ | ||
26 | options: [ | 26 | options: [ |
27 | { label: '未提交审核', value: -1 }, | 27 | { label: '未提交审核', value: -1 }, |
28 | { label: '待审核', value: 0 }, | 28 | { label: '待审核', value: 0 }, |
29 | - { label: '审核通过', value: 1 }, | ||
30 | - { label: '审核驳回', value: 2 }, | 29 | + { label: '审核通过', value: 10 }, |
30 | + { label: '审核驳回', value: 20 }, | ||
31 | ], | 31 | ], |
32 | }, | 32 | }, |
33 | }, | 33 | }, |
@@ -71,7 +71,7 @@ export const columns: BasicColumn[] = [ | @@ -71,7 +71,7 @@ export const columns: BasicColumn[] = [ | ||
71 | if (deductUrl == undefined) { | 71 | if (deductUrl == undefined) { |
72 | return; | 72 | return; |
73 | } | 73 | } |
74 | - return <FilePptOutlined style="font-size:25px" onClick={() => window.open(deductUrl)} />; | 74 | + return <FilePptOutlined style="font-size:25px" />; |
75 | }, | 75 | }, |
76 | }, | 76 | }, |
77 | { | 77 | { |
src/views/project/finance/receive/FinanceEdit.vue
@@ -48,6 +48,9 @@ | @@ -48,6 +48,9 @@ | ||
48 | colProps: { | 48 | colProps: { |
49 | span: 23, | 49 | span: 23, |
50 | }, | 50 | }, |
51 | + componentProps: () => ({ | ||
52 | + disabled: status.value === 10, | ||
53 | + }), | ||
51 | label: '实际应收金额1$', | 54 | label: '实际应收金额1$', |
52 | }, | 55 | }, |
53 | { | 56 | { |
@@ -57,6 +60,9 @@ | @@ -57,6 +60,9 @@ | ||
57 | colProps: { | 60 | colProps: { |
58 | span: 23, | 61 | span: 23, |
59 | }, | 62 | }, |
63 | + componentProps: () => ({ | ||
64 | + disabled: status.value === 10, | ||
65 | + }), | ||
60 | label: '实际应收金额2$', | 66 | label: '实际应收金额2$', |
61 | }, | 67 | }, |
62 | { | 68 | { |
@@ -66,6 +72,9 @@ | @@ -66,6 +72,9 @@ | ||
66 | colProps: { | 72 | colProps: { |
67 | span: 23, | 73 | span: 23, |
68 | }, | 74 | }, |
75 | + componentProps: () => ({ | ||
76 | + disabled: status.value === 10, | ||
77 | + }), | ||
69 | label: '实际应收金额3$', | 78 | label: '实际应收金额3$', |
70 | }, | 79 | }, |
71 | { | 80 | { |
@@ -75,6 +84,9 @@ | @@ -75,6 +84,9 @@ | ||
75 | colProps: { | 84 | colProps: { |
76 | span: 23, | 85 | span: 23, |
77 | }, | 86 | }, |
87 | + componentProps: () => ({ | ||
88 | + disabled: status.value === 10, | ||
89 | + }), | ||
78 | label: '其他费用金额$', | 90 | label: '其他费用金额$', |
79 | }, | 91 | }, |
80 | ]; | 92 | ]; |
@@ -89,8 +101,11 @@ | @@ -89,8 +101,11 @@ | ||
89 | }); | 101 | }); |
90 | 102 | ||
91 | const update = ref(); | 103 | const update = ref(); |
104 | + const status = ref(); | ||
92 | const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { | 105 | const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { |
93 | // 方式1 | 106 | // 方式1 |
107 | + console.log(data, '56565dataaa'); | ||
108 | + status.value = data.data.status; | ||
94 | resetFields(); | 109 | resetFields(); |
95 | setDrawerProps({ confirmLoading: false }); | 110 | setDrawerProps({ confirmLoading: false }); |
96 | setFieldsValue({ | 111 | setFieldsValue({ |
src/views/project/finance/receive/InvoiceAnalysis.vue
src/views/project/finance/receive/TrackEdit.vue
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | width="30%" | 7 | width="30%" |
8 | :isDetail="true" | 8 | :isDetail="true" |
9 | @ok="handleSubmit" | 9 | @ok="handleSubmit" |
10 | + @visible-change="handleShow" | ||
10 | :showDetailBack="false" | 11 | :showDetailBack="false" |
11 | okText="保存" | 12 | okText="保存" |
12 | showFooter | 13 | showFooter |
@@ -14,7 +15,7 @@ | @@ -14,7 +15,7 @@ | ||
14 | > | 15 | > |
15 | <div> | 16 | <div> |
16 | <div style="font-size: 15px">客户扣款金额$</div> | 17 | <div style="font-size: 15px">客户扣款金额$</div> |
17 | - <a-input v-model:value="input1" placeholder="请输入" auto-size /> | 18 | + <a-input v-model:value="input1" placeholder="请输入" :disabled="status === 10" auto-size /> |
18 | <div style="margin: 16px 0"></div> | 19 | <div style="margin: 16px 0"></div> |
19 | <div>上传扣款单</div | 20 | <div>上传扣款单</div |
20 | ><a-space direction="vertical" style="width: 100%" size="large"> | 21 | ><a-space direction="vertical" style="width: 100%" size="large"> |
@@ -25,6 +26,7 @@ | @@ -25,6 +26,7 @@ | ||
25 | :max-count="1" | 26 | :max-count="1" |
26 | :action="updateDeductUrl" | 27 | :action="updateDeductUrl" |
27 | @change="handleChange" | 28 | @change="handleChange" |
29 | + :disabled="status === 10" | ||
28 | > | 30 | > |
29 | <a-button> 上传扣款单 </a-button> | 31 | <a-button> 上传扣款单 </a-button> |
30 | </a-upload> | 32 | </a-upload> |
@@ -58,8 +60,10 @@ | @@ -58,8 +60,10 @@ | ||
58 | const deductUrlOld = ref(); | 60 | const deductUrlOld = ref(); |
59 | const { createMessage } = useMessage(); | 61 | const { createMessage } = useMessage(); |
60 | const { error } = createMessage; | 62 | const { error } = createMessage; |
63 | + const status = ref(); | ||
61 | 64 | ||
62 | const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { | 65 | const [register, { setDrawerProps, closeDrawer }] = useDrawerInner((data) => { |
66 | + status.value = data.data.status; | ||
63 | id.value = data.data.id; | 67 | id.value = data.data.id; |
64 | invoiceNo.value = data.data.invoiceNo; | 68 | invoiceNo.value = data.data.invoiceNo; |
65 | input1.value = data.data.deductAmount; | 69 | input1.value = data.data.deductAmount; |
@@ -80,6 +84,12 @@ | @@ -80,6 +84,12 @@ | ||
80 | function beforeUpload(info) { | 84 | function beforeUpload(info) { |
81 | updateDeductUrl.value = uploadUrl.value + info.name; | 85 | updateDeductUrl.value = uploadUrl.value + info.name; |
82 | } | 86 | } |
87 | + function handleShow() { | ||
88 | + input1.value = ''; | ||
89 | + deductUrl.value = ''; | ||
90 | + updateDeductUrl.value = ''; | ||
91 | + fileList.value = []; | ||
92 | + } | ||
83 | 93 | ||
84 | //完成编辑 | 94 | //完成编辑 |
85 | async function handleSubmit() { | 95 | async function handleSubmit() { |
src/views/project/finance/receive/index.vue
@@ -28,7 +28,12 @@ | @@ -28,7 +28,12 @@ | ||
28 | }, | 28 | }, |
29 | { | 29 | { |
30 | label: '提交审核', | 30 | label: '提交审核', |
31 | - onClick: handleCommit.bind(null, record), | 31 | + popConfirm: { |
32 | + title: '是否确认提交审核', | ||
33 | + placement: 'left', | ||
34 | + confirm: handleCommit.bind(null, record), | ||
35 | + }, | ||
36 | + // onClick: handleCommit.bind(null, record), | ||
32 | }, | 37 | }, |
33 | ]" | 38 | ]" |
34 | :dropDownActions="[ | 39 | :dropDownActions="[ |
@@ -38,7 +43,12 @@ | @@ -38,7 +43,12 @@ | ||
38 | }, | 43 | }, |
39 | { | 44 | { |
40 | label: '删除', | 45 | label: '删除', |
41 | - onClick: handleDelete.bind(null, record), | 46 | + popConfirm: { |
47 | + title: '是否确认删除', | ||
48 | + placement: 'left', | ||
49 | + confirm: handleDelete.bind(null, record), | ||
50 | + }, | ||
51 | + // onClick: handleDelete.bind(null, record), | ||
42 | }, | 52 | }, |
43 | { | 53 | { |
44 | label: '扣款单', | 54 | label: '扣款单', |
@@ -99,6 +109,9 @@ | @@ -99,6 +109,9 @@ | ||
99 | schemas: searchFormSchema, | 109 | schemas: searchFormSchema, |
100 | autoSubmitOnEnter: true, | 110 | autoSubmitOnEnter: true, |
101 | }, | 111 | }, |
112 | + pagination: { | ||
113 | + pageSize: 20, | ||
114 | + }, | ||
102 | useSearchForm: true, | 115 | useSearchForm: true, |
103 | showTableSetting: true, | 116 | showTableSetting: true, |
104 | showIndexColumn: false, | 117 | showIndexColumn: false, |
@@ -152,8 +165,8 @@ | @@ -152,8 +165,8 @@ | ||
152 | 165 | ||
153 | checkedKeys.value = checkedKeys.value.filter((id) => id !== record.id); | 166 | checkedKeys.value = checkedKeys.value.filter((id) => id !== record.id); |
154 | } | 167 | } |
155 | - console.log(selectedCustomCodes.value, 56561); | ||
156 | - console.log(checkedKeys.value, 56562); | 168 | + // console.log(selectedCustomCodes.value, 56561); |
169 | + // console.log(checkedKeys.value, 56562); | ||
157 | } | 170 | } |
158 | 171 | ||
159 | async function onSelectAll(selected: boolean, selectedRows: any[], changeRows: any[]) { | 172 | async function onSelectAll(selected: boolean, selectedRows: any[], changeRows: any[]) { |
src/views/project/finance/receive/receive.data.tsx
@@ -21,8 +21,8 @@ export const searchFormSchema: FormSchema[] = [ | @@ -21,8 +21,8 @@ export const searchFormSchema: FormSchema[] = [ | ||
21 | options: [ | 21 | options: [ |
22 | { label: '未提交审核', value: -1 }, | 22 | { label: '未提交审核', value: -1 }, |
23 | { label: '待审核', value: 0 }, | 23 | { label: '待审核', value: 0 }, |
24 | - { label: '审核通过', value: 1 }, | ||
25 | - { label: '审核驳回', value: 2 }, | 24 | + { label: '审核通过', value: 10 }, |
25 | + { label: '审核驳回', value: 20 }, | ||
26 | ], | 26 | ], |
27 | }, | 27 | }, |
28 | }, | 28 | }, |
@@ -77,7 +77,7 @@ export const columns: BasicColumn[] = [ | @@ -77,7 +77,7 @@ export const columns: BasicColumn[] = [ | ||
77 | }, | 77 | }, |
78 | { | 78 | { |
79 | title: '实际应收金额$', | 79 | title: '实际应收金额$', |
80 | - dataIndex: 'totalPayAmount', | 80 | + dataIndex: 'actualReceivableAmount', |
81 | width: 120, | 81 | width: 120, |
82 | }, | 82 | }, |
83 | { | 83 | { |
@@ -130,7 +130,7 @@ export const columnsAnalysis: BasicColumn[] = [ | @@ -130,7 +130,7 @@ export const columnsAnalysis: BasicColumn[] = [ | ||
130 | }, | 130 | }, |
131 | { | 131 | { |
132 | title: '实际应收金额总计$', | 132 | title: '实际应收金额总计$', |
133 | - dataIndex: 'totalPayAmount', | 133 | + dataIndex: 'actualReceivableAmount', |
134 | width: 50, | 134 | width: 50, |
135 | }, | 135 | }, |
136 | { | 136 | { |
@@ -145,7 +145,7 @@ export const columnsAnalysis: BasicColumn[] = [ | @@ -145,7 +145,7 @@ export const columnsAnalysis: BasicColumn[] = [ | ||
145 | }, | 145 | }, |
146 | { | 146 | { |
147 | title: '实际应收金额总计$', | 147 | title: '实际应收金额总计$', |
148 | - dataIndex: 'totalPayAmount', | 148 | + dataIndex: 'actualReceivableAmount', |
149 | width: 50, | 149 | width: 50, |
150 | }, | 150 | }, |
151 | { | 151 | { |
src/views/project/order/FormDetail/BaseFormPanel.vue
@@ -75,7 +75,6 @@ | @@ -75,7 +75,6 @@ | ||
75 | 75 | ||
76 | // businessPerson, | 76 | // businessPerson, |
77 | } = useOrderInfo(orderStore); | 77 | } = useOrderInfo(orderStore); |
78 | - | ||
79 | var schemas = computed(() => { | 78 | var schemas = computed(() => { |
80 | const options = { | 79 | const options = { |
81 | customerCode, | 80 | customerCode, |
src/views/project/order/ProductProfit.vue
@@ -133,8 +133,8 @@ | @@ -133,8 +133,8 @@ | ||
133 | const innerProduceTotalPrice = ref(); // 内部生产提成 | 133 | const innerProduceTotalPrice = ref(); // 内部生产提成 |
134 | const innerProduceTotalProfit = ref(); // 内部生产净利润 | 134 | const innerProduceTotalProfit = ref(); // 内部生产净利润 |
135 | const predictRatio = ref(); // 预算占比 | 135 | const predictRatio = ref(); // 预算占比 |
136 | - const predictRatioDeduct = ref(0); // 预算占比差 | ||
137 | - const productionActualPrice = ref(); // 实际发生费用 | 136 | + const predictRatioDeduct = ref(''); // 预算占比差 |
137 | + const productionActualPrice = ref(''); // 实际发生费用 | ||
138 | const productionDepartmentPredictPrice = ref(); // 生产科预算金额 | 138 | const productionDepartmentPredictPrice = ref(); // 生产科预算金额 |
139 | const productionDepartmentTotalPrice = ref(0); // 生产科总价合计 | 139 | const productionDepartmentTotalPrice = ref(0); // 生产科总价合计 |
140 | const projectDays = ref(); // 生产持续时间 | 140 | const projectDays = ref(); // 生产持续时间 |
@@ -243,8 +243,8 @@ | @@ -243,8 +243,8 @@ | ||
243 | innerProduceFixProfit.value = null; // 内部生产固定成本 | 243 | innerProduceFixProfit.value = null; // 内部生产固定成本 |
244 | innerProduceTotalPrice.value = null; // 内部生产提成 | 244 | innerProduceTotalPrice.value = null; // 内部生产提成 |
245 | innerProduceTotalProfit.value = null; // 内部生产净利润 | 245 | innerProduceTotalProfit.value = null; // 内部生产净利润 |
246 | - predictRatio.value = null; // 预算占比 | ||
247 | - predictRatioDeduct.value = 0; // 预算占比差 | 246 | + predictRatio.value = ''; // 预算占比 |
247 | + predictRatioDeduct.value = ''; // 预算占比差 | ||
248 | productionDepartmentTotalPrice.value = 0; // 生产科总价合计 | 248 | productionDepartmentTotalPrice.value = 0; // 生产科总价合计 |
249 | projectDays.value = null; // 生产持续时间 | 249 | projectDays.value = null; // 生产持续时间 |
250 | sumCount.value = 0; // 总计数量 | 250 | sumCount.value = 0; // 总计数量 |
@@ -273,12 +273,14 @@ | @@ -273,12 +273,14 @@ | ||
273 | innerProduceFixProfit.value = res.innerProduceFixProfit; | 273 | innerProduceFixProfit.value = res.innerProduceFixProfit; |
274 | innerProduceTotalPrice.value = res.innerProduceTotalPrice; | 274 | innerProduceTotalPrice.value = res.innerProduceTotalPrice; |
275 | innerProduceTotalProfit.value = res.innerProduceTotalProfit; | 275 | innerProduceTotalProfit.value = res.innerProduceTotalProfit; |
276 | - predictRatio.value = res.predictRatio; | 276 | + // predictRatio.value = res.predictRatio; |
277 | + predictRatio.value = `${res.predictRatio}%`; | ||
277 | productionActualPrice.value = res.productionActualPrice; | 278 | productionActualPrice.value = res.productionActualPrice; |
278 | productionDepartmentPredictPrice.value = res.productionDepartmentPredictPrice; | 279 | productionDepartmentPredictPrice.value = res.productionDepartmentPredictPrice; |
279 | productionDepartmentTotalPrice.value = res.productionDepartmentTotalPrice; | 280 | productionDepartmentTotalPrice.value = res.productionDepartmentTotalPrice; |
280 | projectDays.value = res.projectDays; | 281 | projectDays.value = res.projectDays; |
281 | - predictRatioDeduct.value = res.predictAndActualRatio; | 282 | + // predictRatioDeduct.value = res.predictAndActualRatio; |
283 | + predictRatioDeduct.value = `${res.predictAndActualRatio}%`; | ||
282 | console.log(filteredItems.value, '5656filteredItems'); | 284 | console.log(filteredItems.value, '5656filteredItems'); |
283 | // filteredItems.value.forEach((item) => { | 285 | // filteredItems.value.forEach((item) => { |
284 | // sumMoney.value += item.profitAnalysisInfo.productionDepartmentTotalPrice; | 286 | // sumMoney.value += item.profitAnalysisInfo.productionDepartmentTotalPrice; |
src/views/project/order/ProductText.vue
@@ -21,7 +21,7 @@ | @@ -21,7 +21,7 @@ | ||
21 | :bodyStyle="{ height: '210px' }" | 21 | :bodyStyle="{ height: '210px' }" |
22 | > | 22 | > |
23 | <div class="container"> | 23 | <div class="container"> |
24 | - <div v-if="isShow1 == true" style="margin-top: 50px; text-align: center"> | 24 | + <div v-if="isShow1 == true" style="margin-top: 50px"> |
25 | <RadioGroup v-model:value="choose" :options="options" /> | 25 | <RadioGroup v-model:value="choose" :options="options" /> |
26 | </div> | 26 | </div> |
27 | <div class="showPdf" v-if="isShow2 == true" style="margin-top: 35px; text-align: center"> | 27 | <div class="showPdf" v-if="isShow2 == true" style="margin-top: 35px; text-align: center"> |
@@ -83,7 +83,7 @@ | @@ -83,7 +83,7 @@ | ||
83 | // 运营总监-基本信息,跟单,质检 | 83 | // 运营总监-基本信息,跟单,质检 |
84 | return [ | 84 | return [ |
85 | { label: '青岛翱特逸格饰品有限公司', value: '青岛翱特逸格饰品有限公司' }, | 85 | { label: '青岛翱特逸格饰品有限公司', value: '青岛翱特逸格饰品有限公司' }, |
86 | - { label: '青岛吉庆天成饰品有限公司', value: '青岛吉庆天成饰品有限公司' }, | 86 | + { label: ' 青岛吉庆天成饰品有限公司', value: '青岛吉庆天成饰品有限公司' }, |
87 | ]; | 87 | ]; |
88 | }); | 88 | }); |
89 | const { createMessage } = useMessage(); | 89 | const { createMessage } = useMessage(); |
@@ -139,10 +139,11 @@ | @@ -139,10 +139,11 @@ | ||
139 | //生成pdf | 139 | //生成pdf |
140 | const resText = ref(); | 140 | const resText = ref(); |
141 | // const customerCodeList: string[] = props.customerCodes; | 141 | // const customerCodeList: string[] = props.customerCodes; |
142 | + //三秒内不能再次点击生成标志 | ||
142 | let isDisabled = false; | 143 | let isDisabled = false; |
143 | async function handleProduct() { | 144 | async function handleProduct() { |
144 | if (isDisabled) { | 145 | if (isDisabled) { |
145 | - error('请勿连续点击生成按钮,需要等待三秒再点击生成'); | 146 | + error('请勿连续点击生成按钮,需要等待三秒再点击生成'); |
146 | return; | 147 | return; |
147 | } | 148 | } |
148 | const customerCodeList = props.customerCodes; | 149 | const customerCodeList = props.customerCodes; |
@@ -164,7 +165,6 @@ | @@ -164,7 +165,6 @@ | ||
164 | ids: checkedKeys.value, | 165 | ids: checkedKeys.value, |
165 | companyName: choose.value, | 166 | companyName: choose.value, |
166 | }); | 167 | }); |
167 | - console.log(resText.value, '5656restextF'); | ||
168 | //此处设置接口,传递选择的公司值 | 168 | //此处设置接口,传递选择的公司值 |
169 | isShow1.value = false; | 169 | isShow1.value = false; |
170 | isShow2.value = true; | 170 | isShow2.value = true; |
@@ -173,10 +173,11 @@ | @@ -173,10 +173,11 @@ | ||
173 | } | 173 | } |
174 | //查看pdf | 174 | //查看pdf |
175 | function handlePdf() { | 175 | function handlePdf() { |
176 | - window.open(resText.value.productionUrl, '_blank'); | 176 | + window.open(resText.value.productionUrl); |
177 | } | 177 | } |
178 | //发送按钮 | 178 | //发送按钮 |
179 | async function handleExport() { | 179 | async function handleExport() { |
180 | + console.log(resText.value.produceFile, resText.value.productionDepartment, 5656); | ||
180 | const res = await exportProductText({ | 181 | const res = await exportProductText({ |
181 | productionUrl: resText.value.productionUrl, | 182 | productionUrl: resText.value.productionUrl, |
182 | productionDepartment: resText.value.productionDepartment, | 183 | productionDepartment: resText.value.productionDepartment, |
@@ -217,13 +218,13 @@ | @@ -217,13 +218,13 @@ | ||
217 | .container { | 218 | .container { |
218 | display: flex; | 219 | display: flex; |
219 | flex-direction: column; | 220 | flex-direction: column; |
220 | - min-height: 20vh; | 221 | + /* min-height: 20vh; */ |
221 | } | 222 | } |
222 | 223 | ||
223 | .bottom { | 224 | .bottom { |
224 | - margin-top: auto; | ||
225 | - margin-right: 20px; | ||
226 | - margin-left: auto; | 225 | + margin-top: 40px; |
226 | + /* margin-right: auto; */ | ||
227 | + margin-left: 300px; | ||
227 | } | 228 | } |
228 | 229 | ||
229 | .showPdf { | 230 | .showPdf { |