zhengnaiwen_citu há 5 meses atrás
pai
commit
260ef14d9d

+ 7 - 4
src/views/accumulatePoints/accumulatePointsApply/index.vue

@@ -40,8 +40,8 @@ export default {
     return {
       searchItems: [
         {
-          label: '名',
-          prop: 'name',
+          label: '员工姓名',
+          prop: 'employeeName',
           type: 'input',
           options: {
             placeholder: '请输入名称'
@@ -49,7 +49,7 @@ export default {
         }
       ],
       searchValues: {
-        name: null
+        employeeName: null
       },
       headers: [
         { label: '月份', prop: 'month' },
@@ -77,7 +77,10 @@ export default {
       this.loading = true
       try {
         const { data } = await getAccumulatePointList({
-          ...this.searchValues,
+          entity: {
+            ...this.searchValues
+            // recordType: 1
+          },
           ...this.pageInfo
         })
         this.items = data.records

+ 1 - 1
src/views/salary/calculate/index.vue

@@ -24,7 +24,7 @@ export default {
     }
   },
   created () {
-    this.items = this.$route.meta.roles.filter(e => e.hidden === 1).sort((a, b) => b - a).map(e => {
+    this.items = this.$route.meta.roles.filter(e => e.hidden === 1).sort((a, b) => a.sort - b.sort).map(e => {
       return {
         name: e.name,
         label: e.label,

+ 0 - 67
src/views/salary/comparison/index.vue

@@ -1,67 +0,0 @@
-<template>
-  <div class="white pa-3">
-    <el-tabs v-model="activeName" @tab-click="handleClick">
-      <el-tab-pane
-        v-for="item in items"
-        :key="item.name"
-        :label="item.label"
-        :name="item.name"
-      >
-        <component :is="item.component" :ref="item.name" @hook:mounted="onComponentMounted" @history="onHistory"></component>
-      </el-tab-pane>
-    </el-tabs>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'salary-comparison',
-  data () {
-    return {
-      activeName: '',
-      items: [],
-      itemData: {}
-    }
-  },
-  created () {
-    this.items = this.$route.meta.roles.filter(e => e.hidden === 1).sort((a, b) => b - a).map(e => {
-      return {
-        name: e.name,
-        label: e.label,
-        component: () => import(`./${e.component}/index.vue`)
-      }
-    })
-    if (this.$route.query.name) {
-      this.activeName = this.$route.query.name
-    } else {
-      this.activeName = this.items[0].name
-    }
-  },
-  methods: {
-    handleClick () {
-      this.$router.push(`${this.$route.path}?name=${this.activeName}`)
-      this.$nextTick(() => {
-        this.$refs[this.activeName][0].onInit()
-      })
-    },
-    onComponentMounted () {
-      this.$refs[this.activeName] && this.$refs[this.activeName][0].onInit()
-    },
-    onHistory (row) {
-      this.itemData = row
-      this.$refs.drawerHistoryRefs.open(`${row.title} 历史记录`)
-    },
-    async getPage () {
-      return new Promise((resolve, reject) => {
-
-      })
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-::v-deep .el-tabs__content  {
-  overflow: visible !important;
-}
-</style>

+ 0 - 243
src/views/salary/comparison/salaryEmployeeComparison/index.vue

@@ -1,243 +0,0 @@
-<template>
-  <div>
-    <m-search :items="searchItems" v-model="searchValues" class="mb-3" @search="onSearch">
-      <template #button>
-        <el-upload class="el-button pa-0" action="#" :show-file-list="false" :http-request="onImport">
-          <m-button type="orange" icon="el-icon-upload2" :loading="importLoading" plain>导入手工数据</m-button>
-        </el-upload>
-        <m-button type="orange" icon="el-icon-download" :loading="downloadLoading" plain @click="onExport">导出手工数据模板</m-button>
-      </template>
-    </m-search>
-    <m-table
-      :items="items"
-      :headers="headers"
-      :loading="loading"
-      :total="total"
-      :page-size="pageInfo.size"
-      :page-current="pageInfo.current"
-      :row-class-name="rowClassName"
-      @page-change="onPageChange"
-      @expand-change="onExpandChange"
-    >
-      <template #expand="{ row }">
-        <el-form label-position="left" inline class="demo-table-expand">
-          <m-card shadow="nerve">
-            <el-timeline>
-              <el-timeline-item
-                :hide-timestamp="true">
-                <el-row>
-                  <el-col :span="4">月份</el-col>
-                  <el-col :span="4">绩效薪资</el-col>
-                  <el-col :span="4">数据来源</el-col>
-                  <el-col :span="4">写入时间</el-col>
-                  <el-col :span="4">操作</el-col>
-                </el-row>
-              </el-timeline-item>
-              <el-timeline-item
-                v-for="(list, index) in row.childrenList"
-                :key="index"
-                :hide-timestamp="true">
-                <el-row>
-                  <el-col class="col" :span="4">{{ list.month }}</el-col>
-                  <el-col class="col" :span="4">{{ list.performanceSalary || '暂无' }}</el-col>
-                  <el-col class="col" :span="4">{{ list.dataType === 1 ? '手工录入' : '系统数据'}}</el-col>
-                  <el-col class="col" :span="4">{{ list.createDate }}</el-col>
-                  <el-col class="col" :span="4">
-                    <m-button v-if="checked"  type="text" size="small" icon="el-icon-check" disabled>已使用当前版本</m-button>
-                    <m-button
-                      v-else
-                      type="orange"
-                      size="small"
-                      @click="onConfirm(list)"
-                    >确认使用该版本</m-button>
-                  </el-col>
-                </el-row>
-              </el-timeline-item>
-            </el-timeline>
-          </m-card>
-        </el-form>
-      </template>
-    </m-table>
-  </div>
-</template>
-
-<script>
-import {
-  getComparisonPage,
-  uploadComparisonTemplate,
-  downloadComparisonTemplate,
-  getComparisonByEmployee,
-  getComparisonConfirm,
-  confirmComparisonVersion
-} from '@/api/salary'
-import { dateFormat } from '@/utils/date'
-import { downloadFile } from '@/utils'
-export default {
-  name: 'salary-employee-comparison',
-  data () {
-    return {
-      expandRow: [],
-      importLoading: false,
-      downloadLoading: false,
-      submitLoading: false,
-      searchItems: [
-        {
-          label: '月份',
-          prop: 'month',
-          type: 'datePicker',
-          options: {
-            editable: false,
-            clearable: false,
-            placeholder: '请选择月份',
-            type: 'month',
-            valueFormat: 'yyyy-MM',
-            format: 'yyyy 年 MM 月'
-          }
-        },
-        { label: '部门', prop: 'organizationName', type: 'input', options: { placeholder: '请输入部门' } },
-        { label: '姓名', prop: 'employeeName', type: 'input', options: { placeholder: '请输入姓名' } }
-      ],
-      searchValues: {
-        month: dateFormat('YYYY-mm', new Date()),
-        organizationName: null,
-        employeeName: null
-      },
-      headers: [
-        { type: 'expand', prop: 'expand' },
-        { label: '机构', prop: 'organizationName' },
-        { label: '姓名', prop: 'employeeName' },
-        { label: '统一认证号', prop: 'unifiedCertificationNumber' },
-        { label: '月份', prop: 'month' }
-        // { label: '操作', prop: 'action', align: 'center', width: 100 }
-      ],
-      items: [
-      ],
-      loading: false,
-      total: 0,
-      pageInfo: {
-        current: 1,
-        size: 10
-      },
-      checked: false
-    }
-  },
-  methods: {
-    async onInit () {
-      try {
-        const { data } = await getComparisonPage({
-          page: this.pageInfo,
-          ...this.searchValues
-        })
-        // 确认是否已经确认方案
-        const { data: _data } = await getComparisonConfirm({
-          page: {
-            size: 10,
-            current: 1
-          },
-          month: this.searchValues.month
-        })
-        this.checked = _data.records[0]?.version ?? false
-        this.items = data.records.map(e => {
-          return {
-            ...e,
-            childrenList: []
-          }
-        })
-        this.total = data.total
-      } catch (error) {
-        this.$message.error(error)
-      }
-    },
-    rowClassName ({ row, rowIndex }) {
-      return this.expandRow.includes(row.unifiedCertificationNumber) ? 'grey' : null
-    },
-    onSearch () {
-      this.pageInfo.current = 1
-      this.onInit()
-    },
-    async onImport (response) {
-      this.importLoading = true
-      const formData = new FormData()
-      formData.append('file', response.file)
-      try {
-        await uploadComparisonTemplate(formData)
-        this.$message.success('导入成功')
-        this.onInit()
-      } catch (error) {
-        this.$message.error(error)
-      } finally {
-        this.importLoading = false
-      }
-    },
-    async onExport () {
-      this.downloadLoading = true
-      try {
-        const { data, name } = await downloadComparisonTemplate()
-        downloadFile(data, name)
-      } catch (error) {
-        this.$message.error(error)
-      } finally {
-        this.downloadLoading = false
-      }
-    },
-    async onExpandChange (row, expandedRows) {
-      this.expandRow = expandedRows.map(e => e.unifiedCertificationNumber)
-      if (row.childrenList.length) {
-        return
-      }
-      try {
-        const { data } = await getComparisonByEmployee({
-          page: {
-            size: 999,
-            current: 1
-          },
-          entity: {
-            unifiedCertificationNumber: row.unifiedCertificationNumber,
-            month: row.month
-          }
-        })
-        row.childrenList = data.records
-      } catch (error) {
-        this.$message.error(error)
-      }
-    },
-    onConfirm (item) {
-      const h = this.$createElement
-      this.$confirm(h('div', null, [
-        h('p', undefined, '确认后将无法修改,是否确认?'),
-        h('p', { style: 'color: #ff5555' }, '注:版本确认之后所有人将同步使用当前选择的版本')
-      ]), '提示').then(async () => {
-        try {
-          await confirmComparisonVersion({
-            employeePerformanceConfirmation: {
-              month: item.month,
-              version: item.version
-            }
-          })
-          this.$message.success('确认成功')
-          this.checked = true
-        } catch (error) {
-          this.$message.error(error)
-        }
-      }).catch(_ => {})
-    },
-    onSubmit () {
-      this.submitLoading = true
-    },
-    onPageChange (page) {
-      this.pageInfo.current = page
-      this.onInit()
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.col {
-  height: 32px;
-  line-height: 30px;
-}
-::v-deep .grey {
-  background-color: #f0f0f0;
-}
-</style>

+ 0 - 15
src/views/salary/comparison/salaryMechanismComparison/index.vue

@@ -1,15 +0,0 @@
-<template>
-  <div>
-
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'salary-mechanism-comparison'
-}
-</script>
-
-<style lang="scss" scoped>
-
-</style>

+ 0 - 129
src/views/salary/comparison/salaryOptionComparison/index.vue

@@ -1,129 +0,0 @@
-<template>
-  <div>
-    <m-search :items="searchItems" v-model="searchValues" class="mb-3" @search="onSearch"></m-search>
-    <m-table
-      :items="items"
-      :headers="headers"
-      :loading="loading"
-      :total="total"
-      :page-size="pageInfo.size"
-      :page-current="pageInfo.current"
-      @page-change="onPageChange"
-    ></m-table>
-  </div>
-</template>
-
-<script>
-import { dateFormat } from '@/utils/date'
-import {
-  getComparisonSchemeList,
-  getComparisonSchemeDict
-} from '@/api/salary'
-export default {
-  name: 'salary-option-comparison',
-  data () {
-    return {
-      searchValues: {
-        month: dateFormat('YYYY-mm', new Date()),
-        organizationName: null,
-        employeeName: null
-      },
-      headers: [
-        { type: 'expand', prop: 'expand' },
-        { label: '机构', prop: 'organizationName' },
-        { label: '姓名', prop: 'employeeName' },
-        { label: '统一认证号', prop: 'unifiedCertificationNumber' },
-        { label: '月份', prop: 'month' }
-        // { label: '操作', prop: 'action', align: 'center', width: 100 }
-      ],
-      items: [
-      ],
-      loading: false,
-      total: 0,
-      pageInfo: {
-        current: 1,
-        size: 10
-      },
-      selectLoading: false,
-      selectItems: []
-    }
-  },
-  computed: {
-    searchItems () {
-      return [
-        {
-          label: '月份',
-          prop: 'month',
-          type: 'datePicker',
-          options: {
-            editable: false,
-            clearable: false,
-            placeholder: '请选择月份',
-            type: 'month',
-            valueFormat: 'yyyy-MM',
-            format: 'yyyy 年 MM 月'
-          }
-        },
-        {
-          label: '方案',
-          prop: 'versions',
-          type: 'autocomplete',
-          options: {
-            placeholder: '请选择方案',
-            multiple: true,
-            filterable: true,
-            remote: true,
-            labelText: 'employeeName',
-            labelValue: 'personnelCode',
-            remoteMethod: this.remoteMethod,
-            valueKey: 'personnelCode',
-            defaultFirstOption: true,
-            loading: this.selectLoading,
-            items: this.selectItems
-          }
-        }
-      ]
-    }
-  },
-  methods: {
-    async onInit () {
-      try {
-        const { data } = await getComparisonSchemeList({
-          month: this.searchValues.month
-
-        })
-        console.log(data)
-      } catch (error) {
-        this.$message.error(error)
-      }
-    },
-    onSearch () {
-      this.pageInfo.current = 1
-      this.onInit()
-    },
-    onPageChange (index) {
-      this.pageInfo.current = index
-      this.onInit()
-    },
-    async remoteMethod (version) {
-      this.selectLoading = true
-      try {
-        const { data } = await getComparisonSchemeDict({
-          version,
-          month: this.searchValues.month
-        })
-        this.selectItems = data.records
-      } catch (error) {
-        this.selectItems = []
-        this.$message.error(error)
-      } finally {
-        this.selectLoading = false
-      }
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-
-</style>

+ 1 - 1
src/views/salary/solution/index.vue

@@ -52,7 +52,7 @@ export default {
     }
   },
   created () {
-    this.items = this.$route.meta.roles.filter(e => e.hidden === 1).sort((a, b) => b - a).map(e => {
+    this.items = this.$route.meta.roles.filter(e => e.hidden === 1).sort((a, b) => a.sort - b.sort).map(e => {
       return {
         name: e.name,
         label: e.label,

+ 36 - 0
src/views/salary/solution/salaryCoefficient/index.vue

@@ -0,0 +1,36 @@
+<template>
+  <div>
+
+    <ListTemplate ref="listTemplateRefs" :card-title="$attrs.label">
+      <template #actions="{ row }">
+        <m-button text type="primary" size="small" @click="onOpen('salarySolutionParamRefs', row)">系数管理</m-button>
+      </template>
+    </ListTemplate>
+    <SalarySolutionParam ref="salarySolutionParamRefs" @refresh="onInit"></SalarySolutionParam>
+  </div>
+</template>
+
+<script>
+import ListTemplate from '../components/ListTemplate.vue'
+import SalarySolutionParam from './salarySolutionParam.vue'
+export default {
+  name: 'SalaryCoefficient',
+  components: {
+    ListTemplate,
+    SalarySolutionParam
+  },
+  methods: {
+    onInit () {
+      this.$refs.listTemplateRefs.onInit()
+    },
+
+    onOpen (ref, item) {
+      this.$refs[ref]?.open && this.$refs[ref].open(item)
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 0 - 0
src/views/salary/solution/salarySolution/salarySolutionParam.vue → src/views/salary/solution/salaryCoefficient/salarySolutionParam.vue


+ 1 - 5
src/views/salary/solution/salarySolution/index.vue

@@ -7,7 +7,6 @@
       <template #actions="{ row }">
         <m-button text type="primary" size="small" @click="onOpen('salarySolutionEditRefs', row)">编辑</m-button>
         <m-button text type="primary" size="small" @click="onOpen('salarySolutionRulesRefs', row)">规则配置</m-button>
-        <m-button text type="primary" size="small" @click="onOpen('salarySolutionParamRefs', row)">系数管理</m-button>
         <m-button text type="primary" size="small" @click="onOpen('salarySolutionHistory', row)">版本记录</m-button>
         <m-button text type="danger" size="small" @click="onDelete(row)">删除</m-button>
       </template>
@@ -19,7 +18,6 @@
         <m-button type="primary" text @click="$emit('history', row)" size="small">查看规则配置</m-button>
       </template>
     </SalarySolutionHistory>
-    <SalarySolutionParam ref="salarySolutionParamRefs" @refresh="onInit"></SalarySolutionParam>
   </div>
 </template>
 
@@ -31,15 +29,13 @@ import ListTemplate from '../components/ListTemplate.vue'
 import SalarySolutionEdit from './salarySolutionEdit.vue'
 import SalarySolutionRules from './salarySolutionRules.vue'
 import SalarySolutionHistory from './salarySolutionHistory.vue'
-import SalarySolutionParam from './salarySolutionParam.vue'
 export default {
   name: 'salary-solution-list',
   components: {
     ListTemplate,
     SalarySolutionEdit,
     SalarySolutionRules,
-    SalarySolutionHistory,
-    SalarySolutionParam
+    SalarySolutionHistory
   },
   mounted () {
     this.$emit('mounted')

+ 1 - 1
src/views/system/workflow/workflowApproved.vue

@@ -4,7 +4,7 @@
       <el-form-item label="工作流">
         <el-tag>{{ item.workFlowTmplate?.name }}</el-tag>
       </el-form-item>
-      <el-form-item label="工作流">
+      <el-form-item label="处理方">
         <m-card shadow="never">
           <el-form ref="form" inline :model="formValues">
             <m-card

+ 1 - 1
src/views/welfare/index.vue

@@ -66,7 +66,7 @@ export default {
     }
   },
   created () {
-    this.items = this.$route.meta.roles.filter(e => e.hidden === 1).sort((a, b) => b - a).map(e => {
+    this.items = this.$route.meta.roles.filter(e => e.hidden === 1).sort((a, b) => a.sort - b.sort).map(e => {
       return {
         name: e.name,
         label: e.label,

+ 2 - 2
vue.config.js

@@ -20,8 +20,8 @@ module.exports = defineConfig({
     // https: false,
     proxy: {
       '/api': {
-        target: 'http://192.168.3.162:7654',
-        // target: 'https://company.citupro.com:18182/op/base',
+        // target: 'http://192.168.3.162:7654',
+        target: 'https://company.citupro.com:18182/op/base',
         secure: false, // 是否支持 https,默认 false
         changeOrigin: true, // 是否支持跨域
         pathRewrite: {