add
This commit is contained in:
parent
8f58ca2988
commit
c32ff7f777
@ -1,26 +1,34 @@
|
||||
import request from '@/utils/request'
|
||||
import request from "@/utils/request";
|
||||
|
||||
// 财务管理--项目预算书列表
|
||||
export function apiFinancialBudgetDocLists(params: any) {
|
||||
return request.get({ url: '/financial.financial_budget_doc/lists', params })
|
||||
return request.get({ url: "/financial.financial_budget_doc/lists", params });
|
||||
}
|
||||
|
||||
// 添加财务管理--项目预算书
|
||||
export function apiFinancialBudgetDocAdd(params: any) {
|
||||
return request.post({ url: '/financial.financial_budget_doc/add', params })
|
||||
return request.post({ url: "/financial.financial_budget_doc/add", params });
|
||||
}
|
||||
|
||||
// 编辑财务管理--项目预算书
|
||||
export function apiFinancialBudgetDocEdit(params: any) {
|
||||
return request.post({ url: '/financial.financial_budget_doc/edit', params })
|
||||
return request.post({ url: "/financial.financial_budget_doc/edit", params });
|
||||
}
|
||||
|
||||
// 删除财务管理--项目预算书
|
||||
export function apiFinancialBudgetDocDelete(params: any) {
|
||||
return request.post({ url: '/financial.financial_budget_doc/delete', params })
|
||||
return request.post({
|
||||
url: "/financial.financial_budget_doc/delete",
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 财务管理--项目预算书详情
|
||||
export function apiFinancialBudgetDocDetail(params: any) {
|
||||
return request.get({ url: '/financial.financial_budget_doc/detail', params })
|
||||
return request.get({ url: "/financial.financial_budget_doc/detail", params });
|
||||
}
|
||||
|
||||
// 财务管理--项目预算书
|
||||
export function apiFinancialBudgetDocSearch(params: any) {
|
||||
return request.get({ url: "/financial.financial_budget_doc/datas", params });
|
||||
}
|
58
src/api/financial_department_income_settlement.ts
Normal file
58
src/api/financial_department_income_settlement.ts
Normal file
@ -0,0 +1,58 @@
|
||||
import request from "@/utils/request";
|
||||
|
||||
// 财务管理--部门收入结算列表
|
||||
export function apiFinancialDepartmentIncomeSettlementLists(params: any) {
|
||||
return request.get({
|
||||
url: "/financial.financial_department_income_settlement/lists",
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 添加财务管理--部门收入结算
|
||||
export function apiFinancialDepartmentIncomeSettlementAdd(params: any) {
|
||||
return request.post({
|
||||
url: "/financial.financial_department_income_settlement/add",
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 编辑财务管理--部门收入结算
|
||||
export function apiFinancialDepartmentIncomeSettlementEdit(params: any) {
|
||||
return request.post({
|
||||
url: "/financial.financial_department_income_settlement/edit",
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除财务管理--部门收入结算
|
||||
export function apiFinancialDepartmentIncomeSettlementDelete(params: any) {
|
||||
return request.post({
|
||||
url: "/financial.financial_department_income_settlement/delete",
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 财务管理--部门收入结算详情
|
||||
export function apiFinancialDepartmentIncomeSettlementDetail(params: any) {
|
||||
return request.get({
|
||||
url: "/financial.financial_department_income_settlement/detail",
|
||||
params,
|
||||
});
|
||||
}
|
||||
// 财务管理--部门收入结算列表
|
||||
export function apiFinancialDepartmentIncomeSettlementDetailLists(params: any) {
|
||||
return request.get({
|
||||
url: "/financial.financial_department_income_settlement_detail/lists",
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除财务管理--部门收入结算
|
||||
export function apiFinancialDepartmentIncomeSettlementDetailDelete(
|
||||
params: any
|
||||
) {
|
||||
return request.post({
|
||||
url: "/financial.financial_department_income_settlement_detail/delete",
|
||||
params,
|
||||
});
|
||||
}
|
@ -1,5 +1,4 @@
|
||||
<template>
|
||||
|
||||
<el-col :span="8" v-if="flag">
|
||||
<el-form-item label="创建人" prop="create_user">
|
||||
<el-input v-model="formData.create_user" clearable placeholder="请输入填表人" />
|
||||
@ -13,11 +12,11 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-form-item label="创建人" prop="create_user" v-if="!flag">
|
||||
<el-form-item :label="name + '人'" prop="create_user" v-if="!flag">
|
||||
<el-input v-model="formData.create_user" clearable placeholder="请输入填表人" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="创建时间" prop="create_time" v-if="!flag">
|
||||
<el-form-item :label="name + '日期'" prop="create_time" v-if="!flag">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.create_time" clearable type="datetime"
|
||||
value-format="YYYY-MM-DD HH:mm:ss" placeholder="选择创建时间">
|
||||
</el-date-picker>
|
||||
@ -33,7 +32,11 @@ import useUserStore from "@/stores/modules/user";
|
||||
|
||||
let props = defineProps({
|
||||
flag: Boolean,
|
||||
formData: Object
|
||||
formData: Object,
|
||||
name: {
|
||||
default: "创建",
|
||||
type: String
|
||||
}
|
||||
})
|
||||
|
||||
const userStore = useUserStore().userInfo;
|
||||
|
@ -584,3 +584,26 @@ export const financial_invoice: Iconfig = {
|
||||
{ refund_amount: "到账金额" },
|
||||
],
|
||||
};
|
||||
|
||||
import { apiFinancialBudgetDocLists } from "@/api/financial_budget_doc";
|
||||
|
||||
export const financial_budget_doc: Iconfig = {
|
||||
fetchFn: apiFinancialBudgetDocLists,
|
||||
serchList: [
|
||||
{
|
||||
label: "预算书编号",
|
||||
value: "code",
|
||||
},
|
||||
{
|
||||
label: "预算书名称",
|
||||
value: "name",
|
||||
},
|
||||
],
|
||||
tableList: [
|
||||
{ contract_name: "合同名称" },
|
||||
{ total_amount: "合同金额" },
|
||||
{ code: "预算书编号" },
|
||||
{ name: "预算书名称" },
|
||||
{ issue_date: "下达日期" },
|
||||
],
|
||||
};
|
||||
|
@ -10,6 +10,9 @@
|
||||
<el-button @click="handleDelete(row)">-</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<slot></slot>
|
||||
|
||||
<el-table-column :label="item.label" v-for="(item, index) in config.tableConfig" :key="index"
|
||||
:prop="item[value]">
|
||||
<template #default="{ row }">
|
||||
|
@ -67,7 +67,7 @@ export default defineComponent({
|
||||
clickModalClose: {
|
||||
// 点击遮罩层关闭对话窗口
|
||||
type: Boolean,
|
||||
default: false
|
||||
default: true
|
||||
},
|
||||
center: {
|
||||
// 是否居中布局
|
||||
|
20
src/install/directives/type.ts
Normal file
20
src/install/directives/type.ts
Normal file
@ -0,0 +1,20 @@
|
||||
/**
|
||||
* perm 操作权限处理
|
||||
* 指令用法:
|
||||
* <el-button v-code">编辑</el-button>
|
||||
* 文本输入框code为编号输入框,unit为单位输入框
|
||||
*/
|
||||
|
||||
export default {
|
||||
mounted: async (el: HTMLElement, binding: any) => {
|
||||
var inputElements = el.getElementsByTagName("input")[0];
|
||||
var { value } = binding;
|
||||
inputElements.addEventListener("input", function (event) {
|
||||
if (value == "code") {
|
||||
event.target.value = event.target.value.replace(/[\u4e00-\u9fa5]/g, "");
|
||||
} else if (value == "unit") {
|
||||
event.target.value = event.target.value.replace(/\d+/g, "");
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
@ -3,21 +3,44 @@
|
||||
* @returns {Boolean}
|
||||
*/
|
||||
export function isExternal(path: string) {
|
||||
return /^(https?:|mailto:|tel:)/.test(path)
|
||||
return /^(https?:|mailto:|tel:)/.test(path);
|
||||
}
|
||||
|
||||
//电话
|
||||
export function isPhone(data: string) {
|
||||
return /^1[3|4|5|7|8][0-9]{9}$/.test(data)
|
||||
return /^1[3|4|5|7|8][0-9]{9}$/.test(data);
|
||||
}
|
||||
|
||||
//身份号
|
||||
export function isIdCard(data: string ){
|
||||
return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(data)
|
||||
export function isIdCard(data: string) {
|
||||
return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(data);
|
||||
}
|
||||
|
||||
//邮箱
|
||||
export function isEmail(data: string) {
|
||||
return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(data)
|
||||
return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(data);
|
||||
}
|
||||
|
||||
// input框校验
|
||||
//电话
|
||||
export function checkPhone(rules: any, value: any, callback: any) {
|
||||
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(
|
||||
value
|
||||
)
|
||||
? callback()
|
||||
: callback(new Error("请输入正确的手机号"));
|
||||
}
|
||||
|
||||
//邮箱
|
||||
export function checkEmail(rules: any, value: any, callback: any) {
|
||||
/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(value)
|
||||
? callback()
|
||||
: callback(new Error("请输入正确的邮箱"));
|
||||
}
|
||||
|
||||
//邮箱
|
||||
export function checkIdcard(rules: any, value: any, callback: any) {
|
||||
/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value)
|
||||
? callback()
|
||||
: callback(new Error("请输入正确的身份证号码"));
|
||||
}
|
||||
|
@ -10,8 +10,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同编号" prop="contract_num">
|
||||
<el-input v-model="formData.contract_num" clearable placeholder="请输入合同编号"
|
||||
@input="formData.contract_num = formData.contract_num.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
<el-input v-model="formData.contract_num" clearable placeholder="请输入合同编号" v-type="'code'" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -272,8 +271,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="邮寄编号" prop="number">
|
||||
<el-input v-model="formData.number" clearable placeholder="请输入邮寄编号"
|
||||
@input="formData.number = formData.number.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
<el-input v-model="formData.number" clearable placeholder="请输入邮寄编号" v-type="'code'" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
56
src/views/financial_department_income_settlement/detail.js
Normal file
56
src/views/financial_department_income_settlement/detail.js
Normal file
@ -0,0 +1,56 @@
|
||||
import {
|
||||
apiFinancialDepartmentIncomeSettlementDetailLists,
|
||||
} from '@/api/financial_department_income_settlement'
|
||||
|
||||
const detailConfig = {
|
||||
title: "财务管理--部门收入结算",
|
||||
config: [
|
||||
{
|
||||
label: "项目预算书",
|
||||
value: "name"
|
||||
},
|
||||
{
|
||||
label: "结算说明",
|
||||
value: "desc"
|
||||
},
|
||||
{
|
||||
label: "结算人",
|
||||
value: "create_user"
|
||||
},
|
||||
{
|
||||
label: "结算日期",
|
||||
value: "create_time"
|
||||
},
|
||||
],
|
||||
table: {
|
||||
title: "结算明细",
|
||||
tableConfig: [
|
||||
{
|
||||
label: "部门",
|
||||
value: 'dept_name',
|
||||
|
||||
},
|
||||
{
|
||||
label: "预算分成方式",
|
||||
value: 'type_text'
|
||||
},
|
||||
{
|
||||
label: "预算分成金额",
|
||||
value: 'settlement_amount',
|
||||
},
|
||||
{
|
||||
label: "结算单号",
|
||||
value: 'settlement_code',
|
||||
},
|
||||
{
|
||||
label: "备注",
|
||||
value: 'remark',
|
||||
},
|
||||
|
||||
],
|
||||
fetchFun: apiFinancialDepartmentIncomeSettlementDetailLists,
|
||||
query: "department_income_settlement_id"
|
||||
}
|
||||
|
||||
}
|
||||
export default detailConfig;
|
204
src/views/financial_department_income_settlement/edit.vue
Normal file
204
src/views/financial_department_income_settlement/edit.vue
Normal file
@ -0,0 +1,204 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="60vw" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="100px" :rules="formRules">
|
||||
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="项目预算书" prop="budget_doc_name">
|
||||
<el-input v-model="formData.name" clearable placeholder="点击选择项目预算书" @click="showDialog = true"
|
||||
readonly />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="结算说明">
|
||||
<el-input v-model="formData.desc" clearable placeholder="请输入结算说明" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<createUserLable flag :formData="formData" name="结算"></createUserLable>
|
||||
</el-row>
|
||||
|
||||
<formTable :formData="formData.detail" :config="tableConfig" :dictData="dictData">
|
||||
<el-table-column label="部门">
|
||||
<template #default="{ row }">
|
||||
<el-select v-model="row.dept_id" placeholder="请选择部门">
|
||||
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</formTable>
|
||||
<el-dialog v-model="showDialog" title="项目预算书" width="70%">
|
||||
<dialogTable :config="financial_budget_doc" @customEvent="customEvent">
|
||||
</dialogTable>
|
||||
</el-dialog>
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="financialDepartmentIncomeSettlementEdit">
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import {
|
||||
apiFinancialDepartmentIncomeSettlementAdd, apiFinancialDepartmentIncomeSettlementEdit, apiFinancialDepartmentIncomeSettlementDetail,
|
||||
apiFinancialDepartmentIncomeSettlementDetailLists, apiFinancialDepartmentIncomeSettlementDetailDelete
|
||||
} from '@/api/financial_department_income_settlement'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
import { deptLists } from "@/api/org/department"
|
||||
import { financial_budget_doc } from "@/components/dialogTable/dialogTableConfig";
|
||||
|
||||
defineProps({
|
||||
dictData: {
|
||||
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 popupTitle = computed(() => {
|
||||
return mode.value == 'edit' ? '编辑财务管理--部门收入结算' : '新增财务管理--部门收入结算'
|
||||
})
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: '',
|
||||
budget_doc_id: '',
|
||||
name: "",
|
||||
desc: '',
|
||||
create_user: '',
|
||||
create_time: '',
|
||||
"detail": []
|
||||
})
|
||||
|
||||
|
||||
|
||||
const customEvent = (e) => {
|
||||
formData.budget_doc_id = e.id
|
||||
formData.name = e.name
|
||||
showDialog.value = false
|
||||
}
|
||||
|
||||
const tableConfig = reactive(
|
||||
{
|
||||
title: "结算明细",
|
||||
tableConfig: [
|
||||
{
|
||||
label: "预算分成方式",
|
||||
value: 'type',
|
||||
select: 'budget_share_method'
|
||||
|
||||
},
|
||||
{
|
||||
label: "预算分成金额",
|
||||
value: 'amount',
|
||||
},
|
||||
{
|
||||
label: "结算金额",
|
||||
value: 'settlement_amount',
|
||||
},
|
||||
{
|
||||
label: "结算单号",
|
||||
value: 'settlement_code',
|
||||
},
|
||||
{
|
||||
label: "备注",
|
||||
value: 'remark',
|
||||
},
|
||||
|
||||
],
|
||||
deleteApi: apiFinancialDepartmentIncomeSettlementDetailDelete,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
budget_doc_id: [{
|
||||
required: true,
|
||||
message: '请输入预算书id',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
desc: [{
|
||||
required: true,
|
||||
message: '请输入结算说明',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
create_user: [{
|
||||
required: true,
|
||||
message: '请输入结算人',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
create_time: [{
|
||||
required: true,
|
||||
message: '请输入结算日期',
|
||||
trigger: ['blur']
|
||||
}]
|
||||
})
|
||||
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
for (const key in formData) {
|
||||
if (data[key] != null && data[key] != undefined) {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key]
|
||||
}
|
||||
}
|
||||
let res = await apiFinancialDepartmentIncomeSettlementDetailLists({ department_income_settlement_id: data.id })
|
||||
formData.detail = res.lists
|
||||
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiFinancialDepartmentIncomeSettlementDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
// 提交按钮
|
||||
const handleSubmit = async () => {
|
||||
|
||||
await formRef.value?.validate()
|
||||
const data = { ...formData, }
|
||||
mode.value == 'edit'
|
||||
? await apiFinancialDepartmentIncomeSettlementEdit(data)
|
||||
: await apiFinancialDepartmentIncomeSettlementAdd(data)
|
||||
popupRef.value?.close()
|
||||
emit('success')
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
const open = (type = 'add') => {
|
||||
mode.value = type
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
// 关闭回调
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
const deptList = ref([])
|
||||
const getDeptList = async () => {
|
||||
let res = await deptLists()
|
||||
deptList.value = res.lists
|
||||
}
|
||||
|
||||
getDeptList()
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
142
src/views/financial_department_income_settlement/index.vue
Normal file
142
src/views/financial_department_income_settlement/index.vue
Normal file
@ -0,0 +1,142 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card class="!border-none mb-4" shadow="never">
|
||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||
<el-form-item label="预算书" prop="budget_doc_id">
|
||||
<select-remote model="budget_doc_id" :formData="queryParams" :api="apiFinancialBudgetDocSearch" />
|
||||
</el-form-item>
|
||||
<el-form-item label="结算人" prop="create_user">
|
||||
<el-input class="w-[280px]" v-model="queryParams.create_user" clearable placeholder="请输入结算人" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
<el-button @click="resetParams">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
|
||||
<el-button v-perms="['financial.financial_department_income_settlement/add']" type="primary" @click="handleAdd">
|
||||
<template #icon>
|
||||
<icon name="el-icon-Plus" />
|
||||
</template>
|
||||
新增
|
||||
</el-button>
|
||||
<el-button v-perms="['financial.financial_department_income_settlement/delete']" :disabled="!selectData.length"
|
||||
@click="handleDelete(selectData)">
|
||||
删除
|
||||
</el-button>
|
||||
<div class="mt-4">
|
||||
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="预算书编号" prop="budget_doc_code" show-overflow-tooltip />
|
||||
<el-table-column label="预算书名称" prop="budget_doc_name" show-overflow-tooltip />
|
||||
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip />
|
||||
<el-table-column label="合同金额" prop="contract_money" show-overflow-tooltip />
|
||||
<el-table-column label="下达日期" prop="issue_date" show-overflow-tooltip />
|
||||
<el-table-column label="结算金额" prop="settlement_amount" show-overflow-tooltip />
|
||||
<el-table-column label="预计分成金额" prop="amount" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="170" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['financial.financial_department_income_settlement/edit']" type="primary"
|
||||
link @click="handleEdit(row)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button v-perms="['financial.financial_department_income_settlement/delete']" type="danger"
|
||||
link @click="handleDelete(row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button v-perms="['financial.financial_department_income_settlement/detail']" link
|
||||
@click="handleDetail(row.id)">
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="flex mt-4 justify-end">
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||
<detailPage v-if="showDetail" ref="detailRef" @close="showDetail = false" :detailConfig="detailConfig"
|
||||
:column="2" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="financialDepartmentIncomeSettlementLists">
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
import { useDictData } from '@/hooks/useDictOptions'
|
||||
import { apiFinancialDepartmentIncomeSettlementLists, apiFinancialDepartmentIncomeSettlementDelete, apiFinancialDepartmentIncomeSettlementDetail } from '@/api/financial_department_income_settlement'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import feedback from '@/utils/feedback'
|
||||
import EditPopup from './edit.vue'
|
||||
import { apiFinancialBudgetDocSearch } from '@/api/financial_budget_doc'
|
||||
import detailConfig from './detail'
|
||||
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
const detailRef = ref('')
|
||||
// 是否显示编辑框
|
||||
const showEdit = ref(false)
|
||||
const showDetail = ref(false)
|
||||
|
||||
|
||||
// 查询条件
|
||||
const queryParams = reactive({
|
||||
budget_doc_id: '',
|
||||
create_user: ''
|
||||
})
|
||||
|
||||
// 选中数据
|
||||
const selectData = ref<any[]>([])
|
||||
|
||||
// 表格选择后回调事件
|
||||
const handleSelectionChange = (val: any[]) => {
|
||||
selectData.value = val.map(({ id }) => id)
|
||||
}
|
||||
|
||||
// 获取字典数据
|
||||
const { dictData } = useDictData('budget_share_method')
|
||||
|
||||
// 分页相关
|
||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||
fetchFun: apiFinancialDepartmentIncomeSettlementLists,
|
||||
params: queryParams
|
||||
})
|
||||
|
||||
// 添加
|
||||
const handleAdd = async () => {
|
||||
showEdit.value = true
|
||||
await nextTick()
|
||||
editRef.value?.open('add')
|
||||
}
|
||||
|
||||
// 编辑
|
||||
const handleEdit = async (data: any) => {
|
||||
let res = await apiFinancialDepartmentIncomeSettlementDetail({ id: data.id })
|
||||
showEdit.value = true
|
||||
await nextTick()
|
||||
editRef.value?.open('edit')
|
||||
editRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
// 删除
|
||||
const handleDelete = async (id: number | any[]) => {
|
||||
await feedback.confirm('确定要删除?')
|
||||
await apiFinancialDepartmentIncomeSettlementDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
|
||||
// 详情
|
||||
const handleDetail = async (id: any) => {
|
||||
let res = await apiFinancialDepartmentIncomeSettlementDetail({ id })
|
||||
showDetail.value = true
|
||||
await nextTick()
|
||||
detailRef.value?.open()
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||
<el-form-item label="项目名称" prop="project_name">
|
||||
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
|
||||
@click="showDialog = true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="编号" prop="code">
|
||||
<el-input v-model="formData.code" clearable placeholder="请输入编号" />
|
||||
<el-input v-model="formData.code" clearable placeholder="请输入编号" v-type="'code'" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="内容摘要" prop="abstract">
|
||||
<el-input v-model="formData.abstract" clearable placeholder="请输入内容摘要" />
|
||||
</el-form-item>
|
||||
@ -32,7 +32,7 @@
|
||||
<el-form-item label="传阅人" prop="read_user">
|
||||
<el-input v-model="formData.read_user" clearable placeholder="请输入传阅人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
|
@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="60vw" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="60vw" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
@ -54,6 +53,8 @@ import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiManageCompanyAdd, apiManageCompanyEdit, apiManageCompanyDetail, apimanage_company_contacts, apimanage_company_contacts_delete } from '@/api/manage_company'
|
||||
import { manage_project } from "@/components/dialogTable/dialogTableConfig"
|
||||
import { checkPhone } from "@/utils/validate"
|
||||
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -151,11 +152,18 @@ const formRules = reactive<any>({
|
||||
message: '请输入资质等级',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
telephone: [{
|
||||
required: true,
|
||||
message: '请输入联系电话',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
telephone: [
|
||||
|
||||
{
|
||||
required: true,
|
||||
message: '请输入联系电话',
|
||||
trigger: ['blur']
|
||||
},
|
||||
{
|
||||
validator: checkPhone,
|
||||
trigger: ['blur']
|
||||
}
|
||||
],
|
||||
duty: [{
|
||||
required: true,
|
||||
message: '请输入责任范围',
|
||||
|
@ -15,8 +15,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="资质等级" prop="qualification_grade">
|
||||
<el-input class="w-[280px]" v-model="queryParams.qualification_grade" clearable
|
||||
placeholder="请输入资质等级" />
|
||||
<el-input class="w-[280px]" v-model="queryParams.qualification_grade" clearable placeholder="请输入资质等级" />
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话" prop="telephone">
|
||||
<el-input class="w-[280px]" v-model="queryParams.telephone" clearable placeholder="请输入联系电话" />
|
||||
@ -57,8 +56,7 @@
|
||||
@click="handleDelete(row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button v-perms="['manage_basic.manage_project/detail']" link
|
||||
@click="handleDetail(row.id)">
|
||||
<el-button v-perms="['manage_basic.manage_project/detail']" link @click="handleDetail(row.id)">
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
@ -70,8 +68,7 @@
|
||||
</div>
|
||||
</el-card>
|
||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig"
|
||||
:column="2" />
|
||||
<detailPage v-if="showDetail" ref="detailRef" @close="showEdit = false" :detailConfig="detailConfig" :column="2" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="130px" :rules="formRules">
|
||||
<el-form-item label="项目名称" prop="project_name">
|
||||
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
|
||||
@ -27,7 +26,7 @@
|
||||
<el-form-item label="监理签认情况" prop="sign_info">
|
||||
<el-input v-model="formData.sign_info" clearable placeholder="请输入监理签认情况" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
|
@ -1,8 +1,7 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||
<el-form-item label="项目名称" prop="project_name">
|
||||
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
|
||||
@click="showDialog = true" />
|
||||
@ -18,7 +17,7 @@
|
||||
<el-form-item label="本月支付(元)" prop="month_pay">
|
||||
<el-input v-model="formData.month_pay" clearable placeholder="请输入本月支付(元)" type="number" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="填报人" prop="create_user">
|
||||
|
@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||
<el-form-item label="项目名称" prop="project_name">
|
||||
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
|
||||
@ -27,7 +26,7 @@
|
||||
<el-form-item label="进度描述" prop="desc">
|
||||
<el-input v-model="formData.desc" clearable placeholder="请输入进度描述" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
|
@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
@ -12,8 +11,8 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="性质" prop="nature">
|
||||
<el-select class="flex-1" v-model="formData.nature" clearable placeholder="请选择性质">
|
||||
<el-option v-for="(item, index) in dictData.cost_consultation_industry_nature"
|
||||
:key="index" :label="item.name" :value="parseInt(item.value)" />
|
||||
<el-option v-for="(item, index) in dictData.supervision_project_nature" :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -53,14 +52,12 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="总投资(元)" prop="total_investment">
|
||||
<el-input v-model="formData.total_investment" clearable placeholder="请输入总投资(元)"
|
||||
type="number" />
|
||||
<el-input v-model="formData.total_investment" clearable placeholder="请输入总投资(元)" type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工程状态" prop="engineering_status">
|
||||
<el-select class="flex-1" v-model="formData.engineering_status" clearable
|
||||
placeholder="请选择工程状态">
|
||||
<el-select class="flex-1" v-model="formData.engineering_status" clearable placeholder="请选择工程状态">
|
||||
<el-option v-for="(item, index) in dictData.engineering_status" :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)" />
|
||||
</el-select>
|
||||
@ -85,29 +82,29 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="计划开工日期" prop="planned_start_date">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.planned_start_date" clearable
|
||||
type="date" value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.planned_start_date" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="计划竣工日期" prop="planned_end_date">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.planned_end_date" clearable
|
||||
type="date" value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.planned_end_date" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="实际开工日期" prop="actual_start_date">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.actual_start_date" clearable
|
||||
type="date" value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.actual_start_date" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="实际竣工日期" prop="actual_end_date">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.actual_end_date" clearable
|
||||
type="date" value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.actual_end_date" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -128,8 +125,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="立项日期" prop="initiation_date">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.initiation_date" clearable
|
||||
type="date" value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.initiation_date" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="请选择日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -162,8 +159,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="创建时间" prop="create_time">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.create_time" clearable
|
||||
type="datetime" value-format="YYYY-MM-DD HH:mm:ss">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.create_time" clearable type="datetime"
|
||||
value-format="YYYY-MM-DD HH:mm:ss">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -17,8 +17,8 @@
|
||||
<el-col :span="6">
|
||||
<el-form-item label="性质" prop="nature">
|
||||
<el-select class="flex-1" v-model="queryParams.nature" clearable placeholder="请选择性质">
|
||||
<el-option v-for="(item, index) in dictData.cost_consultation_industry_nature"
|
||||
:key="index" :label="item.name" :value="parseInt(item.value)" />
|
||||
<el-option v-for="(item, index) in dictData.cost_consultation_industry_nature" :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -40,8 +40,7 @@
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="项目级别" prop="project_level">
|
||||
<el-select class="flex-1" v-model="queryParams.project_level" clearable
|
||||
placeholder="请选择项目级别">
|
||||
<el-select class="flex-1" v-model="queryParams.project_level" clearable placeholder="请选择项目级别">
|
||||
<el-option v-for="(item, index) in dictData.supervision_project_level" :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)" />
|
||||
</el-select>
|
||||
@ -79,19 +78,21 @@
|
||||
<div class="mt-4">
|
||||
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
||||
<el-table-column label="项目编号" prop="project_code" show-overflow-tooltip />
|
||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip
|
||||
:render-header="pager.calcWidth" />
|
||||
<el-table-column label="项目编号" prop="project_code" show-overflow-tooltip
|
||||
:render-header="pager.calcWidth" />
|
||||
<el-table-column label="性质" prop="nature_text" show-overflow-tooltip />
|
||||
<el-table-column label="行业" prop="industry_text" show-overflow-tooltip />
|
||||
<el-table-column label="项目进度" prop="progress" show-overflow-tooltip />
|
||||
<el-table-column label="建设区域" prop="build_area_text" show-overflow-tooltip />
|
||||
<el-table-column label="项目级别" prop="project_level_text" show-overflow-tooltip />
|
||||
<el-table-column label="总投资(元)" prop="total_investment" show-overflow-tooltip />
|
||||
<el-table-column label="总投资(元)" prop="total_investment" show-overflow-tooltip width="120" />
|
||||
<el-table-column label="工程状态" prop="engineering_status_text" show-overflow-tooltip />
|
||||
<el-table-column label="实施部门" prop="implementation_department" show-overflow-tooltip />
|
||||
<el-table-column label="监管部门" prop="supervision_department" show-overflow-tooltip />
|
||||
<el-table-column label="项目经理" prop="project_manager" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="120" fixed="right">
|
||||
<el-table-column label="操作" width="170" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['manage_basic.manage_project/edit']" type="primary" link
|
||||
@click="handleEdit(row)">
|
||||
@ -101,8 +102,7 @@
|
||||
@click="handleDelete(row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button v-perms="['manage_basic.manage_project/detail']" link
|
||||
@click="handleDetail(row.id)">
|
||||
<el-button v-perms="['manage_basic.manage_project/detail']" link @click="handleDetail(row.id)">
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
@ -154,7 +154,7 @@ const handleSelectionChange = (val: any[]) => {
|
||||
}
|
||||
|
||||
// 获取字典数据
|
||||
const { dictData } = useDictData('cost_consultation_industry_nature,industry,const_area,supervision_project_level,engineering_status')
|
||||
const { dictData } = useDictData('supervision_project_nature,industry,const_area,supervision_project_level,engineering_status')
|
||||
|
||||
// 分页相关
|
||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||
|
@ -1,14 +1,13 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||
<el-form-item label="项目名称" prop="project_name">
|
||||
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
|
||||
@click="showDialog = true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="编号" prop="code">
|
||||
<el-input v-model="formData.code" clearable placeholder="请输入编号" />
|
||||
<el-input v-model="formData.code" clearable placeholder="请输入编号" v-type="'code'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="内容摘要" prop="abstract">
|
||||
<el-input v-model="formData.abstract" clearable placeholder="请输入内容摘要" />
|
||||
@ -27,7 +26,7 @@
|
||||
<el-form-item label="签收人" prop="accept_user">
|
||||
<el-input v-model="formData.accept_user" clearable placeholder="请输入签收人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
|
@ -57,7 +57,7 @@
|
||||
|
||||
<el-table-column label="单位">
|
||||
<template #default="{ row }">
|
||||
<el-input v-model="row.unit" @input="row.unit = row.unit.replace(/\d+/g, '')" />
|
||||
<el-input v-model="row.unit" v-type="'unit'" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="预算金额">
|
||||
|
@ -71,7 +71,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="单位">
|
||||
<template #default="{ row }">
|
||||
<el-input v-model="row.unit" @input="row.unit = row.unit.replace(/\d+/g, '')" />
|
||||
<el-input v-model="row.unit" v-type="'unit'" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" prop="remark">
|
||||
|
@ -44,8 +44,7 @@
|
||||
</el-form-item> </el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="保单号" prop="insurance_no">
|
||||
<el-input v-model="formData.insurance_no" clearable placeholder="请输入保单号"
|
||||
@input="formData.insurance_no = formData.insurance_no.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
<el-input v-model="formData.insurance_no" clearable placeholder="请输入保单号" v-type="'code'" />
|
||||
</el-form-item> </el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="保费(元)" prop="insurance">
|
||||
@ -67,8 +66,7 @@
|
||||
</el-form-item> </el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="发票编号" prop="invoice_no">
|
||||
<el-input v-model="formData.invoice_no" clearable placeholder="请输入发票编号"
|
||||
@input="formData.invoice_no = formData.invoice_no.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
<el-input v-model="formData.invoice_no" clearable placeholder="请输入发票编号" v-type="'code'" />
|
||||
</el-form-item> </el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="经办人" prop="handler">
|
||||
|
@ -60,7 +60,7 @@
|
||||
|
||||
<el-table-column label="单位">
|
||||
<template #default="{ row }">
|
||||
<el-input v-model="row.unit" @input="row.unit = row.unit.replace(/\d+/g, '')" />
|
||||
<el-input v-model="row.unit" v-type="'unit'" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
||||
|
||||
<el-table-column label="单位">
|
||||
<template #default="{ row }">
|
||||
<el-input v-model="row.unit" @input="row.unit = row.unit.replace(/\d+/g, '')" />
|
||||
<el-input v-model="row.unit" v-type="'unit'" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工作量">
|
||||
|
@ -26,8 +26,7 @@
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="节点编号" prop="node_code">
|
||||
<el-input v-model="formData.node_code" clearable placeholder="请输入节点编号"
|
||||
@input="formData.node_code = formData.node_code.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
<el-input v-model="formData.node_code" clearable placeholder="请输入节点编号" v-type="'code'" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
@ -44,7 +44,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="资质编号1">
|
||||
<el-input v-model="formData.qualification_number_one" clearable placeholder="请输入资质编号1"
|
||||
@input="formData.qualification_number_one = formData.qualification_number_one.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
v-type="'code'" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@ -74,8 +74,7 @@
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="资质名称2">
|
||||
<el-input v-model="formData.qualification_name_two" clearable placeholder="请输入资质名称2"
|
||||
@input="formData.qualification_name_two = formData.qualification_name_two.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
<el-input v-model="formData.qualification_name_two" clearable placeholder="请输入资质名称2" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -85,7 +84,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="资质编号2">
|
||||
<el-input v-model="formData.qualification_number_two" clearable placeholder="请输入资质编号2" />
|
||||
<el-input v-model="formData.qualification_number_two" clearable placeholder="请输入资质编号2"
|
||||
v-type="'code'" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
@ -91,7 +91,7 @@
|
||||
<el-table-column label="计数单位" prop="unit">
|
||||
|
||||
<template #default="{ row }">
|
||||
<el-input v-model="row.unit" @input="row.unit = row.unit.replace(/\d+/g, '')" />
|
||||
<el-input v-model="row.unit" v-type="'unit'" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否合同约定品牌" prop="contract_brand">
|
||||
|
@ -28,7 +28,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="资质编号1" prop="qualification_number_one">
|
||||
<el-input v-model="formData.qualification_number_one" clearable placeholder="请输入资质编号1"
|
||||
@input="formData.qualification_number_one = formData.qualification_number_one.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
v-type="'code'" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -69,7 +69,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="资质编号2" prop="qualification_number_two">
|
||||
<el-input v-model="formData.qualification_number_two" clearable placeholder="请输入资质编号2"
|
||||
@input="formData.qualification_number_two = formData.qualification_number_two.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
v-type="'code'" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
@ -52,7 +52,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="报审表编号">
|
||||
<el-input v-model="formData.approval_form_code" clearable placeholder="请输入报审表编号"
|
||||
@input="formData.approval_form_code = formData.approval_form_code.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
v-type="'code'" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
@ -16,8 +16,7 @@
|
||||
<el-input v-model="formData.model" clearable placeholder="请输入型号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="计数单位" prop="unit">
|
||||
<el-input v-model="formData.unit" clearable placeholder="请输入计数单位"
|
||||
@input="formData.unit = formData.unit.replace(/\d+/g, '')" />
|
||||
<el-input v-model="formData.unit" clearable placeholder="请输入计数单位" v-type="'unit'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="计划数量" prop="number">
|
||||
<el-input v-model="formData.number" clearable placeholder="请输入计划数量" type="number" />
|
||||
|
@ -14,8 +14,7 @@
|
||||
<el-input v-model="formData.qualification_name" clearable placeholder="请输入资质名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="资质编号">
|
||||
<el-input v-model="formData.qualification_number" clearable placeholder="请输入资质编号"
|
||||
@input="formData.qualification_number = formData.qualification_number.replace(/[\u4e00-\u9fa5]/g, '')" />
|
||||
<el-input v-model="formData.qualification_number" clearable placeholder="请输入资质编号" v-type="'code'" />
|
||||
</el-form-item>
|
||||
<el-form-item label="发证日期">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.get_date" clearable value-format="YYYY-MM-DD "
|
||||
|
@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||
<el-form-item label="项目名称" prop="project_name">
|
||||
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
|
||||
@ -19,7 +18,7 @@
|
||||
<el-form-item label="评审内容" prop="review_content">
|
||||
<el-input v-model="formData.review_content" clearable placeholder="请输入评审内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
|
@ -1,8 +1,7 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="180px" :rules="formRules">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="200px" :rules="formRules">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="项目名称" prop="project_name">
|
||||
@ -19,14 +18,14 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="上月计划工程进度(%)" prop="last_month_planned_progress">
|
||||
<el-input v-model="formData.last_month_planned_progress" clearable
|
||||
placeholder="请输入上月计划工程进度(%)" type="number" />
|
||||
<el-input v-model="formData.last_month_planned_progress" clearable placeholder="请输入上月计划工程进度(%)"
|
||||
type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="下月计划工程进度(%)" prop="next_month_planned_progress">
|
||||
<el-input v-model="formData.next_month_planned_progress" clearable
|
||||
placeholder="请输入下月计划工程进度(%)" type="number" />
|
||||
<el-input v-model="formData.next_month_planned_progress" clearable placeholder="请输入下月计划工程进度(%)"
|
||||
type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -37,8 +36,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工程状态" prop="engineering_status">
|
||||
<el-select class="flex-1" v-model="formData.engineering_status" clearable
|
||||
placeholder="请选择工程状态">
|
||||
<el-select class="flex-1" v-model="formData.engineering_status" clearable placeholder="请选择工程状态">
|
||||
<el-option v-for="(item, index) in dictData.engineering_status" :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)" />
|
||||
</el-select>
|
||||
@ -62,14 +60,12 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="累计完成(元)" prop="total_amount">
|
||||
<el-input v-model="formData.total_amount" clearable placeholder="请输入累计完成(元)"
|
||||
type="number" />
|
||||
<el-input v-model="formData.total_amount" clearable placeholder="请输入累计完成(元)" type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="本月支付(元)" prop="this_month_pay">
|
||||
<el-input v-model="formData.this_month_pay" clearable placeholder="请输入本月支付(元)"
|
||||
type="number" />
|
||||
<el-input v-model="formData.this_month_pay" clearable placeholder="请输入本月支付(元)" type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
@ -37,27 +37,27 @@
|
||||
<div class="mt-4">
|
||||
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
|
||||
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip
|
||||
:render-header="pager.calcWidth" />
|
||||
<el-table-column label="年月" prop="date" show-overflow-tooltip />
|
||||
<el-table-column label="上月计划工程进度(%)" prop="last_month_planned_progress" show-overflow-tooltip />
|
||||
<el-table-column label="下月计划工程进度(%)" prop="next_month_planned_progress" show-overflow-tooltip />
|
||||
<el-table-column label="本月累计工程进度(%)" prop="this_month_progress" show-overflow-tooltip />
|
||||
<el-table-column label="上月计划工程进度(%)" prop="last_month_planned_progress" width="200" />
|
||||
<el-table-column label="下月计划工程进度(%)" prop="next_month_planned_progress" show-overflow-tooltip
|
||||
width="200" />
|
||||
<el-table-column label="本月累计工程进度(%)" prop="this_month_progress" show-overflow-tooltip width="200" />
|
||||
<el-table-column label="工程状态" prop="engineering_status_text" show-overflow-tooltip />
|
||||
<el-table-column label="进度描述" prop="progress_description" show-overflow-tooltip />
|
||||
<el-table-column label="存在的问题及解决措施" prop="problems_and_measure" show-overflow-tooltip />
|
||||
<el-table-column label="本月完成(元)" prop="this_month_amount" show-overflow-tooltip />
|
||||
<el-table-column label="累计完成(元)" prop="total_amount" show-overflow-tooltip />
|
||||
<el-table-column label="本月支付(元)" prop="this_month_pay" show-overflow-tooltip />
|
||||
<el-table-column label="累计支付(元)" prop="total_pay" show-overflow-tooltip />
|
||||
<el-table-column label="建设各方责任主体质量行为" prop="quality_behavior" show-overflow-tooltip />
|
||||
<el-table-column label="施工现场质量情况" prop="quality_situation" show-overflow-tooltip />
|
||||
<el-table-column label="质量缺陷或质量隐患的处理情况" prop="quality_hazards" show-overflow-tooltip />
|
||||
<el-table-column label="检查及抽检情况" prop="sampling_situation" show-overflow-tooltip />
|
||||
<el-table-column label="其他质量情况" prop="other_quality_conditions" show-overflow-tooltip />
|
||||
<el-table-column label="本月安全情况" prop="safety_situation" show-overflow-tooltip />
|
||||
<el-table-column label="存在的问题及解决措施" prop="problems_and_measure" show-overflow-tooltip width="200" />
|
||||
<el-table-column label="本月完成(元)" prop="this_month_amount" show-overflow-tooltip width="140" />
|
||||
<el-table-column label="累计完成(元)" prop="total_amount" show-overflow-tooltip width="140" />
|
||||
<el-table-column label="本月支付(元)" prop="this_month_pay" show-overflow-tooltip width="140" />
|
||||
<el-table-column label="累计支付(元)" prop="total_pay" show-overflow-tooltip width="140" />
|
||||
<el-table-column label="建设各方责任主体质量行为" prop="quality_behavior" show-overflow-tooltip width="200" />
|
||||
<el-table-column label="施工现场质量情况" prop="quality_situation" show-overflow-tooltip width="160" />
|
||||
<el-table-column label="检查及抽检情况" prop="sampling_situation" show-overflow-tooltip width="160" />
|
||||
<el-table-column label="其他质量情况" prop="other_quality_conditions" show-overflow-tooltip width="120" />
|
||||
<el-table-column label="本月安全情况" prop="safety_situation" show-overflow-tooltip width="120" />
|
||||
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="150" align="center" fixed="right">
|
||||
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['supervision_connect.supervision_project_monthly_report/edit']"
|
||||
type="primary" link @click="handleEdit(row)">
|
||||
|
Loading…
x
Reference in New Issue
Block a user