diff --git a/client/src/api/audit.js b/client/src/api/audit.js new file mode 100644 index 0000000..600c04e --- /dev/null +++ b/client/src/api/audit.js @@ -0,0 +1,17 @@ +import request from '@/utils/request' + +export function getAuditTaskList(query) { + return request({ + url: '/audit/mytask/', + method: 'get', + params: query + }) +} + +export function getAuditCertappList(query) { + return request({ + url: '/audit/myauditcertapp/', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/client/src/api/member.js b/client/src/api/member.js index 108b63e..6ed5474 100644 --- a/client/src/api/member.js +++ b/client/src/api/member.js @@ -31,3 +31,11 @@ export function updateMember(id, data) { data }) } + +export function daysMember(id, data) { + return request({ + url: `/plan/member/${id}/days/`, + method: 'put', + data + }) +} diff --git a/client/src/api/project.js b/client/src/api/project.js index bdf1722..9fe4131 100644 --- a/client/src/api/project.js +++ b/client/src/api/project.js @@ -39,9 +39,16 @@ export function getProject(id) { }) } -export function assginProject(id, data) { +export function nextProject(id) { return request({ - url: `/project/project/${id}/assgin/`, + url: `/project/project/${id}/next/`, + method: 'put' + }) +} + +export function edateProject(id, data) { + return request({ + url: `/project/project/${id}/edate/`, method: 'put', data }) diff --git a/client/src/router/index.js b/client/src/router/index.js index b3d8f0f..39f48dc 100644 --- a/client/src/router/index.js +++ b/client/src/router/index.js @@ -100,10 +100,24 @@ export const asyncRoutes = [ hidden: true }, { - path: 'certapp/:action/:kind/', - name: 'CertappForm', - component: () => import('@/views/certapp/certappform'), - meta: { title: '申请受理单', icon: 'example', perms: ['certapp_create', 'certapp_update'] }, + path: 'certapp/create/:id/', + name: 'Certappcreate', + component: () => import('@/views/certapp/certappcreate'), + meta: { title: '申请受理单创建', icon: 'example', perms: ['certapp_create'] }, + hidden: true + }, + { + path: 'certapp/:id/update/', + name: 'Certappupdate', + component: () => import('@/views/certapp/certapphandle'), + meta: { title: '申请受理单修改', icon: 'example', perms: ['certapp_update'] }, + hidden: true + }, + { + path: 'certapp/:id/detail/', + name: 'Certappdetail', + component: () => import('@/views/certapp/certapphandle'), + meta: { title: '业务详情', icon: 'example', perms: ['certapp_detail'] }, hidden: true }, ] @@ -119,7 +133,7 @@ export const asyncRoutes = [ path: 'plan', name: 'Plan', component: () => import('@/views/plan/plan'), - meta: { title: '计划', icon: 'example', perms: ['plan_view'] } + meta: { title: '策划', icon: 'example', perms: ['plan_view'] } }, { path: 'paichai', @@ -128,26 +142,53 @@ export const asyncRoutes = [ meta: { title: '派差', icon: 'example', perms: ['plan_view'] } }, { - path: 'project', - name: 'HandleProject', - component: () => import('@/views/plan/handle'), - meta: { title: '联系企业', icon: 'example', perms: ['project_view'] }, + path: 'project/:id/', + name: 'PlanProject', + component: () => import('@/views/project/handle'), + meta: { title: '项目', icon: 'example', perms: ['project_view'] }, + hidden: true + }, + { + path: 'certapp/:id/:action/', + name: 'Certappmember', + component: () => import('@/views/certapp/certapphandle'), + meta: { title: '派人', icon: 'example', perms: ['plan_view'] }, hidden: true }, ] }, { - path: '/spot', + path: '/audit', component: Layout, - redirect: '/spot/spot', - name: 'SpotM', + redirect: '/audit/task', + name: 'Audit', meta: { title: '现场审核', icon: 'example'}, children: [ { - path: 'spot', - name: 'Spot', - component: () => import('@/views/plan/plan'), - meta: { title: '现场审核', icon: 'example', perms: ['plan_view'] } + path: 'task', + name: 'AuditTask', + component: () => import('@/views/audit/task'), + meta: { title: '我的任务', icon: 'example', perms: ['audittask_view'] } + }, + { + path: 'fee', + name: 'Fee', + component: () => import('@/views/audit/fee'), + meta: { title: '劳务费', icon: 'example', perms: ['taskfee_view'] } + }, + { + path: 'project/:id/', + name: 'AuditProject', + component: () => import('@/views/project/handle'), + meta: { title: '项目', icon: 'example', perms: ['project_view'] }, + hidden: true + }, + { + path: 'certapp/:id/:action/', + name: 'Certappfeedback', + component: () => import('@/views/certapp/certapphandle'), + meta: { title: '业务审核反馈', icon: 'example', perms: ['certapp_feedback'] }, + hidden: true }, ] }, diff --git a/client/src/store/getters.js b/client/src/store/getters.js index 1854b88..6fb48b8 100644 --- a/client/src/store/getters.js +++ b/client/src/store/getters.js @@ -4,6 +4,7 @@ const getters = { token: state => state.user.token, avatar: state => state.user.avatar, name: state => state.user.name, + username: state => state.user.username, perms: state => state.user.perms, permission_routes: state => state.permission.routes } diff --git a/client/src/store/modules/user.js b/client/src/store/modules/user.js index d75d478..51af0ca 100644 --- a/client/src/store/modules/user.js +++ b/client/src/store/modules/user.js @@ -5,6 +5,7 @@ import { resetRouter } from '@/router' const getDefaultState = () => { return { token: getToken(), + username: '', name: '', avatar: '', perms: [] @@ -23,6 +24,9 @@ const mutations = { SET_NAME: (state, name) => { state.name = name }, + SET_USERNAME: (state, username) => { + state.username = username + }, SET_AVATAR: (state, avatar) => { state.avatar = avatar }, @@ -57,7 +61,7 @@ const actions = { reject('验证失败,重新登陆.') } - const { perms, name, avatar } = data + const { perms, name, avatar, username } = data // perms must be a non-empty array if (!perms || perms.length <= 0) { @@ -66,6 +70,7 @@ const actions = { commit('SET_PERMS', perms) commit('SET_NAME', name) + commit('SET_USERNAME', username) commit('SET_AVATAR', avatar) resolve(data) }).catch(error => { diff --git a/client/src/styles/index.scss b/client/src/styles/index.scss index 0662b49..f6533a1 100644 --- a/client/src/styles/index.scss +++ b/client/src/styles/index.scss @@ -85,4 +85,10 @@ div:focus { } .el-dialog__body { padding: 8px 12px; +} +// .el-form-item--medium .el-form-item__label { +// line-height: 16px; +// } +.el-form--label-top .el-form-item__label { + line-height: 16px; } \ No newline at end of file diff --git a/client/src/views/audit/conclusion.vue b/client/src/views/audit/conclusion.vue new file mode 100644 index 0000000..41aaa70 --- /dev/null +++ b/client/src/views/audit/conclusion.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/client/src/views/audit/fee.vue b/client/src/views/audit/fee.vue new file mode 100644 index 0000000..16d3e25 --- /dev/null +++ b/client/src/views/audit/fee.vue @@ -0,0 +1,220 @@ + + + + + 月计划 + + + + 新建计划 + + + + + {{ scope.row.number }} + + + {{ scope.row.auditee_v.name }} + + + + {{item}} + + + + {{ scope.row.status}} + + + {{ scope.row.create_by_.name}} + + + + {{ scope.row.create_time }} + + + + + + 编辑 + 删除 + + + + + + + + + + 待处理项目 + + + + + + {{ scope.row.number }} + + + {{ scope.row.auditee_v.name }} + + + + {{item}} + + + + {{ scope.row.status}} + + + + + + + + {{ scope.row.assign_by_.name}} + + + + {{ scope.row.create_time }} + + + + + + 联系企业 + 详情 + + + + + + + + + + diff --git a/client/src/views/audit/member.vue b/client/src/views/audit/member.vue new file mode 100644 index 0000000..71ddea9 --- /dev/null +++ b/client/src/views/audit/member.vue @@ -0,0 +1,293 @@ + + + + + {{ scope.row.user_.name }} + + + + + + + + {{ scope.row.identity_.name }} + + + + + + + + {{ scope.row.man_days }} + + + {{ scope.row.days }} + + + + + + + 成员配置 + + + + + + + + + + + + + + + + + + + + 组长 + + + + + + 添加新成员 + 保存 + 重置 + + + + + + + + + 审核员参与天数/人日数 + + + + + + + + + + + + + + + + + 保存 + + + + + + + + + + + + \ No newline at end of file diff --git a/client/src/views/audit/task.vue b/client/src/views/audit/task.vue new file mode 100644 index 0000000..0bce9c8 --- /dev/null +++ b/client/src/views/audit/task.vue @@ -0,0 +1,259 @@ + + + + + + 我的项目 + + + + + + + + 搜索 + 重置 + + + + + + + {{ scope.row.number }} + + + {{ scope.row.plan_.name }} + + + {{ scope.row.auditee_v.name }} + + + + {{item}} + + + + {{ scope.row.status}} + + + + + + {{item.user_.name}} + + + + + + + + {{ scope.row.create_time }} + + + + + + 处理 + 详情 + + + + + + + + + 项目下我的业务 + + + + + {{ scope.row.number }} + + + + {{scope.row.cert_field_.name}} + {{scope.row.cccpv_class_.name}} + + + + + 申请方:{{ scope.row.applicant_v.name }} + 制造商:{{ scope.row.manufacture_v.name }} + 生产厂:{{ scope.row.factory_v.name }} + + + + + {{ scope.row.status}} + + + + + + + {{item.user_.name}} + + + + + + + + {{ scope.row.create_time }} + + + + + + 反馈 + 详情 + + + + + + + + diff --git a/client/src/views/certapp/cccform.vue b/client/src/views/certapp/cccform.vue index 185be40..1b3dd51 100644 --- a/client/src/views/certapp/cccform.vue +++ b/client/src/views/certapp/cccform.vue @@ -269,10 +269,9 @@ export default { name: "CCCform", inheritAttrs: false, components: { Enterprisechose, Treeselect }, - props: ["action", "certapp"], + props: ["certapp"], data() { return { - // act:this.action, formData: { field_code: 'CCC', applicant: null, @@ -372,10 +371,10 @@ export default { }, created() { - console.log(this.certapp) - if(this.action!='create'){ - this.formData = this.certapp + if(this.certapp!=null){ +this.formData = this.certapp } + this.getCCCOptions(); this.getlevelOptions(); @@ -397,7 +396,7 @@ export default { }else{ createCertapp(this.formData).then((res) => { this.$message.success('成功') - this.$router.replace({name:"CertappForm", params:{action:'update', kind:'CCC'}, query:{id:res.data.id}}) + this.$router.replace({name:"Certappupdate", params:{id:res.data.id}}) }); } diff --git a/client/src/views/certapp/certapp.vue b/client/src/views/certapp/certapp.vue index 57228cb..b80d1d2 100644 --- a/client/src/views/certapp/certapp.vue +++ b/client/src/views/certapp/certapp.vue @@ -184,10 +184,10 @@ export default { this.getList() }, handleCreate(item, index) { - this.$router.push({name:"CertappForm", params:{kind:item.code, action:'create'}}) + this.$router.push({name:"Certappcreate", params:{kind:item.code}}) }, handleUpdate(scope) { - this.$router.push({name:"CertappForm", params:{action:'update', kind:scope.row.cert_field_.code}, query:{id:scope.row.id}}) + this.$router.push({name:"Certappupdate", params:{ id:scope.row.id}}) }, handleDelete(scope) { deleteCertapp(scope.row.id).then(res=>{ diff --git a/client/src/views/certapp/certappcreate.vue b/client/src/views/certapp/certappcreate.vue new file mode 100644 index 0000000..f250f0b --- /dev/null +++ b/client/src/views/certapp/certappcreate.vue @@ -0,0 +1,49 @@ + + + + + + + + + + + diff --git a/client/src/views/certapp/certappform.vue b/client/src/views/certapp/certappform.vue deleted file mode 100644 index 0d088a5..0000000 --- a/client/src/views/certapp/certappform.vue +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - 完成受理 - - - - - diff --git a/client/src/views/certapp/certapphandle.vue b/client/src/views/certapp/certapphandle.vue new file mode 100644 index 0000000..2318858 --- /dev/null +++ b/client/src/views/certapp/certapphandle.vue @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + 完成受理 + + + + + + + + + + + diff --git a/client/src/views/certapp/productunit.vue b/client/src/views/certapp/productunit.vue index c5e8d96..4014b09 100644 --- a/client/src/views/certapp/productunit.vue +++ b/client/src/views/certapp/productunit.vue @@ -3,7 +3,7 @@ { + this.$refs["elForm2"].validate((valid) => { + if (!valid) return; + // TODO 提交表单 + createMember(this.formDataMember).then(res=>{ this.$message.success('成功') this.getMemberList_() }) + }); + }, updateNowM(){ if(this.formDataMember.id){ diff --git a/client/src/views/plan/paichai.vue b/client/src/views/plan/paichai.vue index f8cb32d..16d3e25 100644 --- a/client/src/views/plan/paichai.vue +++ b/client/src/views/plan/paichai.vue @@ -170,7 +170,7 @@ export default { listQuery_project: { page: 1, page_size: 20, - status:"待派差" + status:"待策划" }, projectData: { count: 0, results: [] }, }; diff --git a/client/src/views/plan/plan.vue b/client/src/views/plan/plan.vue index 0fb054d..b328887 100644 --- a/client/src/views/plan/plan.vue +++ b/client/src/views/plan/plan.vue @@ -6,9 +6,8 @@ 月计划 (当前选择: - - {{nowPlan.name}} - ) + {{nowPlan.name}} + ) @@ -62,7 +61,7 @@ - 待处理项目 + 待策划项目 @@ -98,27 +97,22 @@ {{ scope.row.status}} - - - - - - - {{ scope.row.assign_by_.name}} + + {{ scope.row.create_by_.name}} {{ scope.row.create_time }} - + 月计划项目 + (当前选择: + {{nowPlan.name}} + ) - - {{ scope.row.assign_by_.name}} + + {{ scope.row.create_by_.name}} {{ scope.row.create_time }} - + 计划 + 任务下达 - - + + @@ -231,9 +241,15 @@ diff --git a/client/src/views/project/handle.vue b/client/src/views/project/handle.vue new file mode 100644 index 0000000..a6e3fdd --- /dev/null +++ b/client/src/views/project/handle.vue @@ -0,0 +1,690 @@ + + + + + + + 项目信息 + + + + + 项目号 + {{project.number}} + + + 所属计划 + {{project.plan_.name}} + 暂无 + + + + 当前状态 + {{project.status}} + + + 任务下达人 + {{project.assign_by_.name}} + + + 预计审核时间 + {{edate_[0].substring(0,16)}}-{{edate_[1].substring(0,16)}} + + + 可派差 + + + + + + + + + + + + + + 保存 + + + + + + + + + + + 受审核方 + 更多企业信息 + + {{auditee.name}} + + + {{item.type}} + {{item.address}} + + + 常用联系人 + {{auditee.linkman1_name}}/{{auditee.linkman1_duty}}/{{auditee.linkman1_mobile}} + + + 备用联系人 + {{auditee.linkman2_name}}/{{auditee.linkman2_duty}}/{{auditee.linkman2_mobile}} + + + + + + + + + + 业务信息 + + + + {{ scope.row.number }} + + + + {{scope.row.cert_field_.name}} + {{scope.row.cccpv_class_.name}} + + + + + {{ scope.row.status}} + + + {{ scope.row.accept_by_.name}} + + + + {{ scope.row.create_time }} + + + + + + 反馈 + 派人 + 详情 + + + + + + + + + + + + 联系记录 + + + + {{ scope.row.contact_date }} + + + {{ scope.row.content }} + + + {{ scope.row.create_by_.name }} + + + + + + + + + + + + + + + + + + + + + + + 创建新记录 + + 重置 + + + + + + + + + + 常用语 + + {{item}} + + + + + + + + + + 审核组成员 + + + + {{ scope.row.user_.name }} + + + + + + + + {{ scope.row.identity_.name }} + + + + + + + + + + + + + 组长 + + + + + + + + + + + + 添加新成员 + 保存 + 重置 + + + + + + + + + 审核总反馈 + + + + + + + + + + + + + 合规 + 存在问题 + + + + + + + + + + + + + + 提交反馈 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/client/src/views/project/project.vue b/client/src/views/project/project.vue index 22df5f8..761c364 100644 --- a/client/src/views/project/project.vue +++ b/client/src/views/project/project.vue @@ -44,12 +44,12 @@ 下达 + @click="handleNext(scope)" + >转策划