add
This commit is contained in:
parent
af9393b1b9
commit
7fdbe23ca5
@ -200,7 +200,7 @@
|
|||||||
|
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-dialog v-model="showDialog" title="选择供应商" width="70%">
|
<el-dialog v-model="showDialog" title="选择供应商" width="70%">
|
||||||
<suppliertable @customEvent="customEvent"></suppliertable>
|
<suppliertable @customEvent="customEvent" :project_id="project?.id || ''"></suppliertable>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<div v-if="formData.contract_cate == 1 && showDialog1">
|
<div v-if="formData.contract_cate == 1 && showDialog1">
|
||||||
<el-dialog v-model="showDialog1" title="选择采购合同" width="70%">
|
<el-dialog v-model="showDialog1" title="选择采购合同" width="70%">
|
||||||
@ -240,13 +240,9 @@ import type { FormInstance } from 'element-plus'
|
|||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
// import procurementDialog from '@/components/procurement/index.vue'
|
// import procurementDialog from '@/components/procurement/index.vue'
|
||||||
import suppliertable from '@/components/supplier/index.vue'
|
import suppliertable from '@/components/supplier/index.vue'
|
||||||
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
|
|
||||||
import subcontractingDialog from '@/components/procurementsubcontracting_selector/index.vue'
|
import subcontractingDialog from '@/components/procurementsubcontracting_selector/index.vue'
|
||||||
import subcontracting from '@/components/procurementsubcontracting_selector/subcontracting.vue'
|
import subcontracting from '@/components/procurementsubcontracting_selector/subcontracting.vue'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import paylistDialog from '@/components/paylist/index.vue'
|
import paylistDialog from '@/components/paylist/index.vue'
|
||||||
const active = ref(0)
|
const active = ref(0)
|
||||||
import bankaccountDialog from '@/components/bankaccount/index.vue'
|
import bankaccountDialog from '@/components/bankaccount/index.vue'
|
||||||
@ -309,11 +305,9 @@ const delFileFn = (index: number) => {
|
|||||||
formDataannex.splice(index, 1)
|
formDataannex.splice(index, 1)
|
||||||
}
|
}
|
||||||
defineProps({
|
defineProps({
|
||||||
dictData: {
|
project: Object
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
const { dictData } = useDictData('pay_period,pay_type,payment_natrue,invoice_status')
|
||||||
const emit = defineEmits(['success', 'close'])
|
const emit = defineEmits(['success', 'close'])
|
||||||
const formRef = shallowRef<FormInstance>()
|
const formRef = shallowRef<FormInstance>()
|
||||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||||
|
@ -143,7 +143,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-dialog v-model="showDialog" title="选择供应商" width="70%">
|
<el-dialog v-model="showDialog" title="选择供应商" width="70%">
|
||||||
<suppliertable @customEvent="customEvent"></suppliertable>
|
<suppliertable @customEvent="customEvent" :project_id="project?.id || ''"></suppliertable>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<div v-if="formData.contract_cate == 1 && showDialog1">
|
<div v-if="formData.contract_cate == 1 && showDialog1">
|
||||||
@ -185,6 +185,7 @@ import { isEmail, isIdCard, isPhone } from '@/utils/validate'
|
|||||||
import type { PropType } from 'vue'
|
import type { PropType } from 'vue'
|
||||||
import configs from "@/config"
|
import configs from "@/config"
|
||||||
import useUserStore from "@/stores/modules/user";
|
import useUserStore from "@/stores/modules/user";
|
||||||
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
const protype = reactive([])
|
const protype = reactive([])
|
||||||
const base_url = configs.baseUrl + configs.urlPrefix
|
const base_url = configs.baseUrl + configs.urlPrefix
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
@ -234,12 +235,10 @@ const userEmail = (rule: any, value: string, callback: (arg0: Error | undefined)
|
|||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
const { dictData } = useDictData('refund_type,isaccrued,contract_type')
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
dictData: {
|
project: Object
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
const emit = defineEmits(['success', 'close'])
|
const emit = defineEmits(['success', 'close'])
|
||||||
const formRef = shallowRef<FormInstance>()
|
const formRef = shallowRef<FormInstance>()
|
||||||
|
@ -2,16 +2,13 @@
|
|||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
|
|
||||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||||
|
|
||||||
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
|
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
|
||||||
|
|
||||||
|
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="10">
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="项目名称" prop="project_id" @click="showDialog2 = true"
|
<el-form-item label="项目名称" prop="project_id" @click="showDialog2 = true"
|
||||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
||||||
<el-input v-model="project_name" clearable readonly placeholder="请选择项目" />
|
<el-input v-model="project_name" clearable readonly placeholder="请选择项目" :disabled="project" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
@ -56,11 +53,7 @@
|
|||||||
<el-input v-model="formData.describe" type="textarea" clearable placeholder="请输入文档描述" />
|
<el-input v-model="formData.describe" type="textarea" clearable placeholder="请输入文档描述" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
|
|
||||||
<el-form-item label="附件" prop="field127">
|
<el-form-item label="附件" prop="field127">
|
||||||
<el-upload
|
<el-upload
|
||||||
accept="doc, docx, xls, xlsx, ppt, pptx, pdf, txt, zip, rar, tar, jpg, png, gif, jpeg, webp, wmv, avi, mpg, mpeg, 3gp, mov, mp4, flv, f4v, rmvb, mkv"
|
accept="doc, docx, xls, xlsx, ppt, pptx, pdf, txt, zip, rar, tar, jpg, png, gif, jpeg, webp, wmv, avi, mpg, mpeg, 3gp, mov, mp4, flv, f4v, rmvb, mkv"
|
||||||
@ -84,10 +77,6 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<el-dialog v-model="showDialog" title="选择文档" width="70%">
|
<el-dialog v-model="showDialog" title="选择文档" width="70%">
|
||||||
<documentDialog @customEvent="customEvent"></documentDialog>
|
<documentDialog @customEvent="customEvent"></documentDialog>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
@ -149,40 +138,8 @@ const handleAvatarSuccess_four = (
|
|||||||
const delFileFn = (index: number) => {
|
const delFileFn = (index: number) => {
|
||||||
formDataannex.splice(index, 1)
|
formDataannex.splice(index, 1)
|
||||||
}
|
}
|
||||||
defineProps({
|
let props = defineProps({
|
||||||
dictData: {
|
project: Object
|
||||||
type: Object as PropType<Record<string, any[]>>,
|
|
||||||
default: () => ({})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const emit = defineEmits(['success', 'close'])
|
|
||||||
const formRef = shallowRef<FormInstance>()
|
|
||||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
|
||||||
const mode = ref('add')
|
|
||||||
const showDialog = ref(false)
|
|
||||||
const showDialog2 = ref(false)
|
|
||||||
|
|
||||||
const customEvent2 = (e: any) => {
|
|
||||||
formData.project_id = e.id;
|
|
||||||
project_name.value = e.name;
|
|
||||||
project_code.value = e.project_code;
|
|
||||||
showDialog2.value = false;
|
|
||||||
};
|
|
||||||
const customEvent = (e: any) => {
|
|
||||||
formData.classify_id = e.id;
|
|
||||||
large_document.value = e.large_category;
|
|
||||||
middle_document.value = e.middle_category;
|
|
||||||
// formData.name = e.name;
|
|
||||||
showDialog.value = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 弹窗标题
|
|
||||||
const popupTitle = computed(() => {
|
|
||||||
return mode.value == 'edit' ? '编辑项目文档表' : '新增项目文档表'
|
|
||||||
})
|
})
|
||||||
|
|
||||||
// 表单数据
|
// 表单数据
|
||||||
@ -200,6 +157,43 @@ const formData = reactive({
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
const emit = defineEmits(['success', 'close'])
|
||||||
|
const formRef = shallowRef<FormInstance>()
|
||||||
|
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||||
|
const mode = ref('add')
|
||||||
|
const showDialog = ref(false)
|
||||||
|
const showDialog2 = ref(false)
|
||||||
|
|
||||||
|
const customEvent2 = (e: any) => {
|
||||||
|
formData.project_id = e.id;
|
||||||
|
project_name.value = e.name;
|
||||||
|
project_code.value = e.project_code;
|
||||||
|
showDialog2.value = false;
|
||||||
|
};
|
||||||
|
if (props.project) customEvent2(props.project);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const customEvent = (e: any) => {
|
||||||
|
formData.classify_id = e.id;
|
||||||
|
large_document.value = e.large_category;
|
||||||
|
middle_document.value = e.middle_category;
|
||||||
|
showDialog.value = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 弹窗标题
|
||||||
|
const popupTitle = computed(() => {
|
||||||
|
return mode.value == 'edit' ? '编辑项目文档表' : '新增项目文档表'
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
const formRules = reactive<any>({
|
const formRules = reactive<any>({
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<myTable :baseData="baseData"></myTable>
|
<myTable :baseData="baseData" :project="project" editPath="project_document"></myTable>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
|
||||||
import { ref, reactive, defineProps } from "vue"
|
import { ref, reactive, defineProps } from "vue"
|
||||||
import myTable from "./myTable.vue"
|
import myTable from "./myTable.vue"
|
||||||
import { apiProjectdocumentLists } from '@/api/project_document_set'
|
import { apiProjectdocumentLists } from '@/api/project_document'
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
project_id: Number
|
project: Object
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@ -17,15 +17,16 @@ const props = defineProps({
|
|||||||
const baseData = reactive({
|
const baseData = reactive({
|
||||||
fetchFun: apiProjectdocumentLists,
|
fetchFun: apiProjectdocumentLists,
|
||||||
tit: "文档",
|
tit: "文档",
|
||||||
queryParams: { project_id: props.project_id },
|
queryParams: { project_id: props.project.id },
|
||||||
columnList: [
|
columnList: [
|
||||||
{ label: '排序号', prop: 'sort' },
|
{ label: '项目名称', prop: 'project_name' },
|
||||||
|
{ label: '项目编码', prop: 'project_code' },
|
||||||
{ label: '文档大类', prop: 'large_category' },
|
{ label: '文档大类', prop: 'large_category' },
|
||||||
{ label: '文档中类', prop: 'middle_category' },
|
{ label: '文档中类', prop: 'middle_category' },
|
||||||
|
{ label: '文档编号', prop: 'code' },
|
||||||
{ label: '文档名称', prop: 'name' },
|
{ label: '文档名称', prop: 'name' },
|
||||||
{ label: '文档描述', prop: 'describe' },
|
{ label: '版本号', prop: 'version' },
|
||||||
{ label: '必传', prop: 'is_upload' },
|
|
||||||
{ label: '文档', prop: '' },
|
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<myTable :baseData="baseData" :project="project" editPath="finance_receipt_record"></myTable>
|
<myTable :baseData="baseData" :project="project" editPath="finance_receipt_record"></myTable>
|
||||||
<myTable :baseData="baseData1" :project="project" editPath="finance_payment_plan"></myTable>
|
<myTable :baseData="baseData1" :project="project" editPath="finance_payment_plan"></myTable>
|
||||||
<myTable :baseData="baseData2" :project="project" editPath="procurement_contract"></myTable>
|
<myTable :baseData="baseData2" :project="project" editPath="finance_payment_apply"></myTable>
|
||||||
<myTable :baseData="baseData3" :project="project" editPath="procurement_contract"></myTable>
|
<myTable :baseData="baseData3" :project="project" editPath="finance_refund_record"></myTable>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
@ -57,15 +57,16 @@ const baseData2 = reactive({
|
|||||||
tit: "付款记录",
|
tit: "付款记录",
|
||||||
queryParams: { project_id: props.project.id },
|
queryParams: { project_id: props.project.id },
|
||||||
columnList: [
|
columnList: [
|
||||||
{ label: '付款单号', prop: 'competitor_name' },
|
{ label: '付款单号', prop: 'payment_apply_code' },
|
||||||
{ label: '合同编号', prop: 'contract_no' },
|
|
||||||
{ label: '供应商名称', prop: 'supplier_name' },
|
{ label: '供应商名称', prop: 'supplier_name' },
|
||||||
{ label: '合同类型', prop: 'contract_type' },
|
{ label: '项目名称', prop: 'project_name' },
|
||||||
{ label: '期次', prop: 'period' },
|
{ label: '合同编号', prop: 'contract_no' },
|
||||||
{ label: '付款日期', prop: 'pay_date' },
|
{ label: '付款日期', prop: 'pay_date' },
|
||||||
{ label: '付款性质', prop: 'payment_natrue' },
|
|
||||||
{ label: '付款方式', prop: 'pay_type' },
|
|
||||||
{ label: '付款金额', prop: 'amount' },
|
{ label: '付款金额', prop: 'amount' },
|
||||||
|
{ label: '付款方式', prop: 'pay_type_text' },
|
||||||
|
{ label: '付款性质', prop: 'payment_nature_text' },
|
||||||
|
{ label: '申请人', prop: 'apply_user' },
|
||||||
|
{ label: '备注', prop: 'remark' },
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
<payment v-if="activeName == 'demo-15'" :project="formData"></payment>
|
<payment v-if="activeName == 'demo-15'" :project="formData"></payment>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="文档" name="demo-16">
|
<el-tab-pane label="文档" name="demo-16">
|
||||||
<documentation v-if="activeName == 'demo-16'" :project_id="project_id"></documentation>
|
<documentation v-if="activeName == 'demo-16'" :project="formData"></documentation>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
<el-tab-pane label="统计" name="demo-17">
|
<el-tab-pane label="统计" name="demo-17">
|
||||||
|
@ -4,62 +4,35 @@
|
|||||||
<el-card class="!border-none" shadow="never">
|
<el-card class="!border-none" shadow="never">
|
||||||
<el-form class="ls-form" :model="formData" inline>
|
<el-form class="ls-form" :model="formData" inline>
|
||||||
<el-form-item label="管理员">
|
<el-form-item label="管理员">
|
||||||
<el-input
|
<el-input class="w-[280px]" placeholder="请输入" v-model="formData.admin_name" clearable
|
||||||
class="w-[280px]"
|
@keyup.enter="resetPage" />
|
||||||
placeholder="请输入"
|
|
||||||
v-model="formData.admin_name"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="resetPage"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="访问方式">
|
<el-form-item label="访问方式">
|
||||||
<el-select class="w-[280px]" v-model="formData.type" placeholder="请选择">
|
<el-select class="w-[280px]" v-model="formData.type" placeholder="请选择">
|
||||||
<el-option
|
<el-option v-for="(item, index) in visitType" :key="index" :label="item.label"
|
||||||
v-for="(item, index) in visitType"
|
:value="item.value" />
|
||||||
:key="index"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="来源IP">
|
<el-form-item label="来源IP">
|
||||||
<el-input
|
<el-input class="w-[280px]" placeholder="请输入" v-model="formData.ip" clearable
|
||||||
class="w-[280px]"
|
@keyup.enter="resetPage" />
|
||||||
placeholder="请输入"
|
|
||||||
v-model="formData.ip"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="resetPage"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="访问时间">
|
<el-form-item label="访问时间">
|
||||||
<daterange-picker
|
<daterange-picker v-model:startTime="formData.start_time" v-model:endTime="formData.end_time" />
|
||||||
v-model:startTime="formData.start_time"
|
|
||||||
v-model:endTime="formData.end_time"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="访问链接">
|
<el-form-item label="访问链接">
|
||||||
<el-input
|
<el-input class="w-[280px]" placeholder="请输入" v-model="formData.url" clearable
|
||||||
class="w-[280px]"
|
@keyup.enter="resetPage" />
|
||||||
placeholder="请输入"
|
|
||||||
v-model="formData.url"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="resetPage"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||||
<el-button @click="resetParams">重置</el-button>
|
<el-button @click="resetParams">重置</el-button>
|
||||||
<export-data
|
<export-data class="ml-2.5" :fetch-fun="systemLogLists" :params="formData" :page-size="pager.size" />
|
||||||
class="ml-2.5"
|
|
||||||
:fetch-fun="systemLogLists"
|
|
||||||
:params="formData"
|
|
||||||
:page-size="pager.size"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user