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 6cf4023..66dc5d2 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 @@ + + 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 @@ + + \ 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 @@ + + diff --git a/client/src/views/certapp/cccform.vue b/client/src/views/certapp/cccform.vue index df41ca2..a70d023 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,11 +371,12 @@ 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(); @@ -398,7 +398,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/certapphandle.vue b/client/src/views/certapp/certapphandle.vue new file mode 100644 index 0000000..61620a8 --- /dev/null +++ b/client/src/views/certapp/certapphandle.vue @@ -0,0 +1,89 @@ + + diff --git a/client/src/views/certapp/charge.vue b/client/src/views/certapp/charge.vue index 11ee176..4810a2c 100644 --- a/client/src/views/certapp/charge.vue +++ b/client/src/views/certapp/charge.vue @@ -21,19 +21,20 @@ - + - + - + @@ -142,7 +143,7 @@ - @@ -175,16 +176,17 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css"; inheritAttrs: false, components: { Treeselect }, - props: ["action", "certapp"], + props: ["certapp"], data() { return { tableData: [], selectlistRow: [], rowNum:1, formData: { - number:this.certapp.id, + number:this.certapp, totalfee: null, deductions:null, + exchangetype: "人名币-RMB-¥", exchangerate: null, paidrmb: null, paidwb: null, @@ -221,9 +223,12 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css"; created() { this.getDiclist(); - this.getChareList(); - + + if(this.certapp!=null){ + this.getChareList(); + + } }, mounted() {}, @@ -267,29 +272,26 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css"; getChareList() { - getBillList({ number:this.certapp.id }).then((response) => { - console.log(response.data[0]) - if (response.data[0] != 'undefined') { - - + getBillList({ number:this.certapp }).then((response) => { + this.listLoading = true; + + if (response.data.length) { this.formData = response.data[0]; - getChargeitemList({ bills:response.data[0].bills }).then((response) => { + getChargeitemList({ bills:response.data[0].feecode }).then((response) => { if (response.data) { - this.tableData = response.data.results; + this.tableData = response.data; } - + }); - } - - + this.listLoading = false; }); - + }, @@ -308,6 +310,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css"; this.$refs["elForm"].validate(valid => { if (!valid) return; // TODO 提交表单 + createBill(this.formData).then(response => { this.$message({ @@ -315,12 +318,16 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css"; message: '成功!' }) - var billid = response.data.feecode; + for (var i=0; i < val.length; i++) { this.chargeIetm = val[i] - this.chargeIetm.bills = billid; + this.chargeIetm.bills = this.formData.feecode; createChargeitem(this.chargeIetm).then(response => { - + this.$message({ + type: 'success', + message: '成功!' + + }) }) } diff --git a/client/src/views/certapp/productunit.vue b/client/src/views/certapp/productunit.vue index c5e8d96..12f2a3b 100644 --- a/client/src/views/certapp/productunit.vue +++ b/client/src/views/certapp/productunit.vue @@ -3,7 +3,7 @@ { + if (response.data) { + this.tableData = response.data; + } this.listLoading = false; }); diff --git a/client/src/views/certapp/qmsform.vue b/client/src/views/certapp/qmsform.vue index 75fee27..96166fb 100644 --- a/client/src/views/certapp/qmsform.vue +++ b/client/src/views/certapp/qmsform.vue @@ -328,9 +328,9 @@ export default { }, created() { - console.log(this.certapp) - if(this.action!='create'){ - this.formData = this.certapp + if(this.certapp!=null){ +this.formData = this.certapp + } this.getTypeOptions(); this.getProfOptions(); @@ -364,7 +364,7 @@ export default { }else{ createCertapp(this.formData).then((res) => { this.$message.success('成功') - this.$emit("handleCommit", res.data); + this.$router.replace({name:"Certappupdate", params:{id:res.data.id}}) }); } diff --git a/client/src/views/plan/handle.vue b/client/src/views/plan/handle.vue index d9ac205..ec4d256 100644 --- a/client/src/views/plan/handle.vue +++ b/client/src/views/plan/handle.vue @@ -499,10 +499,15 @@ export default { this.choseVisiable = true }, appendNewM(){ - createMember(this.formDataMember).then(res=>{ + 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 @@ - - - - - + + - +
月计划项目 + (当前选择: + {{nowPlan.name}} + )
- - + + - + 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 @@ + + + \ 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 @@