pull
This commit is contained in:
parent
b6034728fd
commit
400fbf6a56
|
|
@ -7,7 +7,12 @@ export function getEnterpriseList(query) {
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
export function getEnterprise(id) {
|
||||||
|
return request({
|
||||||
|
url: `/crm/enterprise/${id}/`,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
export function createEnterprise(data) {
|
export function createEnterprise(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/crm/enterprise/',
|
url: '/crm/enterprise/',
|
||||||
|
|
@ -30,3 +35,34 @@ export function deleteEnterprise(id) {
|
||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getAddressList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/crm/enterpriseaddress/',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function createAddress(data) {
|
||||||
|
return request({
|
||||||
|
url: '/crm/enterpriseaddress/',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function updateAddress(id, data) {
|
||||||
|
return request({
|
||||||
|
url: `/crm/enterpriseaddress/${id}/`,
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function deleteAddress(id) {
|
||||||
|
return request({
|
||||||
|
url: `/certset/enterpriseaddress/${id}/`,
|
||||||
|
method: 'delete'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,237 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<div>
|
||||||
|
<el-button type="primary" icon="el-icon-plus" @click="handleCreate">新增</el-button>
|
||||||
|
</div>
|
||||||
|
<el-table v-loading="listLoading"
|
||||||
|
:data="addressList"
|
||||||
|
style="width: 100%;margin-top:10px;"
|
||||||
|
border
|
||||||
|
fit
|
||||||
|
stripe
|
||||||
|
highlight-current-row
|
||||||
|
max-height="600">
|
||||||
|
<el-table-column type="index" width="50" />
|
||||||
|
<el-table-column align="center" label="中文地址">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.address }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="英文地址">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.eaddress }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="邮编">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.code }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="地址类型">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.type }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-dialog :visible.sync="dialogVisible" :title="dialogType==='update'?'编辑':'新增'">
|
||||||
|
<el-form ref="Form"
|
||||||
|
:model="addressData"
|
||||||
|
label-width="80px"
|
||||||
|
label-position="right"
|
||||||
|
:rules="rule1">
|
||||||
|
<el-form-item label="中文地址:" prop="address">
|
||||||
|
<el-input v-model="addressData.address" placeholder="中文地址" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="英文地址:" prop="eadress">
|
||||||
|
<el-input v-model="addressData.eaddress" placeholder="英文地址" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="地址邮编:" prop="code">
|
||||||
|
<el-input v-model="addressData.code" placeholder="邮编" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="地址类型:" prop="type">
|
||||||
|
<el-select v-model="addressData.type" placeholder="请选择地址类型" clearable :style="{width: '100%'}">
|
||||||
|
<el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label"
|
||||||
|
:value="item.value" :disabled="item.disabled"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="级联选择" prop="county_code">
|
||||||
|
<el-select filterable v-model="addressData.country_code" @change='getValue'
|
||||||
|
placeholder="请选择国家"
|
||||||
|
clearable
|
||||||
|
:style="{width: '35%'}">
|
||||||
|
<el-option v-for="(item, index) in country_Options"
|
||||||
|
:key="index"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
:disabled="item.disabled">
|
||||||
|
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
|
||||||
|
<el-cascader v-model="addressData.county_code" :options="countyOptions" :props="county_prosecode"
|
||||||
|
:style="{width: '60%'}" filterable placeholder="请选择地区"></el-cascader>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
<div style="text-align:right;">
|
||||||
|
<el-button type="danger" @click="dialogVisible=false">取消</el-button>
|
||||||
|
<el-button type="primary" @click="confirm('Form')">确认</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { getAddressList, createAddress, updateAddress, deleteAddress} from "@/api/enterprise"
|
||||||
|
import Pagination from "@/components/Pagination"
|
||||||
|
import checkPermission from '@/utils/permission'
|
||||||
|
import { genTree } from "@/utils";
|
||||||
|
import Treeselect from '@riophae/vue-treeselect'
|
||||||
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||||
|
import { getDictList } from "@/api/dict";
|
||||||
|
export default {
|
||||||
|
name:'AddressData',
|
||||||
|
components: {Treeselect, Pagination},
|
||||||
|
props:['enterprise'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
addressData: {
|
||||||
|
id: null,
|
||||||
|
address: null,
|
||||||
|
eaddress: null,
|
||||||
|
code: null,
|
||||||
|
type: null,
|
||||||
|
county_code: null,
|
||||||
|
enterprise:this.enterprise
|
||||||
|
},
|
||||||
|
addressList: [],
|
||||||
|
listLoading: true,
|
||||||
|
listQuery: {
|
||||||
|
enterprise:this.enterprise
|
||||||
|
},
|
||||||
|
rule1: {
|
||||||
|
|
||||||
|
},
|
||||||
|
country_Options: [],
|
||||||
|
countyOptions:[],
|
||||||
|
field101Options: [],
|
||||||
|
county_prosecode: {
|
||||||
|
"multiple": false,
|
||||||
|
"label": "name",
|
||||||
|
"value": "value",
|
||||||
|
"children": "children"
|
||||||
|
},
|
||||||
|
typeOptions: [
|
||||||
|
{
|
||||||
|
label: "生产地址",
|
||||||
|
value: "生产地址"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "通信地址",
|
||||||
|
value: "通信地址"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "注册地址",
|
||||||
|
value: "注册地址"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
dialogVisible:false,
|
||||||
|
dialogType:'create',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.getList(),
|
||||||
|
this. getcountrytype()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
checkPermission,
|
||||||
|
getList() {
|
||||||
|
this.listLoading = true;
|
||||||
|
getAddressList(this.listQuery).then(response => {
|
||||||
|
if (response.data) {
|
||||||
|
this.addressList = response.data.results
|
||||||
|
}
|
||||||
|
this.listLoading = false
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getcountrytype() {
|
||||||
|
getDictList({ type__code: "world_regions" }).then(response => {
|
||||||
|
this.country_Options = genTree(response.data);
|
||||||
|
});
|
||||||
|
this.getValue()
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
getValue() {
|
||||||
|
console.log(this.addressData.country_code)
|
||||||
|
if (this.addressData.country_code == 69) {
|
||||||
|
getDictList({ type__code: "china_regions" }).then(response => {
|
||||||
|
this.countyOptions = genTree(response.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
this.countyOptions = '';
|
||||||
|
},
|
||||||
|
handleCreate() {
|
||||||
|
|
||||||
|
this.dialogType = 'create'
|
||||||
|
this.dialogVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['Form'].clearValidate()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleUpdate(scope) {
|
||||||
|
this.addressData = Object.assign({}, scope.row) // copy obj
|
||||||
|
this.dialogType = 'update'
|
||||||
|
this.dialogVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['Form'].clearValidate()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleDelete(scope){
|
||||||
|
deleteAddress(scope.row.id).then(res=>{
|
||||||
|
this.$notify({
|
||||||
|
title: '成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 2000
|
||||||
|
})
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
async confirm(form) {
|
||||||
|
this.$refs[form].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
const isEdit = this.dialogType === 'update'
|
||||||
|
if (isEdit) {
|
||||||
|
updateAddress(this.addressData.id, this.addressData).then(() => {
|
||||||
|
this.getList()
|
||||||
|
this.dialogVisible = false
|
||||||
|
this.$notify({
|
||||||
|
title: '成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 2000
|
||||||
|
})
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.addressData.county_code=this.addressData.county_code[2]
|
||||||
|
console.log(this.addressData)
|
||||||
|
createAddress(this.addressData).then(res => {
|
||||||
|
this.getList()
|
||||||
|
this.dialogVisible = false
|
||||||
|
this.$notify({
|
||||||
|
title: '成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 2000
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
@ -29,18 +29,14 @@
|
||||||
fit
|
fit
|
||||||
stripe
|
stripe
|
||||||
highlight-current-row
|
highlight-current-row
|
||||||
max-height="800">
|
max-height="1000">
|
||||||
<el-table-column fixed="left" type="index" width="50" />
|
<el-table-column fixed="left" type="index" width="50" />
|
||||||
<el-table-column fixed="left" width="150" label="组织查询码">
|
<el-table-column fixed="left" width="150" label="组织查询码">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.query_code }}
|
{{ scope.row.query_code }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="150" label="编号">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.fid }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column width="150" label="工厂编号">
|
<el-table-column width="150" label="工厂编号">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.code }}
|
{{ scope.row.code }}
|
||||||
|
|
@ -62,7 +58,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column width="150" label="机构类型">
|
<el-table-column width="150" label="机构类型">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope" v-if="scope.row.type">
|
||||||
{{ scope.row.type.name }}
|
{{ scope.row.type.name }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -78,7 +74,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column width="150" label="经济行业">
|
<el-table-column width="150" label="经济行业">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope" v-if="scope.row.economy_class">
|
||||||
{{ scope.row.economy_class.name }}
|
{{ scope.row.economy_class.name }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -128,12 +124,12 @@
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="primary"
|
<el-button type="primary"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!checkPermission(['implementrule_update'])"
|
:disabled="!checkPermission(['enterprise_update'])"
|
||||||
@click="handleUpdate(scope)">编辑</el-button>
|
@click="handleUpdate(scope)">编辑</el-button>
|
||||||
|
|
||||||
<el-button type="danger"
|
<el-button type="danger"
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="!checkPermission(['implementrule_delete'])"
|
:disabled="!checkPermission(['enterprise_delete'])"
|
||||||
@click="handleDelete(scope)">删除</el-button>
|
@click="handleDelete(scope)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -147,7 +143,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getEnterpriseList } from "@/api/enterprise"
|
import { getEnterpriseList,deleteEnterprise } from "@/api/enterprise"
|
||||||
import Pagination from "@/components/Pagination"
|
import Pagination from "@/components/Pagination"
|
||||||
import checkPermission from '@/utils/permission'
|
import checkPermission from '@/utils/permission'
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -191,7 +187,25 @@ export default {
|
||||||
handleCreate() {
|
handleCreate() {
|
||||||
this.$router.push({path:"/crm/enterprise/create"})
|
this.$router.push({path:"/crm/enterprise/create"})
|
||||||
},
|
},
|
||||||
|
handleDelete(scope) {
|
||||||
}
|
this.$confirm('确定删除本条数据吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
deleteEnterprise(scope.row.id).then(res=>{
|
||||||
|
this.$message.success('删除成功')
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
this.$message({
|
||||||
|
type: 'info',
|
||||||
|
message: '已取消删除'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -79,6 +79,12 @@
|
||||||
:disabled="!checkPermission(['implementrule_update'])"
|
:disabled="!checkPermission(['implementrule_update'])"
|
||||||
@click="handleUpdate(scope)"
|
@click="handleUpdate(scope)"
|
||||||
>编辑</el-button>
|
>编辑</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
:disabled="!checkPermission(['implementrule_update'])"
|
||||||
|
@click="handleUpate(scope)"
|
||||||
|
>单元划分</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
size="small"
|
size="small"
|
||||||
|
|
@ -128,7 +134,7 @@ export default {
|
||||||
this.listLoading = true;
|
this.listLoading = true;
|
||||||
getImplementRuleList(this.listQuery).then(response => {
|
getImplementRuleList(this.listQuery).then(response => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
this.ruleList = response.data
|
this.ruleList = response.data.results
|
||||||
}
|
}
|
||||||
this.listLoading = false
|
this.listLoading = false
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,149 +1,144 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-tabs type="border-card">
|
<el-row :gutter="10">
|
||||||
<el-tab-pane label="规则信息">
|
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
|
||||||
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
|
<el-col :span="18">
|
||||||
<el-row>
|
<el-form-item label="认证类型" prop="cert_type">
|
||||||
<el-col :span="8">
|
<el-select
|
||||||
<el-form-item label="认证类型" prop="cert_type">
|
v-model="formData.cert_type"
|
||||||
<el-select
|
placeholder="请选择认证类型"
|
||||||
v-model="formData.cert_type"
|
clearable
|
||||||
placeholder="请选择认证类型"
|
:style="{width: '100%'}"
|
||||||
clearable
|
>
|
||||||
:style="{width: '100%'}"
|
<el-option
|
||||||
>
|
v-for="(item, index) in cert_typeOptions"
|
||||||
<el-option
|
:key="index"
|
||||||
v-for="(item, index) in cert_typeOptions"
|
:label="item.label"
|
||||||
:key="index"
|
:value="item.value"
|
||||||
:label="item.label"
|
:disabled="item.disabled"
|
||||||
:value="item.value"
|
></el-option>
|
||||||
:disabled="item.disabled"
|
</el-select>
|
||||||
></el-option>
|
</el-form-item>
|
||||||
</el-select>
|
</el-col>
|
||||||
</el-form-item>
|
<el-col :span="18">
|
||||||
</el-col>
|
<el-form-item label="规则编号" prop="code">
|
||||||
<el-col :span="8">
|
<el-input
|
||||||
<el-form-item label="规则编号" prop="code">
|
v-model="formData.code"
|
||||||
<el-input
|
placeholder="请输入规则编号"
|
||||||
v-model="formData.code"
|
clearable
|
||||||
placeholder="请输入规则编号"
|
:style="{width: '100%'}"
|
||||||
clearable
|
></el-input>
|
||||||
:style="{width: '100%'}"
|
</el-form-item>
|
||||||
></el-input>
|
</el-col>
|
||||||
</el-form-item>
|
<el-col :span="18">
|
||||||
</el-col>
|
<el-form-item label="规则名称" prop="name">
|
||||||
<el-col :span="8">
|
<el-input
|
||||||
<el-form-item label="规则名称" prop="name">
|
v-model="formData.name"
|
||||||
<el-input
|
placeholder="请输入规则名称"
|
||||||
v-model="formData.name"
|
clearable
|
||||||
placeholder="请输入规则名称"
|
:style="{width: '100%'}"
|
||||||
clearable
|
></el-input>
|
||||||
:style="{width: '100%'}"
|
</el-form-item>
|
||||||
></el-input>
|
</el-col>
|
||||||
</el-form-item>
|
<el-col :span="18">
|
||||||
</el-col>
|
<el-form-item label="认证模式" prop="cert_pattern">
|
||||||
</el-row>
|
<el-select
|
||||||
|
v-model="formData.cert_pattern"
|
||||||
<el-col :span="24">
|
placeholder="请选择认证模式"
|
||||||
<el-form-item label="认证模式" prop="cert_pattern">
|
clearable
|
||||||
<el-select
|
:style="{width: '100%'}"
|
||||||
v-model="formData.cert_pattern"
|
:multiple="true"
|
||||||
placeholder="请选择认证模式"
|
>
|
||||||
clearable
|
<el-option
|
||||||
:style="{width: '100%'}"
|
v-for="(item, index) in cert_patternOptions"
|
||||||
:multiple="true"
|
:key="index"
|
||||||
>
|
:label="item.fullname"
|
||||||
<el-option
|
:value="item.value"
|
||||||
v-for="(item, index) in cert_patternOptions"
|
:disabled="item.disabled"
|
||||||
:key="index"
|
></el-option>
|
||||||
:label="item.fullname"
|
</el-select>
|
||||||
:value="item.value"
|
</el-form-item>
|
||||||
:disabled="item.disabled"
|
</el-col>
|
||||||
></el-option>
|
<el-col :span="18" v-if="formData.cert_type =='pv'">
|
||||||
</el-select>
|
<el-form-item label="产品领域" prop="pv_scope">
|
||||||
</el-form-item>
|
<el-select
|
||||||
</el-col>
|
v-model="formData.pv_scope"
|
||||||
<el-col :span="24" v-if="formData.cert_type =='pv'">
|
placeholder="请选择产品领域"
|
||||||
<el-form-item label="产品领域" prop="pv_scope">
|
clearable
|
||||||
<el-select
|
:style="{width: '100%'}"
|
||||||
v-model="formData.pv_scope"
|
>
|
||||||
placeholder="请选择产品领域"
|
<el-option
|
||||||
clearable
|
v-for="(item, index) in pv_scopeOptions"
|
||||||
:style="{width: '100%'}"
|
:key="index"
|
||||||
>
|
:label="item.fullname"
|
||||||
<el-option
|
:value="item.value"
|
||||||
v-for="(item, index) in pv_scopeOptions"
|
:disabled="item.disabled"
|
||||||
:key="index"
|
></el-option>
|
||||||
:label="item.fullname"
|
</el-select>
|
||||||
:value="item.value"
|
</el-form-item>
|
||||||
:disabled="item.disabled"
|
</el-col>
|
||||||
></el-option>
|
<el-col :span="18" v-if="formData.cert_type =='pv'">
|
||||||
</el-select>
|
<el-form-item label="产品分类" prop="pv_class">
|
||||||
</el-form-item>
|
<treeselect
|
||||||
</el-col>
|
v-model="formData.pv_class"
|
||||||
<el-col :span="24" v-if="formData.cert_type =='pv'">
|
placeholder="请选择产品分类"
|
||||||
<el-form-item label="产品分类" prop="pv_class">
|
clearable
|
||||||
<treeselect
|
:style="{width: '100%'}"
|
||||||
v-model="formData.pv_class"
|
:options="pv_classOptions"
|
||||||
placeholder="请选择产品分类"
|
:multiple="false"
|
||||||
clearable
|
></treeselect>
|
||||||
:style="{width: '100%'}"
|
</el-form-item>
|
||||||
:options="pv_classOptions"
|
</el-col>
|
||||||
:multiple="false"
|
<el-col :span="18" v-if="formData.cert_type =='ccc'">
|
||||||
></treeselect>
|
<el-form-item label="产品分类" prop="ccc_list">
|
||||||
</el-form-item>
|
<treeselect
|
||||||
</el-col>
|
v-model="formData.ccc_list"
|
||||||
<el-col :span="24" v-if="formData.cert_type =='ccc'">
|
placeholder="请选择产品分类"
|
||||||
<el-form-item label="产品分类" prop="ccc_list">
|
clearable
|
||||||
<treeselect
|
:style="{width: '100%'}"
|
||||||
v-model="formData.ccc_list"
|
:options="ccc_listOptions"
|
||||||
placeholder="请选择产品分类"
|
:multiple="true"
|
||||||
clearable
|
></treeselect>
|
||||||
:style="{width: '100%'}"
|
</el-form-item>
|
||||||
:options="ccc_listOptions"
|
</el-col>
|
||||||
:multiple="true"
|
<el-col :span="18">
|
||||||
></treeselect>
|
<el-form-item label="文件" prop="path">
|
||||||
</el-form-item>
|
<el-upload
|
||||||
</el-col>
|
:on-preview="handlePreview"
|
||||||
<el-col :span="24">
|
:on-success="handleSuccess"
|
||||||
<el-form-item label="文件" prop="path">
|
:action="upUrl"
|
||||||
<el-upload
|
:headers="upHeaders"
|
||||||
:on-preview="handlePreview"
|
:limit="1"
|
||||||
:on-success="handleSuccess"
|
:file-list="fileList"
|
||||||
:action="upUrl"
|
>
|
||||||
:headers="upHeaders"
|
<el-button size="small" type="primary">点击上传</el-button>
|
||||||
:limit="1"
|
</el-upload>
|
||||||
:file-list="fileList"
|
</el-form-item>
|
||||||
>
|
</el-col>
|
||||||
<el-button size="small" type="primary">点击上传</el-button>
|
<el-col :span="24">
|
||||||
</el-upload>
|
<el-form-item size="large">
|
||||||
</el-form-item>
|
<el-button type="primary" @click="submitForm">保存</el-button>
|
||||||
</el-col>
|
<el-button
|
||||||
<el-col :span="24" style="margin-top:4px">
|
type="primary"
|
||||||
<el-form-item size="large">
|
@click="submitForm2"
|
||||||
<el-button type="primary" @click="submitForm">保存</el-button>
|
v-if="formData.cert_type =='ccc'|| formData.cert_type == 'pv'"
|
||||||
<el-button @click="resetForm">重置</el-button>
|
>保存并继续单元划分</el-button>
|
||||||
</el-form-item>
|
<el-button @click="resetForm">重置</el-button>
|
||||||
</el-col>
|
</el-form-item>
|
||||||
</el-form>
|
</el-col>
|
||||||
</el-tab-pane>
|
</el-form>
|
||||||
<el-tab-pane label="单元类型划分" v-if="(formData.cert_type =='ccc'|| formData.cert_type == 'pv')&&(formData.id)">
|
</el-row>
|
||||||
<Unittype :implementrule="formData.id"></Unittype>
|
|
||||||
</el-tab-pane>
|
|
||||||
</el-tabs>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getDictList } from "@/api/dict";
|
import { getDictList } from "@/api/dict";
|
||||||
import { updateImplementRule, getImplementRule } from "@/api/implementrule";
|
import { createImplementRule, getImplementRule } from "@/api/implementrule";
|
||||||
import { genTree } from "@/utils";
|
import { genTree } from "@/utils";
|
||||||
import Treeselect from "@riophae/vue-treeselect";
|
import Treeselect from "@riophae/vue-treeselect";
|
||||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
import { upUrl, upHeaders } from "@/api/file";
|
import { upUrl, upHeaders } from "@/api/file";
|
||||||
import Unittype from "@/views/implementrule/unittype";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { Treeselect, Unittype },
|
components: { Treeselect },
|
||||||
props: [],
|
props: [],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
@ -205,10 +200,18 @@ export default {
|
||||||
value: "sys"
|
value: "sys"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
pv_scopeOptions: [],
|
pv_scopeOptions: [
|
||||||
pv_classOptions: [],
|
|
||||||
ccc_listOptions: [],
|
],
|
||||||
cert_patternOptions: []
|
pv_classOptions: [
|
||||||
|
|
||||||
|
],
|
||||||
|
ccc_listOptions: [
|
||||||
|
|
||||||
|
],
|
||||||
|
cert_patternOptions: [
|
||||||
|
|
||||||
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
|
|
@ -216,12 +219,12 @@ export default {
|
||||||
"formData.cert_type": "changeRules"
|
"formData.cert_type": "changeRules"
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.formData.id = this.$route.query.id; //接收参数
|
this.formData.id = this.$route.query.id //接收参数
|
||||||
this.getRule();
|
this.getRule();
|
||||||
this.getPvscope();
|
this.getPvscope()
|
||||||
this.getPvclass();
|
this.getPvclass()
|
||||||
this.getCccList();
|
this.getCccList()
|
||||||
this.getCertpattern();
|
this.getCertpattern()
|
||||||
},
|
},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
@ -270,8 +273,8 @@ export default {
|
||||||
},
|
},
|
||||||
getRule() {
|
getRule() {
|
||||||
getImplementRule(this.formData.id).then(response => {
|
getImplementRule(this.formData.id).then(response => {
|
||||||
this.formData = response.data;
|
this.formData = response.data
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
getPvscope() {
|
getPvscope() {
|
||||||
getDictList({ type__code: "pv_scope" }).then(response => {
|
getDictList({ type__code: "pv_scope" }).then(response => {
|
||||||
|
|
@ -305,11 +308,17 @@ export default {
|
||||||
this.$refs["elForm"].validate(valid => {
|
this.$refs["elForm"].validate(valid => {
|
||||||
if (!valid) return;
|
if (!valid) return;
|
||||||
// TODO 提交表单
|
// TODO 提交表单
|
||||||
updateImplementRule(this.formData.id, this.formData).then(response => {
|
createImplementRule(this.formData).then(response => {
|
||||||
this.$message({
|
this.$router.go(-1);
|
||||||
type: 'success',
|
});
|
||||||
message: '成功!'
|
});
|
||||||
})
|
},
|
||||||
|
submitForm2() {
|
||||||
|
this.$refs["elForm"].validate(valid => {
|
||||||
|
if (!valid) return;
|
||||||
|
// TODO 提交表单
|
||||||
|
createImplementRule(this.formData).then(response => {
|
||||||
|
//this.$router.go(-1);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
@ -318,4 +327,4 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,76 @@
|
||||||
|
# Generated by Django 3.0.5 on 2020-07-06 02:48
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import django.utils.timezone
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
('system', '0021_auto_20200616_1722'),
|
||||||
|
('crm', '0005_auto_20200701_1505'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='mailing_address',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='mailing_code',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='mailing_eaddress',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='production_address',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='production_eaddress',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='production_postcode',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='registered_address',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='registered_code',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='enterprise',
|
||||||
|
name='registered_eaddress',
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='EnterpriseAddress',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||||
|
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||||
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
|
('address', models.CharField(blank=True, max_length=1000, null=True, verbose_name='地址名称')),
|
||||||
|
('eaddress', models.CharField(blank=True, max_length=1000, null=True, verbose_name='地址英文名称')),
|
||||||
|
('code', models.CharField(blank=True, max_length=1000, null=True, verbose_name='地址邮编邮编')),
|
||||||
|
('type', models.CharField(choices=[('2', '注册地址'), ('1', '通信地址'), ('0', '生产地址')], default='生产地址', max_length=50, verbose_name='地址类型')),
|
||||||
|
('country_code', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterpriseaddress_country_code', to='system.Dict', verbose_name='国家代码')),
|
||||||
|
('county_code', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterpriseaddress_county_code', to='system.Dict', verbose_name='县/区代码')),
|
||||||
|
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterpriseaddress_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||||
|
('enterprise', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterpriseaddress_enterprise', to='crm.Enterprise', verbose_name='地址属性')),
|
||||||
|
('provinceCode', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterpriseaddress_provinceCode', to='system.Dict', verbose_name='省代码')),
|
||||||
|
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterpriseaddress_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from apps.system.models import CommonBModel, Dict
|
from apps.system.models import CommonBModel,CommonAModel,Dict
|
||||||
from simple_history.models import HistoricalRecords
|
from simple_history.models import HistoricalRecords
|
||||||
import uuid
|
import uuid
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
@ -27,20 +27,7 @@ class Enterprise(CommonBModel):
|
||||||
linkman2_fax = models.CharField('备用联系人传真',max_length=300,null=True, blank=True)
|
linkman2_fax = models.CharField('备用联系人传真',max_length=300,null=True, blank=True)
|
||||||
country_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,null=True, blank=True,verbose_name='生产企业所在国家地区代码', related_name= 'enterprise_country_code')
|
country_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,null=True, blank=True,verbose_name='生产企业所在国家地区代码', related_name= 'enterprise_country_code')
|
||||||
credit_code = models.CharField('统一社会信用代码',max_length=300,null=True, blank=True)
|
credit_code = models.CharField('统一社会信用代码',max_length=300,null=True, blank=True)
|
||||||
registered_address = models.CharField('注册地址',max_length=1000,null=True, blank=True)
|
|
||||||
registered_eaddress = models.CharField('注册地址英文',max_length=1000,null=True, blank=True)
|
|
||||||
registered_code = models.CharField('注册地址邮编',max_length=1000,null=True, blank=True)
|
|
||||||
production_address = models.CharField('生产地址',null=True, blank=True,max_length=1000)
|
|
||||||
production_eaddress = models.CharField('生产英文地址',null=True, blank=True,max_length=1000)
|
|
||||||
production_postcode = models.CharField('生产地址邮编',null=True, blank=True,max_length=100)
|
|
||||||
mailing_address = models.CharField('通信地址',max_length=1000,null=True, blank=True)
|
|
||||||
mailing_eaddress = models.CharField('通信英文地址',max_length=1000,null=True, blank=True)
|
|
||||||
mailing_code = models.CharField('地址邮编',max_length=300,null=True, blank=True)
|
|
||||||
region_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='县/区',null=True, blank=True, related_name= 'enterprise_region_code1')
|
region_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='县/区',null=True, blank=True, related_name= 'enterprise_region_code1')
|
||||||
# status = models.CharField('是否受理',null=True, blank=True, max_length=1000)
|
|
||||||
# bak1 = models.CharField('',null=True, blank=True, max_length=1000)
|
|
||||||
# bak2 = models.CharField('',null=True, blank=True, max_length=1000)
|
|
||||||
# bak3 = models.CharField('',null=True, blank=True, max_length=1000)
|
|
||||||
professional = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='所属专业',null=True, blank=True, related_name= 'enterprise_professional')
|
professional = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='所属专业',null=True, blank=True, related_name= 'enterprise_professional')
|
||||||
qms_person = models.IntegerField('QMS人数',null=True, blank=True)
|
qms_person = models.IntegerField('QMS人数',null=True, blank=True)
|
||||||
ems_person = models.IntegerField('EMS人数',null=True, blank=True)
|
ems_person = models.IntegerField('EMS人数',null=True, blank=True)
|
||||||
|
|
@ -69,12 +56,23 @@ class Enterprise(CommonBModel):
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
class EnterpriseAddress(CommonAModel):
|
class EnterpriseAddress(CommonAModel):
|
||||||
EnterpriseFid = models.ForeignKey(Enterprise, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='地址属性', related_name='enterpriseaddress_ enterpriseFid')
|
type_choices = (
|
||||||
|
('注册地址', '注册地址'),
|
||||||
|
('通信地址', '通信地址'),
|
||||||
|
('生产地址', '生产地址')
|
||||||
|
)
|
||||||
|
enterprise= models.ForeignKey(Enterprise, on_delete=models.SET_NULL, null=True, blank=True, verbose_name='地址属性', related_name='enterpriseaddress_enterprise')
|
||||||
address = models.CharField('地址名称',max_length=1000,null=True, blank=True)
|
address = models.CharField('地址名称',max_length=1000,null=True, blank=True)
|
||||||
eaddress = models.CharField('地址英文名称',max_length=1000,null=True, blank=True)
|
eaddress = models.CharField('地址英文名称',max_length=1000,null=True, blank=True)
|
||||||
code = models.CharField('地址邮编邮编',max_length=1000,null=True, blank=True)
|
code = models.CharField('地址邮编',max_length=1000,null=True, blank=True)
|
||||||
type = models.CharField('地址属性',max_length=1000,null=True, blank=True)
|
type = models.CharField('地址类型', max_length=50,choices=type_choices, default='生产地址')
|
||||||
county_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='县/区代码',null=True, blank=True, related_name= 'enterpriseaddress_county_code')
|
county_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='县/区代码',null=True, blank=True, related_name= 'enterpriseaddress_county_code')
|
||||||
country_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='国家代码',null=True, blank=True, related_name= 'enterpriseaddress_country_code')
|
country_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='国家代码',null=True, blank=True, related_name= 'enterpriseaddress_country_code')
|
||||||
provinceCode = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='省代码',null=True, blank=True, related_name= 'enterpriseaddress_provinceCode')
|
provinceCode = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='省代码',null=True, blank=True, related_name= 'enterpriseaddress_provinceCode')
|
||||||
|
class Meta:
|
||||||
|
verbose_name = '组织地址'
|
||||||
|
verbose_name_plural = verbose_name
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from .models import Enterprise
|
from .models import Enterprise,EnterpriseAddress
|
||||||
from apps.system.serializers import DictSerializer
|
from apps.system.serializers import DictSerializer
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13,7 +13,7 @@ class EnterpriseListSerializer(serializers.ModelSerializer):
|
||||||
economy_class = DictSerializer()
|
economy_class = DictSerializer()
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Enterprise
|
model = Enterprise
|
||||||
fields = ['id','query_code', 'code','fid', 'name','ename','type','legal','production_address','production_eaddress','production_postcode','build_time','person_count','ceramics_output','gassets','linkman1_name','linkman1_tel','linkman1_mobile','country_code','credit_code','professional','all_person','economy_class','economy_type','linkman1_duty','business_type']
|
fields = ['id','query_code', 'code', 'name','ename','type','legal','build_time','person_count','ceramics_output','gassets','linkman1_name','linkman1_tel','linkman1_mobile','country_code','credit_code','professional','all_person','economy_class','economy_type','linkman1_duty','business_type']
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def setup_eager_loading(queryset):
|
def setup_eager_loading(queryset):
|
||||||
""" Perform necessary eager loading of data. """
|
""" Perform necessary eager loading of data. """
|
||||||
|
|
@ -21,4 +21,11 @@ class EnterpriseListSerializer(serializers.ModelSerializer):
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
def get_cert_type(self, obj):
|
def get_cert_type(self, obj):
|
||||||
return obj.get_cert_type_display()
|
return obj.get_cert_type_display()
|
||||||
|
class EnterpriseAddressSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = EnterpriseAddress
|
||||||
|
fields = '__all__'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from .views import EnterpriseViewSet
|
from .views import EnterpriseViewSet,EnterpriseAddressViewSet
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
router.register('enterprise', EnterpriseViewSet, basename="enterprise")
|
router.register('enterprise', EnterpriseViewSet, basename="enterprise")
|
||||||
|
router.register('enterpriseaddress', EnterpriseAddressViewSet, basename="enterpriseaddress")
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', include(router.urls))
|
path('', include(router.urls))
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
|
||||||
from rest_framework.viewsets import ModelViewSet
|
from rest_framework.viewsets import ModelViewSet
|
||||||
from .models import Enterprise
|
from .models import Enterprise,EnterpriseAddress
|
||||||
from utils.queryset import get_child_queryset2
|
from utils.queryset import get_child_queryset2
|
||||||
from .serializers import EnterpriseSerializer,EnterpriseListSerializer
|
from .serializers import EnterpriseSerializer,EnterpriseListSerializer,EnterpriseAddressSerializer
|
||||||
from apps.system.permission_data import RbacFilterSet
|
from apps.system.permission_data import RbacFilterSet
|
||||||
|
from apps.system.mixins import CreateUpdateCustomMixin, OptimizationMixin
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
|
||||||
class EnterpriseViewSet(RbacFilterSet, ModelViewSet):
|
class EnterpriseViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet):
|
||||||
perms_map = {'get': '*', 'post': 'Enterprise_create',
|
perms_map = {'get': '*', 'post': 'Enterprise_create',
|
||||||
'put': 'Enterprise_update', 'delete': 'Enterprise_delete'}
|
'put': 'Enterprise_update', 'delete': 'Enterprise_delete'}
|
||||||
queryset = Enterprise.objects
|
queryset = Enterprise.objects
|
||||||
|
|
@ -20,9 +21,13 @@ class EnterpriseViewSet(RbacFilterSet, ModelViewSet):
|
||||||
return EnterpriseListSerializer
|
return EnterpriseListSerializer
|
||||||
return EnterpriseSerializer
|
return EnterpriseSerializer
|
||||||
|
|
||||||
def get_queryset(self):
|
|
||||||
queryset = self.queryset
|
class EnterpriseAddressViewSet(CreateUpdateCustomMixin, OptimizationMixin, ModelViewSet):
|
||||||
if hasattr(self.get_serializer_class(), 'setup_eager_loading'):
|
perms_map = {'get': '*', 'post': 'enterpriseaddress_create',
|
||||||
queryset = self.get_serializer_class().setup_eager_loading(queryset) # 性能优化
|
'put': 'enterpriseaddress_update', 'delete': 'enterpriseaddress_delete'}
|
||||||
return queryset
|
queryset = EnterpriseAddress.objects
|
||||||
|
serializer_class = EnterpriseAddressSerializer
|
||||||
|
search_fields = ['address']
|
||||||
|
ordering = ['-create_time']
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue