Commit 86e3da68a534ae8518f2f070f819d12477b2c331

Authored by boyang
1 parent 0e074a95

修改审核bug

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
@@ -54,7 +54,7 @@ @@ -54,7 +54,7 @@
54 }, 54 },
55 { 55 {
56 title: '实际收款金额汇总$', 56 title: '实际收款金额汇总$',
57 - dataIndex: 'totalPayAmount', 57 + dataIndex: 'actualReceivableAmount',
58 width: 50, 58 width: 50,
59 }, 59 },
60 { 60 {
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 {