Commit 86e3da68a534ae8518f2f070f819d12477b2c331

Authored by boyang
1 parent 0e074a95

修改审核bug

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