ljb месяцев назад: 10
Родитель
Сommit
2777e90a2b

+ 1 - 1
src/mixins/crud.js

@@ -175,7 +175,7 @@ export default (app, option = {}) => {
         if (done) done();
         if (this.validatenull(params)) {
           Object.keys(this.params).forEach(ele => {
-            if (!['createTime_dategt', 'createTime_datelt', 'yearAndMonth'].includes(ele)) {
+            if (!['createTime_dategt', 'createTime_datelt', 'yearAndMonth', 'xmId'].includes(ele)) {
               delete this.params[ele];
             }
           })

+ 0 - 9
src/option/projectManage/change.js

@@ -20,7 +20,6 @@ export default {
       label: '研发项目名称',
       prop: 'yfxmmc',
       type: 'input',
-      search: true,
       minWidth: 240,
       showOverflowTooltip: true,
     },
@@ -30,7 +29,6 @@ export default {
       type: 'input',
       minWidth: 160,
       align: 'center',
-      search: true,
       showOverflowTooltip: true,
     },
     {
@@ -39,7 +37,6 @@ export default {
       type: 'select',
       minWidth: 140,
       align: 'center',
-      search: true,
       showOverflowTooltip: true,
     },
     {
@@ -53,7 +50,6 @@ export default {
         label: 'dictValue',
         value: 'dictKey',
       },
-      search: true,
       showOverflowTooltip: true,
     },
     {
@@ -74,11 +70,6 @@ export default {
       label: '变更生效时间',
       prop: 'bzsxssj',
       width: 160,
-      search: true,
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
       align: 'center',
       showOverflowTooltip: true,
     },

+ 16 - 13
src/option/projectManage/personCost.js

@@ -12,7 +12,7 @@ export default {
   labelWidth: 140,
   menuWidth: 220,
   dialogClickModal: false,
-  dialogWidth: 760,
+  dialogWidth: 500,
   dialogType: "drawer",
   height: '600',
   column: [
@@ -20,7 +20,7 @@ export default {
       label: '姓名',
       prop: 'name',
       type: 'select',
-      span: 12,
+      span: 24,
       width: 100,
       align: 'center',
       showOverflowTooltip: true,
@@ -34,18 +34,20 @@ export default {
       label: '工号',
       prop: 'number',
       type: 'input',
-      span: 12,
+      span: 24,
       width: 160,
       align: 'center',
+      display: false,
       showOverflowTooltip: true,
     },
     {
       label: '身份证号',
       prop: 'identityCard',
       type: 'input',
-      span: 12,
+      span: 24,
       width: 160,
       align: 'center',
+      display: false,
       showOverflowTooltip: true,
     },
     {
@@ -53,8 +55,8 @@ export default {
       prop: 'zzsc',
       type: 'number',
       min: 0,
-      span: 12,
-      width: 90,
+      span: 24,
+      minWidth: 90,
       align: 'center',
       showOverflowTooltip: true,
     },
@@ -63,8 +65,8 @@ export default {
       prop: 'pjrgfy',
       type: 'number',
       min: 0,
-      span: 12,
-      width: 90,
+      span: 24,
+      minWidth: 90,
       align: 'center',
       showOverflowTooltip: true,
     },
@@ -73,19 +75,20 @@ export default {
       prop: 'total',
       type: 'number',
       min: 0,
-      span: 12,
-      width: 80,
+      span: 24,
+      minWidth: 80,
       align: 'center',
+      display: false,
       showOverflowTooltip: true,
     },
     {
       label: '是否为外聘科技人员',
       prop: 'isWp',
-      type: 'number',
       min: 0,
-      span: 12,
-      width: 90,
+      span: 24,
+      minWidth: 90,
       align: 'center',
+      display: false,
       showOverflowTooltip: true,
     },
   ],

+ 26 - 1
src/views/project-manage/change.vue

@@ -1,6 +1,18 @@
 <template>
   <basic-container>
+    <div style="margin-top: 6px;">
+      <el-form :inline="true">
+        <el-form-item label="研发项目名称">
+          <project-select v-model="currProjectId" @change="handleProjectChange"></project-select>
+        </el-form-item>
+        <el-form-item label="研发项目编号">
+          {{ selProject.xmbh }}
+        </el-form-item>
+      </el-form>
+    </div>
+
     <avue-crud
+      ref="crud"
       v-bind="bindVal"
       v-on="onEvent"
       v-model="form"
@@ -51,23 +63,36 @@
 <script>
 import {exportBloByPost} from "@/api/common";
 import {getToken} from "@/util/auth";
+import projectSelect from "@/components/project-select";
 import {downloadXls} from "@/util/util";
 import changeForm from "./components/change-form.vue";
 
 
 export default window.$crudCommon({
+  props: {
+    projectId: [String, Number]
+  },
   components: {
-    changeForm
+    changeForm,
+    projectSelect
   },
   data() {
     return {
+      currProjectId: '',
+      selProject: {},
       drawerVisible: false,
 
       wideTableColumns: [],
       printTitle: "",
     };
   },
+  created() {
+    this.currProjectId = this.projectId;
+  },
   methods: {
+    handleProjectChange(data) {
+      this.selProject = data;
+    },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/xm-bgrz/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
         downloadXls(res.data, `项目变更列表.xlsx`);

+ 19 - 2
src/views/project-manage/components/accept-form.vue

@@ -74,8 +74,25 @@
     </table>
 
     <avue-form v-model="formData" :option="option" style="margin-top: 30px; padding: 0;">
-      <template slot="jdbgType" slot-scope="{file}">
-        <span>{{file.originalName}}</span>
+      <template slot="ysbgLabel">
+        <label>验收报告</label>
+        <el-link type="primary" style="position: absolute; left: 220px;">下载模板</el-link>
+      </template>
+      <template slot="jsbgLabel">
+        <label>技术报告</label>
+        <el-link type="primary" style="position: absolute; left: 220px;">下载模板</el-link>
+      </template>
+      <template slot="cgbgLabel">
+        <label>成果报告</label>
+        <el-link type="primary" style="position: absolute; left: 220px;">下载模板</el-link>
+      </template>
+      <template slot="xybgLabel">
+        <label>效益报告</label>
+        <el-link type="primary" style="position: absolute; left: 220px;">下载模板</el-link>
+      </template>
+      <template slot="yspwLabel">
+        <label>验收批文</label>
+        <el-link type="primary" style="position: absolute; left: 220px;">下载模板</el-link>
       </template>
     </avue-form>
     <p class="tip">注:可一次上传多个相关文件(文档、表格、图片等)。 支持格式:DOC, PDF, Excel, PNG, JPG, PPT 等。 请确保文件内容清晰有效。</p>

+ 18 - 3
src/views/project-manage/components/person-cost.vue

@@ -3,7 +3,7 @@
     <div style="margin-top: 6px;">
       <el-form :inline="true">
         <el-form-item label="研发项目名称">
-          <project-select v-model="currProjectId" @change="handleProjectChange"></project-select>
+          <project-select v-model="params.xmId" @change="handleProjectChange"></project-select>
         </el-form-item>
         <el-form-item label="研发项目编号">
           {{ selProject.xmbh }}
@@ -71,6 +71,7 @@ import UploadExcelDialog from "@/components/upload-excel-dialog";
 import projectSelect from "@/components/project-select";
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
+import Decimal from "decimal.js";
 
 
 export default window.$crudCommon({
@@ -83,7 +84,9 @@ export default window.$crudCommon({
   },
   data() {
     return {
-      currProjectId: '',
+      params: {
+        xmId: ''
+      },
       selProject: {},
 
       wideTableColumns: [],
@@ -91,12 +94,13 @@ export default window.$crudCommon({
     };
   },
   created() {
-    this.currProjectId = this.projectId;
+    this.params.xmId = this.projectId;
     this.option.height = window.innerHeight - 340;
   },
   methods: {
     handleProjectChange(data) {
       this.selProject = data;
+      this.getList();
     },
     handleImport() {
       let excelParams = { yearAndMonth: this.params.yearAndMonth };
@@ -127,6 +131,17 @@ export default window.$crudCommon({
   // 模块路径
   name: 'projectManage/personCost',
   res: ({ data }) => {
+    data.records = data.records.map(item => {
+      let zzsc = new Decimal(item.zzsc || 0);
+      let pjrgfy = new Decimal(item.pjrgfy || 0);
+
+      item.name = item.technician.name;
+      item.number = item.technician.number;
+      item.identityCard = item.technician.identityCard;
+      item.total = zzsc.mul(pjrgfy);
+      item.isWp = item.nature === '在职' ? '是' : '否';
+      return item;
+    });
     return data;
   },
 });

+ 8 - 2
src/views/project-manage/ky-budget.vue

@@ -1,9 +1,15 @@
 <template>
-  <div>研发项目经费预算表</div>
+  <basic-container>
+    <project-budget></project-budget>
+  </basic-container>
 </template>
 
 <script>
+import projectBudget from './components/project-budget.vue'
+
 export default {
-  
+  components: {
+    projectBudget
+  }
 }
 </script>