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 @@
-
文件{{ i + 1 }}查看
-
暂无文件
-
-
文件{{ i + 1 }}查看
-
暂无文件
-
-
文件{{ i + 1 }}查看
-
暂无文件
-
+
+
-
+
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 @@
@@ -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 @@
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+ 新增
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+ 文件{{
+ index + 1 }}
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+