diff --git a/dist.zip b/dist.zip new file mode 100644 index 0000000..34120a9 Binary files /dev/null and b/dist.zip differ diff --git a/src/api/contract_ticket_difference.ts b/src/api/contract_ticket_difference.ts new file mode 100644 index 0000000..ee25263 --- /dev/null +++ b/src/api/contract_ticket_difference.ts @@ -0,0 +1,15 @@ +import request from '@/utils/request' + +// 合同洽商列表 +export function finance_refund_invoice_difference(params: any) { + return request.get({ url: '/finance.finance_refund_invoice_difference/lists', params }) +} + +// 合同洽商列表 +export function finance_payment_receipt_difference(params: any) { + return request.get({ url: '/finance.finance_payment_receipt_difference/procure', params }) +} +// 合同洽商列表 +export function finance_payment_receipt_difference_subcontract(params: any) { + return request.get({ url: '/finance.finance_payment_receipt_difference/subcontract', params }) +} \ No newline at end of file diff --git a/src/api/project_labor_budget.ts b/src/api/project_labor_budget.ts new file mode 100644 index 0000000..ae375df --- /dev/null +++ b/src/api/project_labor_budget.ts @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 人工预算列表 +export function apiProjectLaborBudgetLists(params: any) { + return request.get({ url: '/project.project_labor_budget/lists', params }) +} + +// 添加人工预算 +export function apiProjectLaborBudgetAdd(params: any) { + return request.post({ url: '/project.project_labor_budget/add', params }) +} + +// 编辑人工预算 +export function apiProjectLaborBudgetEdit(params: any) { + return request.post({ url: '/project.project_labor_budget/edit', params }) +} + +// 删除人工预算 +export function apiProjectLaborBudgetDelete(params: any) { + return request.post({ url: '/project.project_labor_budget/delete', params }) +} + +// 人工预算详情 +export function apiProjectLaborBudgetDetail(params: any) { + return request.get({ url: '/project.project_labor_budget/detail', params }) +} \ No newline at end of file diff --git a/src/components/procurement/index.vue b/src/components/procurement/index.vue index db481f9..e077c5d 100644 --- a/src/components/procurement/index.vue +++ b/src/components/procurement/index.vue @@ -48,7 +48,7 @@ -
+
@@ -59,12 +59,15 @@ import { usePaging } from "@/hooks/usePaging" import { useDictData } from "@/hooks/useDictOptions" import { apiSubcontractingContractLists } from '@/api/subcontracting_contract' - -import { defineEmits } from "vue" +import { defineEmits, defineProps } from "vue" +const props = defineProps({ + project_id: Number +}) // 查询条件 const queryParams = reactive({ - name: '' + name: '', + project_id: props.project_id }); const { dictData } = useDictData('procurement_contract_type,account_period,tax_rate,pay_type,pay_period ') diff --git a/src/components/product/index.vue b/src/components/product/index.vue index db623fe..b1bdc71 100644 --- a/src/components/product/index.vue +++ b/src/components/product/index.vue @@ -28,7 +28,7 @@
-
+
diff --git a/src/components/project_personnel/index.vue b/src/components/project_personnel/index.vue index 7401886..11a5235 100644 --- a/src/components/project_personnel/index.vue +++ b/src/components/project_personnel/index.vue @@ -15,7 +15,6 @@
- @@ -24,49 +23,42 @@ + +
-
+
diff --git a/src/views/contract_ticket_difference/index.vue b/src/views/contract_ticket_difference/index.vue new file mode 100644 index 0000000..618e08e --- /dev/null +++ b/src/views/contract_ticket_difference/index.vue @@ -0,0 +1,54 @@ + + + diff --git a/src/views/finance_payment_apply/edit.vue b/src/views/finance_payment_apply/edit.vue index 24228d9..810b0b2 100644 --- a/src/views/finance_payment_apply/edit.vue +++ b/src/views/finance_payment_apply/edit.vue @@ -2,14 +2,14 @@
- + @@ -30,7 +30,6 @@ - @@ -53,30 +52,25 @@ - - - - - - - - - - - - + - + 选择待付款计划 + + + + + + @@ -140,7 +134,6 @@ 上传 - - +
收款人信息
- - - + - - + @@ -173,10 +163,31 @@ - + + + + + @@ -192,7 +203,6 @@ -
@@ -201,6 +211,9 @@ + + + @@ -301,6 +314,8 @@ const showDialog = ref(false) const showDialog1 = ref(false) const showDialog2 = ref(false) const showDialog3 = ref(false) +const showDialog4 = ref(false) + const customEvent = (e: any) => { formData.supplier_id = e.id; @@ -324,17 +339,21 @@ const customEvent2 = (e: any) => { project_name.value = e.project_name; project_code.value = e.project_code; formData.amount_daxie = toChinesNum(e.amount) + formData.period = e.period showDialog2.value = false; - console.log(formData, "formdata") }; const customEvent3 = (e: any) => { - formData.bank = e.deposit_bank - formData.payee_bank = e.account_name + formData.payee_bank = e.deposit_bank + formData.payee_account_name = e.account_name formData.payee_account = e.account - showDialog3.value = false; + showDialog3.value = false +}; +const customEvent4 = (e: any) => { + formData.bank_account_id = e.id + formData.bank_account_name = e.deposit_bank + showDialog4.value = false }; - //监听输入 const amountinput = (e) => { // console.log(e) @@ -344,7 +363,7 @@ const amountinput = (e) => { } // 弹窗标题 const popupTitle = computed(() => { - return mode.value == 'edit' ? '编辑退款申请表' : '新增退款申请表' + return mode.value == 'edit' ? '编辑付款申请表' : '新增付款申请表' }) // 表单数据 @@ -368,11 +387,12 @@ const formData = reactive({ account: '', contract_cate: 1, "payment_nature": 0, - "apply_user": "string", - "payee_bank": "string", - "payee_account_name": "string", - "payee_account": "string", - "bank_account_id": '' + "apply_user": "", + "payee_bank": "", + "payee_account_name": "", + "payee_account": "", + "bank_account_id": '', + bank_account_name: "" }) diff --git a/src/views/procure_ticket_difference/index.vue b/src/views/procure_ticket_difference/index.vue new file mode 100644 index 0000000..0182eaf --- /dev/null +++ b/src/views/procure_ticket_difference/index.vue @@ -0,0 +1,54 @@ + + + diff --git a/src/views/project_attendance_record/edit.vue b/src/views/project_attendance_record/edit.vue index 3fb6ba2..b1d1b1e 100644 --- a/src/views/project_attendance_record/edit.vue +++ b/src/views/project_attendance_record/edit.vue @@ -1,6 +1,6 @@ @@ -85,43 +152,56 @@ import type { FormInstance } from 'element-plus' import Popup from '@/components/popup/index.vue' import projectDialog from '@/components/project/index.vue' import { attendanceRecordAdd, attendanceRecordEdit, attendanceRecordDetail } from '@/api/project_attendance_record' -import customDialog from '@/components/project_personnel/index.vue' -import { timeFormat } from '@/utils/util' +import projectPersonnel from '@/components/project_personnel/index.vue' import type { PropType } from 'vue' +import configs from "@/config" +import useUserStore from "@/stores/modules/user"; + defineProps({ dictData: { type: Object as PropType>, default: () => ({}) } }) + const emit = defineEmits(['success', 'close']) const formRef = shallowRef() const popupRef = shallowRef>() const mode = ref('add') - const showDialog = ref(false) const showDialog1 = ref(false) const project_name = ref('') const project_code = ref('') const renshu = ref('') - - -import configs from "@/config" -import useUserStore from "@/stores/modules/user"; const base_url = configs.baseUrl + configs.urlPrefix const userStore = useUserStore(); const formDataannex = reactive([]) -import feedback from '@/utils/feedback' const userInfo = userStore.userInfo +const handleAdd = (row: any) => { + const index = formData.attendance_detail.indexOf(row); + formData.attendance_detail.splice(index + 1, 0, {}); +}; +const handleDelete = (row: any) => { + const index = formData.attendance_detail.indexOf(row); + formData.attendance_detail.splice(index, 1); +}; + //获取值 const customEvent = (e) => { formData.project_id = e.id project_name.value = e.name project_code.value = e.project_code showDialog.value = false - } - +//获取值 +const customEvent1 = (e) => { + formData.attendance_detail[formData.attendance_detail.length - 1].name = e.name + formData.attendance_detail[formData.attendance_detail.length - 1].idcard = e.idcard + formData.attendance_detail[formData.attendance_detail.length - 1].work_type_text = e.work_type_text + formData.attendance_detail[formData.attendance_detail.length - 1].person_id = e.id + showDialog1.value = false + console.log(e) +} // 弹窗标题 const popupTitle = computed(() => { return mode.value == 'edit' ? '编辑考勤记录' : '新增考勤记录' @@ -152,7 +232,7 @@ const formData = reactive({ attendance_date: '', remark: '', file: '', - attendance_detail: '', + attendance_detail: [{}], }) @@ -206,6 +286,10 @@ const handleSubmit = async () => { formData.annex = formDataannex.map((item: any) => item.uri) } await formRef.value?.validate() + formData.attendance_detail.forEach(item => { + item.work_start_time = item.work_start_time ? formData.attendance_date + ` ${item.work_start_time}` : "" + item.work_end_time = item.work_end_time ? formData.attendance_date + ` ${item.work_end_time}` : "" + }) const data = { ...formData, } mode.value == 'edit' ? await attendanceRecordEdit(data) diff --git a/src/views/project_labor_budget/detail.vue b/src/views/project_labor_budget/detail.vue new file mode 100644 index 0000000..5655a6d --- /dev/null +++ b/src/views/project_labor_budget/detail.vue @@ -0,0 +1,176 @@ + + + + + diff --git a/src/views/project_labor_budget/edit.vue b/src/views/project_labor_budget/edit.vue new file mode 100644 index 0000000..290d000 --- /dev/null +++ b/src/views/project_labor_budget/edit.vue @@ -0,0 +1,296 @@ + + + diff --git a/src/views/project_labor_budget/index.vue b/src/views/project_labor_budget/index.vue new file mode 100644 index 0000000..79b187f --- /dev/null +++ b/src/views/project_labor_budget/index.vue @@ -0,0 +1,126 @@ + + + + diff --git a/src/views/project_labor_budget_detail/edit.vue b/src/views/project_labor_budget_detail/edit.vue new file mode 100644 index 0000000..03ef681 --- /dev/null +++ b/src/views/project_labor_budget_detail/edit.vue @@ -0,0 +1,164 @@ + + + diff --git a/src/views/project_labor_budget_detail/index.vue b/src/views/project_labor_budget_detail/index.vue new file mode 100644 index 0000000..18012bf --- /dev/null +++ b/src/views/project_labor_budget_detail/index.vue @@ -0,0 +1,122 @@ + + + + diff --git a/src/views/project_material_budget/edit.vue b/src/views/project_material_budget/edit.vue index d38417f..91416d5 100644 --- a/src/views/project_material_budget/edit.vue +++ b/src/views/project_material_budget/edit.vue @@ -115,7 +115,6 @@ x
- @@ -221,6 +220,9 @@ const handleAvatarSuccess_four = ( const delFileFn = (index: number) => { formDataannex.splice(index, 1) } + + + //获取所有组织 const getlist = () => { getAll().then((res) => { @@ -249,6 +251,12 @@ const getlist1 = (id: any) => { list2.splice(0, list2.length, ...res) }) } + + + + + + //获取预算明细列表 const budgetDetailLists = (id) => { MaterialbudgetDetailLists({ 'page_no': 1, 'page_size': 20, material_budget_id: id }).then((res) => { diff --git a/src/views/project_material_budget_detail/edit.vue b/src/views/project_material_budget_detail/edit.vue index ed0fb59..712f68d 100644 --- a/src/views/project_material_budget_detail/edit.vue +++ b/src/views/project_material_budget_detail/edit.vue @@ -5,28 +5,32 @@ - + - + - + + - - + + - + + + @@ -78,7 +82,9 @@ - + + + @@ -86,6 +92,7 @@ import type { FormInstance } from 'element-plus' import Popup from '@/components/popup/index.vue' import projectDialog from '@/components/material_budget/index.vue' +import product from '@/components/product/index.vue' import { MaterialbudgetDetailLists, MaterialbudgetDetailAdd, MaterialbudgetDetailEdit, MaterialbudgetDetailDetail } from '@/api/project_material_budget_detail' import { timeFormat } from '@/utils/util' import type { PropType } from 'vue' @@ -116,14 +123,23 @@ const material_specs = ref('') //获取值 -const customEvent = (e) => { +const customEvent = (e: any) => { formData.material_budget_id = e.id project_name.value = e.project_name project_code.value = e.project_code showDialog.value = false budgetDetailLists(e.id) } - +//获取值 +const customEvent2 = (e: any) => { + formData.material_id = e.id + formData.material_name = e.name + showDialog1.value = false + // project_name.value = e.project_name + // project_code.value = e.project_code + // showDialog.value = false + // budgetDetailLists(e.id) +} // 弹窗标题 const popupTitle = computed(() => { return mode.value == 'edit' ? '编辑项目材料预算调整' : '新增项目材料预算调整' @@ -138,6 +154,7 @@ const formData = reactive({ price: '', num: '', remark: '', + material_name: "" }) // 获取详情 diff --git a/src/views/project_subcontract_settlement/edit.vue b/src/views/project_subcontract_settlement/edit.vue index 9ed742e..a210abf 100644 --- a/src/views/project_subcontract_settlement/edit.vue +++ b/src/views/project_subcontract_settlement/edit.vue @@ -4,25 +4,10 @@ - + - - - - - - - - - - - - - - - - - + + @@ -31,7 +16,7 @@ - + { formData.project_id = e.id; - project_name.value = e.name; - project_code - .value = e.project_code; - custom_name - .value = e.custom_name; + formData.project_name = e.name; showDialog.value = false; }; const customEvent1 = (e: any) => { - formData.project_id = e.id; - project_name.value = e.name; - project_code - .value = e.project_code; - custom_name - .value = e.custom_name; - showDialog.value = false; + formData.contract_id = e.id; + formData.contract_name = e.contract_name; + showDialog1.value = false; + // console.log(e) }; const getlista = () => { @@ -170,11 +148,10 @@ const popupTitle = computed(() => { // 表单数据 const formData = reactive({ - id: '', - org_id: '', - dept_id: '', + project_name: "", project_id: '', contract_id: '', + contract_name: '', settlement_amount: '', settlement_amount_uppercase: '', remaining_amount: '', @@ -204,7 +181,7 @@ const amountinput = (e) => { // console.log(e) if (e && e > 0) { - formData.remaining_amount = e + // formData.remaining_amount = e formData.settlement_amount_uppercase = toChinesNum(e) } } @@ -258,8 +235,8 @@ const handleSubmit = async () => { await formRef.value?.validate() const data = { ...formData, } mode.value == 'edit' - ? awaitsubcontractsettlementEdit(data) - : awaitsubcontractsettlementAdd(data) + ? await subcontractsettlementEdit(data) + : await subcontractsettlementAdd(data) popupRef.value?.close() emit('success') } diff --git a/src/views/project_subpackage_budget_detail/edit.vue b/src/views/project_subpackage_budget_detail/edit.vue index 46bab4b..ab319fd 100644 --- a/src/views/project_subpackage_budget_detail/edit.vue +++ b/src/views/project_subpackage_budget_detail/edit.vue @@ -5,7 +5,8 @@ - + @@ -34,11 +35,13 @@ - + + - + @@ -92,7 +95,10 @@ const base_url = configs.baseUrl + configs.urlPrefix const userStore = useUserStore(); const formDataannex = reactive([]) - +const numberChange = () => { + if (formData.num > 10000) formData.num = 10000 + if (formData.price > 10000) formData.price = 10000 +} //获取值 const customEvent = (e) => { @@ -117,9 +123,10 @@ const formData = reactive({ work_content: '', project_features: '', unit: '', - num: '', - price: '', - remark: 3 + num: 0, + price: 0, + remark: '', + project_id: "", }) diff --git a/src/views/subcontract_ticket_difference/index.vue b/src/views/subcontract_ticket_difference/index.vue new file mode 100644 index 0000000..545607c --- /dev/null +++ b/src/views/subcontract_ticket_difference/index.vue @@ -0,0 +1,54 @@ + + +