修复错误
This commit is contained in:
parent
8d98349f96
commit
5e90709691
@ -27,14 +27,12 @@
|
|||||||
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
|
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-table :data="pager.lists" @cell-click="handleCurrentChange">
|
<el-table :data="pager.lists" @cell-click="handleCurrentChange">
|
||||||
<el-table-column label="签约公司" property="company_name" />
|
<el-table-column label="公司名称" property="company_name" />
|
||||||
<el-table-column label="公司类型" property="company_type" />
|
<el-table-column label="公司类型" property="company_type" />
|
||||||
<el-table-column label="区县" property="area" />
|
<el-table-column label="区县" property="area" />
|
||||||
<el-table-column label="乡镇" property="street" />
|
<el-table-column label="乡镇" property="street" />
|
||||||
<el-table-column label="主联系人" property="master_name" />
|
<el-table-column label="主联系人" property="master_name" />
|
||||||
<el-table-column label="联系方式" property="master_phone" />
|
<el-table-column label="联系方式" property="master_phone" />
|
||||||
<el-table-column label="片区经理" property="area_manager" />
|
|
||||||
<el-table-column label="是否签约" property="is_contract" />
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex mt-4 justify-end">
|
<div class="flex mt-4 justify-end">
|
||||||
|
@ -273,7 +273,7 @@
|
|||||||
<el-col :span="24" class="el-card pt-6">
|
<el-col :span="24" class="el-card pt-6">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="营业执照" required>
|
<el-form-item label="公司资质" required>
|
||||||
<el-upload
|
<el-upload
|
||||||
:disabled="isDisabled"
|
:disabled="isDisabled"
|
||||||
v-model="formData.qualification.business_license"
|
v-model="formData.qualification.business_license"
|
||||||
@ -313,7 +313,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="对公银行" required>
|
<el-form-item label="其他资质" required>
|
||||||
<el-upload
|
<el-upload
|
||||||
:disabled="isDisabled"
|
:disabled="isDisabled"
|
||||||
v-model="formData.qualification.bank_account"
|
v-model="formData.qualification.bank_account"
|
||||||
@ -557,12 +557,7 @@ const datas = reactive({
|
|||||||
dictTypeLists: [],
|
dictTypeLists: [],
|
||||||
contract_type: []
|
contract_type: []
|
||||||
})
|
})
|
||||||
const fileList = ref<UploadUserFile[]>([
|
const fileList = ref<UploadUserFile[]>([])
|
||||||
{
|
|
||||||
name: '',
|
|
||||||
url: ''
|
|
||||||
}
|
|
||||||
])
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
const formRules = reactive<any>({
|
const formRules = reactive<any>({
|
||||||
company_name: [
|
company_name: [
|
||||||
|
@ -92,7 +92,8 @@
|
|||||||
<el-table-column label="片区经理" prop="area_manager" show-overflow-tooltip />
|
<el-table-column label="片区经理" prop="area_manager" show-overflow-tooltip />
|
||||||
<el-table-column label="是否签约" prop="is_contract" show-overflow-tooltip>
|
<el-table-column label="是否签约" prop="is_contract" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.is_contract == 1 ? '已签约' : '未签约' }}
|
<span v-if="row.is_contract == 1" style="color: #67c23a">已签约</span>
|
||||||
|
<span v-else style="color: #fe0000">未签约</span>
|
||||||
</template></el-table-column
|
</template></el-table-column
|
||||||
>
|
>
|
||||||
<el-table-column label="操作" align="center" width="500" fixed="right">
|
<el-table-column label="操作" align="center" width="500" fixed="right">
|
||||||
|
@ -17,7 +17,8 @@
|
|||||||
/>
|
/>
|
||||||
<el-table-column label="是否签约" prop="is_contract" show-overflow-tooltip>
|
<el-table-column label="是否签约" prop="is_contract" show-overflow-tooltip>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.is_contract == 1 ? '已签约' : '未签约' }}
|
<span v-if="row.is_contract == 1" style="color: #67c23a">已签约</span>
|
||||||
|
<span v-else style="color: #fe0000">未签约</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" width="450" fixed="right">
|
<el-table-column label="操作" align="center" width="450" fixed="right">
|
||||||
|
@ -1,76 +1,118 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog @confirm="handleSubmit" title="合同详情" v-model="show">
|
<el-dialog @confirm="handleSubmit" title="合同详情" v-model="show">
|
||||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||||
<el-form-item label="公司" prop="company_id">
|
<el-form-item label="合同类型" prop="contract_type">
|
||||||
<el-input v-model="formData.company_id" :disabled="true" clearable placeholder="请输入公司" />
|
<el-input
|
||||||
</el-form-item>
|
v-model="formData.contract_type_name"
|
||||||
<el-form-item label="合同类型" prop="contract_type">
|
:disabled="true"
|
||||||
<el-input v-model="formData.contract_type" :disabled="true" clearable placeholder="请输入合同类型" />
|
clearable
|
||||||
</el-form-item>
|
placeholder="请输入合同类型"
|
||||||
<el-form-item label="合同编号" prop="contract_no">
|
/>
|
||||||
<el-input v-model="formData.contract_no" :disabled="true" clearable placeholder="暂无合同编号" />
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="合同编号" prop="contract_no">
|
||||||
<el-form-item label="文件" prop="file">
|
<el-input
|
||||||
<el-input v-model="formData.file" :disabled="true" clearable placeholder="暂无文件" />
|
v-model="formData.contract_no"
|
||||||
</el-form-item>
|
:disabled="true"
|
||||||
<el-form-item label="状态" prop="status">
|
clearable
|
||||||
<el-input v-model="formData.status" :disabled="true" clearable placeholder="暂无状态" />
|
placeholder="暂无合同编号"
|
||||||
</el-form-item>
|
/>
|
||||||
<el-form-item label="甲方" prop="party_a">
|
</el-form-item>
|
||||||
<el-input v-model="formData.party_a" :disabled="true" clearable placeholder="暂无甲方" />
|
<el-form-item label="甲方" prop="party_a">
|
||||||
</el-form-item>
|
<el-input
|
||||||
<el-form-item label="乙方" prop="party_b">
|
v-model="formData.party_a_name"
|
||||||
<el-input v-model="formData.party_b" :disabled="true" clearable placeholder="暂无乙方" />
|
:disabled="true"
|
||||||
</el-form-item>
|
clearable
|
||||||
<el-form-item label="片区经理" prop="area_manager">
|
placeholder="暂无甲方"
|
||||||
<el-input v-model="formData.area_manager" :disabled="true" clearable placeholder="暂无经理" />
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态" prop="type">
|
<el-form-item label="乙方" prop="party_b">
|
||||||
<el-input v-model="formData.type" :disabled="true" clearable placeholder="暂无状态" />
|
<el-input
|
||||||
</el-form-item>
|
v-model="formData.party_b_name"
|
||||||
</el-form>
|
:disabled="true"
|
||||||
<div class="btn_men">
|
clearable
|
||||||
<el-button @click="show=false">取消</el-button>
|
placeholder="暂无乙方"
|
||||||
<el-button type="primary" @click="show=false" >确定</el-button>
|
/>
|
||||||
</div>
|
</el-form-item>
|
||||||
</el-dialog>
|
<el-form-item label="片区经理" prop="area_manager_name">
|
||||||
|
<el-input
|
||||||
|
v-model="formData.area_manager"
|
||||||
|
:disabled="true"
|
||||||
|
clearable
|
||||||
|
placeholder="暂无经理"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="类型" prop="type">
|
||||||
|
<el-input
|
||||||
|
v-model="formData.type_name"
|
||||||
|
:disabled="true"
|
||||||
|
clearable
|
||||||
|
placeholder="暂无状态"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="状态" prop="status">
|
||||||
|
<el-input
|
||||||
|
v-model="formData.status_name"
|
||||||
|
:disabled="true"
|
||||||
|
clearable
|
||||||
|
placeholder="暂无状态"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="合同地址" v-if="formData.status == 1">
|
||||||
|
<el-link type="success" :href="formData.url" target="_blank">在线查看</el-link>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div class="btn_men">
|
||||||
|
<el-button @click="show = false">取消</el-button>
|
||||||
|
<el-button type="primary" @click="show = false">确定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, defineExpose } from "vue";
|
import { ref, reactive, defineExpose } from 'vue'
|
||||||
const formData = reactive({
|
const formData = reactive({
|
||||||
id: "",
|
id: '',
|
||||||
company_id: "",
|
company_id: '',
|
||||||
contract_type: "",
|
contract_type: '',
|
||||||
contract_no: "",
|
contract_type_name: '',
|
||||||
file: "",
|
contract_no: '',
|
||||||
status: "",
|
file: '',
|
||||||
party_a: "",
|
status: '',
|
||||||
party_b: "",
|
party_a: '',
|
||||||
area_manager: "",
|
party_a_name: '',
|
||||||
});
|
party_b: '',
|
||||||
const show = ref(false);
|
party_b_name: '',
|
||||||
|
area_manager: '',
|
||||||
|
area_manager_name: '',
|
||||||
|
type_name: '',
|
||||||
|
url: '',
|
||||||
|
status_name: ''
|
||||||
|
})
|
||||||
|
const show = ref(false)
|
||||||
const shoeEditFn = (flag) => {
|
const shoeEditFn = (flag) => {
|
||||||
show.value = flag;
|
show.value = flag
|
||||||
};
|
}
|
||||||
// 传值赋值
|
// 传值赋值
|
||||||
const setFormData = async (data) => {
|
const setFormData = async (data) => {
|
||||||
for (const key in formData) {
|
for (const key in formData) {
|
||||||
if (data[key] != null && data[key] != undefined) {
|
if (data[key] != null && data[key] != undefined) {
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
formData[key] = data[key];
|
formData[key] = data[key]
|
||||||
|
if (key == 'type') {
|
||||||
|
formData.type = data.type == 1 ? '公司' : '个人'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
shoeEditFn,
|
shoeEditFn,
|
||||||
setFormData,
|
setFormData
|
||||||
});
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.btn_men {
|
.btn_men {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -1,9 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="edit-popup">
|
<div class="edit-popup">
|
||||||
|
|
||||||
<popup
|
<popup
|
||||||
|
v-if="true"
|
||||||
v-if="true"
|
|
||||||
ref="popupRef"
|
ref="popupRef"
|
||||||
:title="popupTitle"
|
:title="popupTitle"
|
||||||
:async="true"
|
:async="true"
|
||||||
@ -12,29 +10,35 @@
|
|||||||
@close="handleClose"
|
@close="handleClose"
|
||||||
>
|
>
|
||||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||||
<el-form-item label="公司" prop="company_id">
|
<el-form-item label="合同类型" prop="contract_type_name">
|
||||||
<el-input v-model="formData.company_id" clearable placeholder="请输入公司" />
|
<el-input
|
||||||
</el-form-item>
|
v-model="formData.contract_type_name"
|
||||||
<el-form-item label="合同类型" prop="contract_type">
|
clearable
|
||||||
<el-input v-model="formData.contract_type" clearable placeholder="请输入合同类型" />
|
placeholder="请输入合同类型"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="合同编号" prop="contract_no">
|
<el-form-item label="合同编号" prop="contract_no">
|
||||||
<el-input v-model="formData.contract_no" clearable placeholder="请输入合同编号" />
|
<el-input
|
||||||
</el-form-item>
|
v-model="formData.contract_no"
|
||||||
<el-form-item label="文件" prop="file">
|
clearable
|
||||||
<el-input v-model="formData.file" clearable placeholder="请输入文件" />
|
placeholder="请输入合同编号"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态" prop="status">
|
<el-form-item label="状态" prop="status">
|
||||||
<el-input v-model="formData.status" clearable placeholder="请输入状态" />
|
<el-input v-model="formData.status" clearable placeholder="请输入状态" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="甲方" prop="party_a">
|
<el-form-item label="甲方" prop="party_a_name">
|
||||||
<el-input v-model="formData.party_a" clearable placeholder="请输入甲方" />
|
<el-input v-model="formData.party_a_name" clearable placeholder="请输入甲方" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="乙方" prop="party_b">
|
<el-form-item label="乙方" prop="party_b_name">
|
||||||
<el-input v-model="formData.party_b" clearable placeholder="请输入乙方" />
|
<el-input v-model="formData.party_b_name" clearable placeholder="请输入乙方" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="片区经理" prop="area_manager">
|
<el-form-item label="片区经理" prop="area_manager_name">
|
||||||
<el-input v-model="formData.area_manager" clearable placeholder="请输入片区经理" />
|
<el-input
|
||||||
|
v-model="formData.area_manager_name"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入片区经理"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</popup>
|
</popup>
|
||||||
@ -68,50 +72,64 @@ const formData = reactive({
|
|||||||
id: '',
|
id: '',
|
||||||
company_id: '',
|
company_id: '',
|
||||||
contract_type: '',
|
contract_type: '',
|
||||||
|
contract_type_name: '',
|
||||||
contract_no: '',
|
contract_no: '',
|
||||||
file: '',
|
file: '',
|
||||||
status: '',
|
status: '',
|
||||||
party_a: '',
|
party_a: '',
|
||||||
|
party_a_name: '',
|
||||||
party_b: '',
|
party_b: '',
|
||||||
|
party_b_name: '',
|
||||||
area_manager: '',
|
area_manager: '',
|
||||||
|
area_manager_name: ''
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
// 表单验证
|
// 表单验证
|
||||||
const formRules = reactive<any>({
|
const formRules = reactive<any>({
|
||||||
company_id: [{
|
company_id: [
|
||||||
required: true,
|
{
|
||||||
message: '请输入公司',
|
required: true,
|
||||||
trigger: ['blur']
|
message: '请输入公司',
|
||||||
}],
|
trigger: ['blur']
|
||||||
contract_type: [{
|
}
|
||||||
required: true,
|
],
|
||||||
message: '请输入合同类型',
|
contract_type: [
|
||||||
trigger: ['blur']
|
{
|
||||||
}],
|
required: true,
|
||||||
contract_no: [{
|
message: '请输入合同类型',
|
||||||
required: true,
|
trigger: ['blur']
|
||||||
message: '请输入合同编号',
|
}
|
||||||
trigger: ['blur']
|
],
|
||||||
}],
|
contract_no: [
|
||||||
file: [{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入文件',
|
message: '请输入合同编号',
|
||||||
trigger: ['blur']
|
trigger: ['blur']
|
||||||
}],
|
}
|
||||||
party_a: [{
|
],
|
||||||
required: true,
|
file: [
|
||||||
message: '请输入甲方',
|
{
|
||||||
trigger: ['blur']
|
required: true,
|
||||||
}],
|
message: '请输入文件',
|
||||||
party_b: [{
|
trigger: ['blur']
|
||||||
required: true,
|
}
|
||||||
message: '请输入乙方',
|
],
|
||||||
trigger: ['blur']
|
party_a: [
|
||||||
}]
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入甲方',
|
||||||
|
trigger: ['blur']
|
||||||
|
}
|
||||||
|
],
|
||||||
|
party_b: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '请输入乙方',
|
||||||
|
trigger: ['blur']
|
||||||
|
}
|
||||||
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
// 获取详情
|
// 获取详情
|
||||||
const setFormData = async (data: Record<any, any>) => {
|
const setFormData = async (data: Record<any, any>) => {
|
||||||
for (const key in formData) {
|
for (const key in formData) {
|
||||||
@ -120,8 +138,6 @@ const setFormData = async (data: Record<any, any>) => {
|
|||||||
formData[key] = data[key]
|
formData[key] = data[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const getDetail = async (row: Record<string, any>) => {
|
const getDetail = async (row: Record<string, any>) => {
|
||||||
@ -131,14 +147,11 @@ const getDetail = async (row: Record<string, any>) => {
|
|||||||
setFormData(data)
|
setFormData(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
await formRef.value?.validate()
|
await formRef.value?.validate()
|
||||||
const data = { ...formData, }
|
const data = { ...formData }
|
||||||
mode.value == 'edit'
|
mode.value == 'edit' ? await apiContractEdit(data) : await apiContractAdd(data)
|
||||||
? await apiContractEdit(data)
|
|
||||||
: await apiContractAdd(data)
|
|
||||||
popupRef.value?.close()
|
popupRef.value?.close()
|
||||||
emit('success')
|
emit('success')
|
||||||
}
|
}
|
||||||
@ -154,8 +167,6 @@ const handleClose = () => {
|
|||||||
emit('close')
|
emit('close')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
open,
|
open,
|
||||||
setFormData,
|
setFormData,
|
||||||
|
@ -3,20 +3,45 @@
|
|||||||
<el-card class="!border-none mb-4" shadow="never">
|
<el-card class="!border-none mb-4" shadow="never">
|
||||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||||
<el-form-item label="公司名称" prop="company_id">
|
<el-form-item label="公司名称" prop="company_id">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.company_id" clearable placeholder="请输入公司" />
|
<el-input
|
||||||
|
class="w-[280px]"
|
||||||
|
v-model="queryParams.company_id"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入公司"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="合同类型" prop="contract_type">
|
<el-form-item label="合同类型" prop="contract_type">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.contract_type" clearable placeholder="请输入合同类型" />
|
<el-input
|
||||||
|
class="w-[280px]"
|
||||||
|
v-model="queryParams.contract_type"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入合同类型"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="合同编号" prop="contract_no">
|
<el-form-item label="合同编号" prop="contract_no">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.contract_no" clearable placeholder="请输入合同编号" />
|
<el-input
|
||||||
|
class="w-[280px]"
|
||||||
|
v-model="queryParams.contract_no"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入合同编号"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态" prop="status">
|
<el-form-item label="状态" prop="status">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.status" clearable placeholder="请输入状态" />
|
<el-input
|
||||||
|
class="w-[280px]"
|
||||||
|
v-model="queryParams.status"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入状态"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="片区经理" prop="area_manager">
|
<el-form-item label="片区经理" prop="area_manager">
|
||||||
<el-input class="w-[280px]" v-model="queryParams.area_manager" clearable placeholder="请输入片区经理" />
|
<el-input
|
||||||
|
class="w-[280px]"
|
||||||
|
v-model="queryParams.area_manager"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入片区经理"
|
||||||
|
/>
|
||||||
</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>
|
||||||
@ -31,49 +56,59 @@
|
|||||||
</template>
|
</template>
|
||||||
新增
|
新增
|
||||||
</el-button>-->
|
</el-button>-->
|
||||||
<el-button v-perms="['contract.contract/delete']" :disabled="!selectData.length"
|
<el-button
|
||||||
@click="handleDelete(selectData)">删除</el-button>
|
v-perms="['contract.contract/delete']"
|
||||||
|
:disabled="!selectData.length"
|
||||||
|
@click="handleDelete(selectData)"
|
||||||
|
>删除</el-button
|
||||||
|
>
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
|
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="id" prop="id" show-overflow-tooltip />
|
<el-table-column label="id" prop="id" show-overflow-tooltip />
|
||||||
<el-table-column label="公司" prop="company_name" show-overflow-tooltip />
|
<el-table-column label="公司" prop="company_name" show-overflow-tooltip />
|
||||||
<el-table-column label="合同类型" prop="contract_type_name" show-overflow-tooltip />
|
<el-table-column
|
||||||
|
label="合同类型"
|
||||||
|
prop="contract_type_name"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
<el-table-column label="合同编号" prop="contract_no" show-overflow-tooltip />
|
<el-table-column label="合同编号" prop="contract_no" show-overflow-tooltip />
|
||||||
<el-table-column label="状态" prop="status" show-overflow-tooltip />
|
|
||||||
<el-table-column label="甲方" prop="party_a_name" show-overflow-tooltip />
|
<el-table-column label="甲方" prop="party_a_name" show-overflow-tooltip />
|
||||||
<el-table-column label="乙方" prop="party_b_name" show-overflow-tooltip />
|
<el-table-column label="乙方" prop="party_b_name" show-overflow-tooltip />
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
label="片区经理"
|
||||||
|
prop="area_manager_name"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
<el-table-column label="类型" prop="type" show-overflow-tooltip>
|
<el-table-column label="类型" prop="type" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ scope.row.type == 1 ? '公司' : scope.row.type == 0 ? "" : '个人' }}</span>
|
<span>{{
|
||||||
|
scope.row.type == 1 ? '公司' : scope.row.type == 0 ? '' : '个人'
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="状态" prop="status_name" show-overflow-tooltip>
|
||||||
|
<template #default="scope">
|
||||||
|
<span v-if="scope.row.status_name == '已签约'" style="color: #67c23a"
|
||||||
|
>已签约</span
|
||||||
|
>
|
||||||
|
<span v-else style="color: #fe0000">未签约</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="片区经理" prop="area_manager" show-overflow-tooltip />
|
|
||||||
<el-table-column label="操作" width="180" fixed="right" align="center">
|
<el-table-column label="操作" width="180" fixed="right" align="center">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<!-- <el-button
|
<el-button
|
||||||
v-perms="['contract.contract/edit']"
|
v-perms="['contract.contract/delete']"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
@click="handleEdit(row)"
|
@click="showDetil(row.id)"
|
||||||
>
|
>
|
||||||
编辑
|
|
||||||
</el-button>-->
|
|
||||||
<el-button v-perms="['contract.contract/delete']" type="primary" link
|
|
||||||
@click="checkContcat(row.id)">
|
|
||||||
<!-- <a href="https://www.zhihu.com/signin?next=%2F">查看</a> -->
|
|
||||||
查看
|
|
||||||
</el-button>
|
|
||||||
<el-button v-perms="['contract.contract/delete']" type="primary" link
|
|
||||||
@click="showDetil(row.id)">
|
|
||||||
<!-- <a href="https://www.zhihu.com/signin?next=%2F">查看</a> -->
|
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
<el-button v-perms="['contract.contract/delete']" type="danger" link
|
<!-- <el-button v-perms="['contract.contract/delete']" type="danger" link
|
||||||
@click="handleDelete(row.id)">删除</el-button>
|
@click="handleDelete(row.id)">删除</el-button> -->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -87,64 +122,60 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup name="contractLists">
|
<script lang="ts" setup name="contractLists">
|
||||||
import contractDetil from "./contractDetil.vue";
|
import contractDetil from './contractDetil.vue'
|
||||||
import { usePaging } from "@/hooks/usePaging";
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from "@/hooks/useDictOptions";
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import {
|
import { apiContractLists, apiContractDelete, apiContractDetail } from '@/api/contract'
|
||||||
apiContractLists,
|
import { timeFormat } from '@/utils/util'
|
||||||
apiContractDelete,
|
import feedback from '@/utils/feedback'
|
||||||
apiContractDetail,
|
|
||||||
} from "@/api/contract";
|
|
||||||
import { timeFormat } from "@/utils/util";
|
|
||||||
import feedback from "@/utils/feedback";
|
|
||||||
|
|
||||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>();
|
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||||
// 是否显示编辑框
|
// 是否显示编辑框
|
||||||
const showEdit = ref(false);
|
const showEdit = ref(false)
|
||||||
|
|
||||||
// 查询条件
|
// 查询条件
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
company_id: "",
|
company_id: '',
|
||||||
contract_type: "",
|
contract_type: '',
|
||||||
contract_no: "",
|
contract_no: '',
|
||||||
status: "",
|
status: '',
|
||||||
party_a: "",
|
party_a: '',
|
||||||
party_b: "",
|
party_b: '',
|
||||||
area_manager: "",
|
area_manager: ''
|
||||||
});
|
})
|
||||||
|
|
||||||
// 选中数据
|
// 选中数据
|
||||||
const selectData = ref<any[]>([]);
|
const selectData = ref<any[]>([])
|
||||||
|
|
||||||
// 表格选择后回调事件
|
// 表格选择后回调事件
|
||||||
const handleSelectionChange = (val: any[]) => {
|
const handleSelectionChange = (val: any[]) => {
|
||||||
selectData.value = val.map(({ id }) => id);
|
selectData.value = val.map(({ id }) => id)
|
||||||
};
|
}
|
||||||
|
|
||||||
// 获取字典数据
|
// 获取字典数据
|
||||||
const { dictData } = useDictData("");
|
const { dictData } = useDictData('')
|
||||||
|
|
||||||
// 分页相关
|
// 分页相关
|
||||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||||
fetchFun: apiContractLists,
|
fetchFun: apiContractLists,
|
||||||
params: queryParams,
|
params: queryParams
|
||||||
});
|
})
|
||||||
|
|
||||||
// 详情
|
// 详情
|
||||||
let childDetil = ref();
|
const childDetil = ref()
|
||||||
const showDetil = async (id) => {
|
const showDetil = async (id) => {
|
||||||
let res = await apiContractDetail({ id });
|
const res = await apiContractDetail({ id })
|
||||||
childDetil.value.setFormData(res);
|
childDetil.value.setFormData(res)
|
||||||
childDetil.value.shoeEditFn(true);
|
childDetil.value.shoeEditFn(true)
|
||||||
};
|
}
|
||||||
// 查看合同
|
// 查看合同
|
||||||
const checkContcat = (id: Number) => {
|
const checkContcat = (id: number) => {
|
||||||
apiContractDetail({ id }).then((res) => {
|
apiContractDetail({ id }).then((res) => {
|
||||||
res.file ? window.open(res.file) : feedback.msgError("暂无合同可以查看");
|
res.file ? window.open(res.file) : feedback.msgError('暂无合同可以查看')
|
||||||
});
|
})
|
||||||
|
|
||||||
// window.open('https://www.zhihu.com/signin?next=%2F')
|
// window.open('https://www.zhihu.com/signin?next=%2F')
|
||||||
};
|
}
|
||||||
|
|
||||||
// 添加
|
// 添加
|
||||||
// const handleAdd = async () => {
|
// const handleAdd = async () => {
|
||||||
@ -163,12 +194,12 @@ const checkContcat = (id: Number) => {
|
|||||||
|
|
||||||
// 删除
|
// 删除
|
||||||
const handleDelete = async (id: number | any[]) => {
|
const handleDelete = async (id: number | any[]) => {
|
||||||
await feedback.confirm("确定要删除?");
|
await feedback.confirm('确定要删除?')
|
||||||
await apiContractDelete({ id });
|
await apiContractDelete({ id })
|
||||||
getLists();
|
getLists()
|
||||||
};
|
}
|
||||||
|
|
||||||
getLists();
|
getLists()
|
||||||
// pager.lists.forEach((item) => {
|
// pager.lists.forEach((item) => {
|
||||||
// console.log(item.type);
|
// console.log(item.type);
|
||||||
// });
|
// });
|
||||||
|
@ -374,7 +374,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12" v-if="formData.name">
|
<el-col :span="12" v-if="formData.name">
|
||||||
<el-form-item label="账号" prop="account">
|
<el-form-item label="账号">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.account"
|
v-model="formData.account"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
@ -384,9 +384,9 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12" v-if="formData.name">
|
<el-col :span="12" v-if="formData.name">
|
||||||
<el-form-item label="密码" prop="password">
|
<el-form-item label="初始密码" prop="password">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.account"
|
:model-value="'m' + formData.account"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
clearable
|
clearable
|
||||||
:style="{ width: '100%' }"
|
:style="{ width: '100%' }"
|
||||||
@ -415,7 +415,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" v-if="!isCheck">
|
<el-col :span="24" v-if="!isCheck && mode != 'view'">
|
||||||
<el-form-item label="合同上传" prop="field127">
|
<el-form-item label="合同上传" prop="field127">
|
||||||
<el-upload
|
<el-upload
|
||||||
:headers="{ Token: userStore.token }"
|
:headers="{ Token: userStore.token }"
|
||||||
@ -430,6 +430,13 @@
|
|||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="24" v-if="mode == 'view'">
|
||||||
|
<el-form-item label="合同地址">
|
||||||
|
<el-link type="success" :href="formData.contract.url" target="_blank"
|
||||||
|
>在线查看</el-link
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</template>
|
</template>
|
||||||
</el-form>
|
</el-form>
|
||||||
</popup>
|
</popup>
|
||||||
@ -492,7 +499,10 @@ const formData = reactive({
|
|||||||
avatar: '',
|
avatar: '',
|
||||||
multipoint_login: 1,
|
multipoint_login: 1,
|
||||||
root: 0,
|
root: 0,
|
||||||
disable: 0
|
disable: 0,
|
||||||
|
contract: {
|
||||||
|
url: ''
|
||||||
|
}
|
||||||
})
|
})
|
||||||
// 字典信息
|
// 字典信息
|
||||||
const datas: any = reactive({
|
const datas: any = reactive({
|
||||||
@ -649,13 +659,11 @@ const handleSubmit = async () => {
|
|||||||
const open = (type = 'add') => {
|
const open = (type = 'add') => {
|
||||||
mode.value = type
|
mode.value = type
|
||||||
popupRef.value?.open()
|
popupRef.value?.open()
|
||||||
}
|
if (type == 'view') {
|
||||||
const fileList = ref<UploadUserFile[]>([
|
isCheck.value = true
|
||||||
{
|
|
||||||
name: '',
|
|
||||||
url: ''
|
|
||||||
}
|
}
|
||||||
])
|
}
|
||||||
|
const fileList = ref<UploadUserFile[]>([])
|
||||||
// 图片上传成功返回的url
|
// 图片上传成功返回的url
|
||||||
const handleAvatarSuccessIdA: UploadProps['onSuccess'] = (response, uploadFile) => {
|
const handleAvatarSuccessIdA: UploadProps['onSuccess'] = (response, uploadFile) => {
|
||||||
if (response.code == 0) {
|
if (response.code == 0) {
|
||||||
@ -773,8 +781,10 @@ const setFormData = async (row: any) => {
|
|||||||
if (data.role_id[0] == 8) {
|
if (data.role_id[0] == 8) {
|
||||||
disabledPartyA.value = false
|
disabledPartyA.value = false
|
||||||
}
|
}
|
||||||
fileList.value[0].url = data['contract']['file']
|
fileList.value[0] = {
|
||||||
fileList.value[0].name = '合同文件'
|
url: data['contract']['file'],
|
||||||
|
name: '合同文件'
|
||||||
|
}
|
||||||
await getCityList()
|
await getCityList()
|
||||||
await getAreaList()
|
await getAreaList()
|
||||||
await getStreetList()
|
await getStreetList()
|
||||||
|
@ -69,7 +69,8 @@
|
|||||||
min-width="120"
|
min-width="120"
|
||||||
>
|
>
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.is_contract == 1 ? '已签约' : '未签约' }}
|
<span v-if="row.is_contract == 1" style="color: #67c23a">已签约</span>
|
||||||
|
<span v-else style="color: #fe0000">未签约</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="最近登录时间" prop="login_time" min-width="180" />
|
<el-table-column label="最近登录时间" prop="login_time" min-width="180" />
|
||||||
@ -96,10 +97,10 @@
|
|||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
<el-button
|
<el-button
|
||||||
v-perms="['auth.admin/edit']"
|
v-perms="['auth.admin/view']"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
@click="handleCheck(row)"
|
@click="handleView(row)"
|
||||||
>查看</el-button
|
>查看</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
@ -119,7 +120,7 @@
|
|||||||
>
|
>
|
||||||
<template v-if="row.company_id != 0 && row.is_contract == 0">
|
<template v-if="row.company_id != 0 && row.is_contract == 0">
|
||||||
<el-button
|
<el-button
|
||||||
v-perms="['company/edit', 'company/add']"
|
v-perms="['auth.admin/Draftingcontracts']"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
@click="
|
@click="
|
||||||
@ -130,11 +131,11 @@
|
|||||||
>生成个人合同</el-button
|
>生成个人合同</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
v-perms="['company/edit', 'company/add']"
|
v-perms="['auth.admin/postsms']"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
@click=";(showPop = true), (contractId = row.id)"
|
@click=";(showPop = true), (contractId = row.id)"
|
||||||
>发送短信</el-button
|
>重新短信</el-button
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
@ -250,7 +251,13 @@ const handleEdit = async (data: any) => {
|
|||||||
editRef.value?.open('edit')
|
editRef.value?.open('edit')
|
||||||
editRef.value?.setFormData(data)
|
editRef.value?.setFormData(data)
|
||||||
}
|
}
|
||||||
|
const handleView = async (data: any) => {
|
||||||
|
isCheck.value = false
|
||||||
|
showEdit.value = true
|
||||||
|
await nextTick()
|
||||||
|
editRef.value?.open('view')
|
||||||
|
editRef.value?.setFormData(data)
|
||||||
|
}
|
||||||
const handleDelete = async (id: number) => {
|
const handleDelete = async (id: number) => {
|
||||||
await feedback.confirm('确定要删除?')
|
await feedback.confirm('确定要删除?')
|
||||||
await adminDelete({ id })
|
await adminDelete({ id })
|
||||||
|
Loading…
x
Reference in New Issue
Block a user