Browse Source

科研人员花名册鞥加二级单位/部门选择功能

ljb 9 months ago
parent
commit
a9479bfc5d

+ 8 - 5
src/components/second-unit-cascader/index.vue

@@ -28,14 +28,17 @@ export default {
       this.$emit('input', newVal);
       this.$emit('input', newVal);
       this.$emit('change', this.cascaderVal, this.findValName(this.value))
       this.$emit('change', this.cascaderVal, this.findValName(this.value))
     },
     },
-    value(newVal) {
-      console.log(newVal, this.findValArr(newVal))
-      // this.cascaderVal = this.findValArr(newVal);
-    },
+    // value(newVal) {
+    //   console.log(newVal, this.findValArr(newVal))
+    //   // this.cascaderVal = this.findValArr(newVal);
+    // },
     yearAndMonth(newVal) {
     yearAndMonth(newVal) {
       this.getListFunc();
       this.getListFunc();
     },
     },
   },
   },
+  mounted() {
+    this.getListFunc();
+  },
   methods: {
   methods: {
     buildTree(flatList, options = {}) {
     buildTree(flatList, options = {}) {
       const {
       const {
@@ -118,7 +121,7 @@ export default {
           this.list = data.data;
           this.list = data.data;
           this.treeData = this.loopData(this.buildTree(data.data));
           this.treeData = this.loopData(this.buildTree(data.data));
 
 
-          
+          console.log(this.value)
           this.cascaderVal = this.findValArr(this.value);
           this.cascaderVal = this.findValArr(this.value);
         }
         }
       })
       })

+ 7 - 23
src/option/basicResource/technicianRoster.js

@@ -121,38 +121,22 @@ export default {
       ],
       ],
     },
     },
     {
     {
-      label: '所属二级单位',
-      prop: 'secondaryUnit',
-      type: 'input',
+      label: '所属二级单位/部门',
+      prop: 'departmentId',
+      type: 'select',
       span: 12,
       span: 12,
-      width: 100,
-      search: true,
-      align: 'center',
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入所属二级单位',
-          trigger: 'blur',
-        },
-      ],
+      hide: true,
     },
     },
     {
     {
-      label: '部门/科室/项目部',
+      label: '所属二级单位/部门',
       prop: 'department',
       prop: 'department',
       type: 'input',
       type: 'input',
       span: 12,
       span: 12,
-      width: 120,
+      width: 140,
       search: true,
       search: true,
       align: 'center',
       align: 'center',
       showOverflowTooltip: true,
       showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入部门/科室/项目部',
-          trigger: 'blur',
-        },
-      ],
+      display: false,
     },
     },
     {
     {
       label: '岗位职务',
       label: '岗位职务',

+ 2 - 12
src/option/techPerson/cyPersonRoster.js

@@ -52,21 +52,11 @@ export default {
         showOverflowTooltip: true,
         showOverflowTooltip: true,
       },
       },
       {
       {
-        label: '所属二级单位',
-        prop: 'secondaryUnit',
-        type: 'input',
-        span: 12,
-        width: 100,
-        search: true,
-        align: 'center',
-        showOverflowTooltip: true,
-      },
-      {
-        label: '部门/科室/项目部',
+        label: '所属二级单位/部门',
         prop: 'department',
         prop: 'department',
         type: 'input',
         type: 'input',
         span: 12,
         span: 12,
-        width: 120,
+        width: 180,
         search: true,
         search: true,
         align: 'center',
         align: 'center',
         showOverflowTooltip: true,
         showOverflowTooltip: true,

+ 2 - 12
src/option/techPerson/cyPersonSumList.js

@@ -52,21 +52,11 @@ export default {
       showOverflowTooltip: true,
       showOverflowTooltip: true,
     },
     },
     {
     {
-      label: '所属二级单位',
-      prop: 'secondaryUnit',
-      type: 'input',
-      span: 12,
-      width: 140,
-      search: true,
-      align: 'center',
-      showOverflowTooltip: true,
-    },
-    {
-      label: '部门/科室/项目部',
+      label: '所属二级单位/部门',
       prop: 'department',
       prop: 'department',
       type: 'input',
       type: 'input',
       span: 12,
       span: 12,
-      width: 140,
+      width: 180,
       search: true,
       search: true,
       align: 'center',
       align: 'center',
       showOverflowTooltip: true,
       showOverflowTooltip: true,

+ 2 - 26
src/option/techPerson/highTechPersonSumList.js

@@ -122,38 +122,14 @@ export default {
       ],
       ],
     },
     },
     {
     {
-      label: '所属二级单位',
-      prop: 'secondaryUnit',
-      type: 'input',
-      span: 12,
-      width: 100,
-      search: true,
-      align: 'center',
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入所属二级单位',
-          trigger: 'blur',
-        },
-      ],
-    },
-    {
-      label: '部门/科室/项目部',
+      label: '所属二级单位/部门',
       prop: 'department',
       prop: 'department',
       type: 'input',
       type: 'input',
       span: 12,
       span: 12,
-      width: 120,
+      width: 180,
       search: true,
       search: true,
       align: 'center',
       align: 'center',
       showOverflowTooltip: true,
       showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入部门/科室/项目部',
-          trigger: 'blur',
-        },
-      ],
     },
     },
     {
     {
       label: '岗位职务',
       label: '岗位职务',

+ 2 - 13
src/option/techPerson/monthSjcyry.js

@@ -87,22 +87,11 @@ export default {
       display: false
       display: false
     },
     },
     {
     {
-      label: '所属二级单位',
-      prop: 'secondaryUnit',
-      type: 'input',
-      span: 24,
-      width: 140,
-      search: true,
-      align: 'center',
-      showOverflowTooltip: true,
-      display: false
-    },
-    {
-      label: '部门/科室/项目部',
+      label: '所属二级单位/部门',
       prop: 'department',
       prop: 'department',
       type: 'input',
       type: 'input',
       span: 24,
       span: 24,
-      width: 140,
+      width: 200,
       search: true,
       search: true,
       align: 'center',
       align: 'center',
       showOverflowTooltip: true,
       showOverflowTooltip: true,

+ 2 - 2
src/option/yfCostManage/basicDataSetting/monthSalaryList.js

@@ -60,11 +60,11 @@ export default {
       showOverflowTooltip: true,
       showOverflowTooltip: true,
     },
     },
     {
     {
-      label: '部门',
+      label: '所属二级单位/部门',
       prop: 'department',
       prop: 'department',
       type: 'input',
       type: 'input',
       span: 24,
       span: 24,
-      width: 100,
+      width: 160,
       search: true,
       search: true,
       disabled: true,
       disabled: true,
       align: 'center',
       align: 'center',

+ 1 - 1
src/option/yfCostManage/yfCostStatistics/depreSummaryList.js

@@ -18,7 +18,7 @@ export default {
   showSummary: true,
   showSummary: true,
   sumColumnList: [
   sumColumnList: [
     {
     {
-      lael: '合计:',
+      label: '合计:',
       name: 'yqsbzjfy',
       name: 'yqsbzjfy',
       type: 'sum',
       type: 'sum',
     },
     },

+ 19 - 1
src/views/basic-resource/comp-basic-info/technician-roster.vue

@@ -53,6 +53,10 @@
           <year-month-select v-model="params.yearAndMonth"></year-month-select>
           <year-month-select v-model="params.yearAndMonth"></year-month-select>
         </div>
         </div>
       </template>
       </template>
+
+      <template slot="departmentIdForm">
+        <second-unit-cascader v-model="form.departmentId" :yearAndMonth="currYear" @change="handleSecondUnitChange" />
+      </template>
       
       
     </avue-crud>
     </avue-crud>
 
 
@@ -78,12 +82,14 @@ import moment from "moment";
 import {getToken} from "@/util/auth";
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import {downloadXls} from "@/util/util";
 import { isAlphanumericCombination } from "@/util/regex";
 import { isAlphanumericCombination } from "@/util/regex";
+import secondUnitCascader from "@/components/second-unit-cascader";
 
 
 
 
 export default window.$crudCommon({
 export default window.$crudCommon({
   components: {
   components: {
     YearMonthSelect,
     YearMonthSelect,
     UploadExcelDialog,
     UploadExcelDialog,
+    secondUnitCascader
   },
   },
   data() {
   data() {
     return {
     return {
@@ -94,6 +100,8 @@ export default window.$crudCommon({
 
 
       wideTableColumns: [],
       wideTableColumns: [],
       printTitle: "",
       printTitle: "",
+
+      secondUnitNameArr: []
     };
     };
   },
   },
   watch: {
   watch: {
@@ -109,6 +117,9 @@ export default window.$crudCommon({
     }
     }
   },
   },
   computed: {
   computed: {
+    currYear() {
+      return moment(this.params.yearAndMonth).format('YYYY')
+    },
     permissionList() {
     permissionList() {
       return {
       return {
         addBtn: !this.isSelAnnual,
         addBtn: !this.isSelAnnual,
@@ -118,6 +129,9 @@ export default window.$crudCommon({
     },
     },
   },
   },
   methods: {
   methods: {
+    handleSecondUnitChange(val, nameArr) {
+      this.secondUnitNameArr = nameArr;
+    },
     validCustom() {
     validCustom() {
       if (!this.form.number && !this.form.idCard) {
       if (!this.form.number && !this.form.idCard) {
         this.$message.warning("工号和身份证号必须填写一项!");
         this.$message.warning("工号和身份证号必须填写一项!");
@@ -129,7 +143,11 @@ export default window.$crudCommon({
       return true;
       return true;
     },
     },
     getFormData() {
     getFormData() {
-      return { ...this.form, yearAndMonth: this.params.yearAndMonth };
+      let _deptId;
+      if (this.form.departmentId && this.form.departmentId instanceof Array) {
+        _deptId = this.form.departmentId[this.form.departmentId.length - 1];
+      }
+      return { ...this.form, departmentId: _deptId, department: this.secondUnitNameArr.join('/'), yearAndMonth: this.params.yearAndMonth };
     },
     },
     addBefore(loading, callback) {
     addBefore(loading, callback) {
       if (!this.validCustom()) {
       if (!this.validCustom()) {

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

@@ -25,7 +25,9 @@
             ></project-select>
             ></project-select>
           </td>
           </td>
           <td class="doc-label">项目申请单位</td>
           <td class="doc-label">项目申请单位</td>
-          <td class="doc-input">{{ selProject.xmsqdw }}</td>
+          <td class="doc-input">
+            {{ selProject.xmsqdw }}
+          </td>
         </tr>
         </tr>
         <tr>
         <tr>
           <td class="doc-label">项目负责人</td>
           <td class="doc-label">项目负责人</td>
@@ -90,12 +92,14 @@
 
 
 <script>
 <script>
 import projectSelect from "@/components/project-select";
 import projectSelect from "@/components/project-select";
+import secondUnitCascader from "@/components/second-unit-cascader";
 import { save, getDetail } from "@/api/projectManage/accept";
 import { save, getDetail } from "@/api/projectManage/accept";
 import moment from "moment";
 import moment from "moment";
 
 
 export default {
 export default {
   components: {
   components: {
-    projectSelect
+    projectSelect,
+    secondUnitCascader
   },
   },
   props: {
   props: {
     projectId: [String, Number]
     projectId: [String, Number]
@@ -265,6 +269,7 @@ export default {
       });
       });
     },
     },
     handleProjectChange(data) {
     handleProjectChange(data) {
+      console.log(data.xmsqdwid)
       this.selProject = data;
       this.selProject = data;
     },
     },
     validForm() {
     validForm() {

+ 0 - 1
src/views/project-manage/components/apply-form.vue

@@ -370,7 +370,6 @@ export default {
       return `年 月 日至 年 月 日`;
       return `年 月 日至 年 月 日`;
     },
     },
     yearAndMonth() {
     yearAndMonth() {
-      console.log(!!this.formData.xmkssj)
       return !!this.formData.xmkssj ? moment(this.formData.xmkssj).format('yyyy') : '';
       return !!this.formData.xmkssj ? moment(this.formData.xmkssj).format('yyyy') : '';
     }
     }
   },
   },

+ 0 - 1
src/views/tech-person/cy-person-roster.vue

@@ -127,7 +127,6 @@ export default window.$crudCommon({
 
 
       let total = new Decimal(0);
       let total = new Decimal(0);
       for (let i=0; i<12; i++) {
       for (let i=0; i<12; i++) {
-        console.log(item[`${i+1}`])
         total = total.add(new Decimal(item[`${i+1}`] || 0));
         total = total.add(new Decimal(item[`${i+1}`] || 0));
       }
       }
       item.total = total;
       item.total = total;