diff --git a/client/src/api/ability.js b/client/src/api/ability.js new file mode 100644 index 0000000..13becc6 --- /dev/null +++ b/client/src/api/ability.js @@ -0,0 +1,32 @@ +import request from '@/utils/request' + +export function getUserDetailList(query) { + return request({ + url: '/employee/userdetail/', + method: 'get', + params: query + }) +} + +export function createUserDetail(data) { + return request({ + url: '/employee/userdetail/', + method: 'post', + data + }) +} + +export function updateUserDetail(id, data) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'put', + data + }) +} + +export function deleteUserDetail(id) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'delete' + }) +} \ No newline at end of file diff --git a/client/src/api/education.js b/client/src/api/education.js new file mode 100644 index 0000000..13becc6 --- /dev/null +++ b/client/src/api/education.js @@ -0,0 +1,32 @@ +import request from '@/utils/request' + +export function getUserDetailList(query) { + return request({ + url: '/employee/userdetail/', + method: 'get', + params: query + }) +} + +export function createUserDetail(data) { + return request({ + url: '/employee/userdetail/', + method: 'post', + data + }) +} + +export function updateUserDetail(id, data) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'put', + data + }) +} + +export function deleteUserDetail(id) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'delete' + }) +} \ No newline at end of file diff --git a/client/src/api/qualification.js b/client/src/api/qualification.js new file mode 100644 index 0000000..13becc6 --- /dev/null +++ b/client/src/api/qualification.js @@ -0,0 +1,32 @@ +import request from '@/utils/request' + +export function getUserDetailList(query) { + return request({ + url: '/employee/userdetail/', + method: 'get', + params: query + }) +} + +export function createUserDetail(data) { + return request({ + url: '/employee/userdetail/', + method: 'post', + data + }) +} + +export function updateUserDetail(id, data) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'put', + data + }) +} + +export function deleteUserDetail(id) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'delete' + }) +} \ No newline at end of file diff --git a/client/src/api/train.js b/client/src/api/train.js new file mode 100644 index 0000000..13becc6 --- /dev/null +++ b/client/src/api/train.js @@ -0,0 +1,32 @@ +import request from '@/utils/request' + +export function getUserDetailList(query) { + return request({ + url: '/employee/userdetail/', + method: 'get', + params: query + }) +} + +export function createUserDetail(data) { + return request({ + url: '/employee/userdetail/', + method: 'post', + data + }) +} + +export function updateUserDetail(id, data) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'put', + data + }) +} + +export function deleteUserDetail(id) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'delete' + }) +} \ No newline at end of file diff --git a/client/src/api/userdetail.js b/client/src/api/userdetail.js new file mode 100644 index 0000000..13becc6 --- /dev/null +++ b/client/src/api/userdetail.js @@ -0,0 +1,32 @@ +import request from '@/utils/request' + +export function getUserDetailList(query) { + return request({ + url: '/employee/userdetail/', + method: 'get', + params: query + }) +} + +export function createUserDetail(data) { + return request({ + url: '/employee/userdetail/', + method: 'post', + data + }) +} + +export function updateUserDetail(id, data) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'put', + data + }) +} + +export function deleteUserDetail(id) { + return request({ + url: `/employee/userdetail/${id}/`, + method: 'delete' + }) +} \ No newline at end of file diff --git a/client/src/main.js b/client/src/main.js index c404257..1565358 100644 --- a/client/src/main.js +++ b/client/src/main.js @@ -14,6 +14,8 @@ import router from './router' import '@/icons' // icon import '@/permission' // permission control +// import Treeselect from '@riophae/vue-treeselect' + /** * If you don't want to use mock-server * you want to use MockJs for mock api diff --git a/client/src/router/index.js b/client/src/router/index.js index 3d29026..f67e1c5 100644 --- a/client/src/router/index.js +++ b/client/src/router/index.js @@ -127,6 +127,27 @@ export const asyncRoutes = [ }, ] }, + { + path: '/employee', + component: Layout, + redirect: '/employee/userdetail', + name: 'Employee', + meta: { title: '人员管理', icon: 'example'}, + children: [ + { + path: 'userdetail', + name: 'UserDetail', + component: () => import('@/views/employee/userdetail'), + meta: { title: '人员信息', icon: 'example', perms: ['userdetail_manage'] } + }, + { + path: 'qualification', + name: 'Qualification', + component: () => import('@/views/employee/qualification'), + meta: { title: '注册资格', icon: 'example', perms: ['qualification_manage'] } + }, + ] + }, { path: '/system', component: Layout, diff --git a/client/src/views/employee/qualification.vue b/client/src/views/employee/qualification.vue new file mode 100644 index 0000000..cf5e3a0 --- /dev/null +++ b/client/src/views/employee/qualification.vue @@ -0,0 +1,168 @@ + + diff --git a/client/src/views/employee/userdetail.vue b/client/src/views/employee/userdetail.vue new file mode 100644 index 0000000..95b1821 --- /dev/null +++ b/client/src/views/employee/userdetail.vue @@ -0,0 +1,168 @@ + + diff --git a/client/src/views/enterprise/addresstype.vue b/client/src/views/enterprise/addresstype.vue index b0f001b..58ffa9d 100644 --- a/client/src/views/enterprise/addresstype.vue +++ b/client/src/views/enterprise/addresstype.vue @@ -8,7 +8,7 @@ style="width: 100%;margin-top:10px;" border fit - stripe + stripe="true" highlight-current-row max-height="600"> @@ -65,7 +65,7 @@ :value="item.value" :disabled="item.disabled"> - + - - + + + - +
取消 确认 @@ -106,18 +107,20 @@ export default { props:['enterprise'], data() { return { - addressData: { + addressData: { id: null, address: null, eaddress: null, code: null, type: null, county_code: null, - enterprise:this.enterprise + enterprise: this.enterprise, + country_code:null, }, addressList: [], listLoading: true, - + dialogVisible:false, + dialogType:'create', rule1: { }, @@ -144,14 +147,13 @@ export default { value: "注册地址" } ], - dialogVisible:false, - dialogType:'create', + }; }, created() { this.getList(), - this. getcountrytype() + this.getcountrytype() }, methods: { checkPermission, @@ -160,8 +162,9 @@ export default { this.listLoading = true; getAddressList({ enterprise: this.enterprise }).then(response => { if (response.data) { - this.addressList = response.data - console.log(response.data) + this.addressList = response.data; + + } this.listLoading = false }); @@ -170,22 +173,40 @@ export default { getDictList({ type__code: "world_regions" }).then(response => { this.country_Options = genTree(response.data); }); - this.getValue() - - }, - - getValue() { - - if (this.addressData.country_code == 69) { - getDictList({ type__code: "china_regions" }).then(response => { + getDictList({ type__code: "china_regions" }).then(response => { this.countyOptions = genTree(response.data); }); - } - else - this.countyOptions = ''; + }, + + + getValue() { + + if (this.addressData.country_code == 69) { + getDictList({ type__code: "china_regions" }).then(response => { + this.countyOptions = genTree(response.data); + }); + } + else { + this.countyOptions = ""; + } + + + + }, handleCreate() { - + this.addressData= { + id: null, + address: null, + eaddress: null, + code: null, + type: null, + county_code: null, + enterprise: this.enterprise, + country_code: null + + + }, this.dialogType = 'create' this.dialogVisible = true this.$nextTick(() => { @@ -232,7 +253,7 @@ handleDelete(scope){ if (valid) { const isEdit = this.dialogType === 'update' if (isEdit) { - this.addressData.county_code=this.addressData.county_code[2] + this.addressData.county_code=this.addressData.countyarry[2] updateAddress(this.addressData.id, this.addressData).then(() => { this.getList() this.dialogVisible = false @@ -243,8 +264,9 @@ handleDelete(scope){ }) }) } else { - this.addressData.county_code=this.addressData.county_code[2] - console.log(this.addressData) + + this.addressData.county_code=this.addressData.countyarry[2] + createAddress(this.addressData).then(res => { this.getList() this.dialogVisible = false diff --git a/client/src/views/implementrule/implementrule.vue b/client/src/views/implementrule/implementrule.vue index e12b7e0..687531f 100644 --- a/client/src/views/implementrule/implementrule.vue +++ b/client/src/views/implementrule/implementrule.vue @@ -1,8 +1,9 @@ - + @@ -105,11 +106,15 @@
diff --git a/client/src/views/implementrule/implementrulecreate.vue b/client/src/views/implementrule/implementrulecreate.vue index e99a117..19452a4 100644 --- a/client/src/views/implementrule/implementrulecreate.vue +++ b/client/src/views/implementrule/implementrulecreate.vue @@ -5,21 +5,10 @@ - - - - + + @@ -63,7 +52,7 @@
- + - + - + - + @@ -151,7 +140,8 @@ export default { upHeaders: upHeaders(), upUrl: upUrl(), formData: { - cert_type: undefined, + id:null, + cert_field: undefined, code: undefined, name: undefined, pv_scope: undefined, @@ -159,7 +149,7 @@ export default { ccc_list: undefined }, rules: { - cert_type: [ + cert_field: [ { required: true, message: "请选择认证类型", @@ -191,20 +181,8 @@ export default { pv_class: [], ccc_list: [] }, - cert_typeOptions: [ - { - label: "自愿性产品认证", - value: "pv" - }, - { - label: "强制性产品认证", - value: "ccc" - }, - { - label: "管理体系认证", - value: "sys" - } - ], + cert_fieldOptions: [], + cert_field_code:null, pv_scopeOptions: [], pv_classOptions: [], ccc_listOptions: [], @@ -213,16 +191,21 @@ export default { }, computed: {}, watch: { - "formData.cert_type": "changeRules" + // "formData.cert_field": "changeRules" }, created() { this.getPvscope(); this.getPvclass(); this.getCccList(); this.getCertpattern(); + this.getCerttype(); }, mounted() {}, methods: { + typeChange(node,id){ + this.cert_field_code = node.code + this.changeRules(node.code) + }, handlePreview(file) { if ("url" in file) { window.open(file.url); @@ -233,8 +216,8 @@ export default { handleSuccess(response, file, fileList) { this.formData.path = response.data.path; }, - changeRules() { - if (this.formData.cert_type == "pv") { + changeRules(val) { + if (val == "pv") { this.rules.pv_scope = [ { required: true, @@ -250,7 +233,7 @@ export default { } ]; this.rules.ccc_list = []; - } else if (this.formData.cert_type == "ccc") { + } else if (val == "ccc") { this.rules.ccc_list = [ { required: true, @@ -271,6 +254,13 @@ export default { this.formData = response.data; }); }, + getCerttype() { + getDictList({ type__code: "cert_field" }).then(response => { + if (response.data) { + this.cert_fieldOptions = genTree(response.data); + } + }); + }, getPvscope() { getDictList({ type__code: "pv_scope" }).then(response => { if (response.data) { @@ -304,10 +294,8 @@ export default { if (!valid) return; // TODO 提交表单 createImplementRule(this.formData).then(response => { - this.$message({ - type: 'success', - message: '成功!' - }) + this.$message.success('成功') + this.formData.id = response.data.id }); }); }, diff --git a/client/src/views/implementrule/implementruleupdate.vue b/client/src/views/implementrule/implementruleupdate.vue index 1cc8eb5..48ad3ea 100644 --- a/client/src/views/implementrule/implementruleupdate.vue +++ b/client/src/views/implementrule/implementruleupdate.vue @@ -1,133 +1,129 @@