Forráskód Böngészése

数据不存在提示、删除冗余代码

songxy 10 hónapja
szülő
commit
0417e9ee53

+ 0 - 231
client/src/views/OaSystem/personnelManagement/ygdaPage/WorkTable copy.vue

@@ -1,231 +0,0 @@
-<template>
-  <div class="casually-name">
-    <div class="star-title">
-      <i></i>
-      <span>工作经历(按照时间倒序填写)</span>
-    </div>
-    <el-tag class="add-tag" type="primary" effect="plain" v-if="!readOnly" @click="onAddItem()"
-      >+ 新增</el-tag
-    >
-    <el-table
-      class="detail-table"
-      :header-cell-style="{
-        background: '#F2F4F8',
-        color: '#000000'
-      }"
-      :data="tableData"
-    >
-      <el-table-column prop="startTime" label="起始时间">
-        <template #default="scope">
-          <el-date-picker
-            v-model="scope.row.startTime"
-            type="date"
-            format="YYYY-MM-DD"
-            value-format="x"
-            v-if="scope.row.isEdit"
-          />
-          <span v-else>{{ moment(scope.row.startTime).format('YYYY-MM-DD') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="endTime" label="终止时间">
-        <template #default="scope">
-          <el-date-picker
-            v-model="scope.row.endTime"
-            type="date"
-            format="YYYY-MM-DD"
-            value-format="x"
-            v-if="scope.row.isEdit"
-          />
-          <span v-else>{{ moment(scope.row.endTime).format('YYYY-MM-DD') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="workLocation" label="工作单位">
-        <template #default="scope">
-          <el-input v-model="scope.row.workLocation" v-if="scope.row.isEdit" />
-          <span v-else>{{ scope.row.workLocation }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="post" label="岗位">
-        <template #default="scope">
-          <el-input v-model="scope.row.post" v-if="scope.row.isEdit" />
-          <span v-else>{{ scope.row.post }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="resignReason" label="离职原因">
-        <template #default="scope">
-          <el-input v-model="scope.row.resignReason" v-if="scope.row.isEdit" />
-          <span v-else>{{ scope.row.resignReason }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="jyxy" label="是否有竞业限制/未尽法律事宜">
-        <template #default="scope">
-          <el-input v-model="scope.row.jyxy" v-if="scope.row.isEdit" />
-          <span v-else>{{ scope.row.jyxy }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column prop="competitionDetail" label="具体条款">
-        <template #default="scope">
-          <el-input v-model="scope.row.competitionDetail" v-if="scope.row.isEdit" />
-          <span v-else>{{ scope.row.competitionDetail }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column fixed="right" label="操作" width="140" v-if="!readOnly">
-        <template #default="scope">
-          <el-button
-            link
-            type="primary"
-            size="small"
-            @click="onSaveItem(scope.$index)"
-            v-if="scope.row.isEdit"
-          >
-            保存
-          </el-button>
-          <el-button link type="primary" size="small" @click="onEditItem(scope.$index)" v-else>
-            编辑
-          </el-button>
-          <el-button link type="primary" size="small" @click="deleteRow(scope.$index)">
-            删除
-          </el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-  </div>
-</template>
-<script lang="ts" setup>
-/**
- * @description 工作经历
- */
-import { cloneDeep } from 'lodash-es'
-import moment from 'moment'
-
-interface ITable {
-  id?: string
-  userId?: string
-  workLocation?: string // 工作单位
-  post?: string // 职位
-  startTime?: string // 开始时间
-  endTime?: string // 结束时间
-  resignReason?: string // 离职原因
-  jyxy?: string // 是否有竞业限制/未尽法律事宜
-  competitionDetail?: string // 具体条款
-  isEdit?: boolean // 是否可编辑
-}
-const tableData = ref<ITable[]>([])
-
-const $emit = defineEmits<{
-  (e: 'onSave', v: any): void
-}>()
-
-interface IProps {
-  defaultData: any[]
-  onlyRead?: boolean
-}
-const props = defineProps<IProps>()
-const { defaultData } = props
-const readOnly = ref(props.onlyRead)
-watch(
-  () => props.onlyRead,
-  (newVal) => {
-    readOnly.value = newVal
-  }
-)
-watch(
-  () => props.defaultData,
-  (newVal) => {
-    tableData.value = newVal.map((item: any) => {
-      return {
-        ...item,
-        isEdit: false
-      }
-    })
-  }
-)
-onMounted(() => {
-  if (defaultData && defaultData.length) {
-    tableData.value = defaultData.map((item: any) => {
-      return {
-        ...item,
-        isEdit: false
-      }
-    })
-  }
-})
-
-// 新增行
-const onAddItem = (index: number) => {
-  tableData.value.push({
-    workLocation: '',
-    post: '',
-    startTime: '',
-    endTime: '',
-    resignReason: '',
-    jyxy: '',
-    competitionDetail: '',
-    isEdit: true
-  })
-}
-
-// 保存行
-const onSaveItem = (index: number) => {
-  tableData.value.forEach((item: any, num: number) => {
-    if (num == index) {
-      item.isEdit = false
-    }
-  })
-  const changeData = cloneDeep(tableData.value).map((item: any) => {
-    delete item.isEdit
-    return item
-  })
-  $emit('onSave', changeData)
-}
-
-// 编辑行
-const onEditItem = (index: number) => {
-  tableData.value[index].isEdit = true
-}
-
-// 删除
-const deleteRow = (index: number) => {
-  tableData.value.splice(index, 1)
-  const changeData = cloneDeep(tableData.value).map((item: any) => {
-    delete item.isEdit
-    return item
-  })
-  $emit('onSave', changeData)
-}
-</script>
-<style scoped lang="scss">
-.casually-name {
-  position: relative;
-}
-.star-title {
-  display: flex;
-  align-items: center;
-  margin-bottom: 8px;
-
-  i {
-    display: block;
-    width: 16px;
-    height: 16px;
-    margin-right: 9px;
-    background: url('../../../../assets/imgs/OA/mine/star.png') center no-repeat;
-    background-size: 100%;
-  }
-
-  span {
-    font-size: 18px;
-    font-weight: bold;
-    color: #000000;
-  }
-}
-.add-tag {
-  position: absolute;
-  top: 2px;
-  right: 0;
-  cursor: pointer;
-}
-.detail-table {
-  width: 100%;
-  min-height: 100px;
-}
-</style>

+ 4 - 1
client/src/views/OaSystem/personnelManagement/ygdaPage/WorkTable.vue

@@ -8,7 +8,7 @@
       >+ 新增</el-tag
     >
     <div class="my-portrait-card">
-      <el-form style="width: 100%">
+      <el-form style="width: 100%" v-if="tableData.length > 0">
         <div v-for="(item, index) in tableData" class="card-item" :key="index">
           <el-row :gutter="66">
             <el-col :span="12">
@@ -74,6 +74,9 @@
           </div>
         </div>
       </el-form>
+      <p v-else style="text-align: center; width: 100%; color: #909399; font-size: 13px"
+        >暂无数据</p
+      >
     </div>
   </div>
 </template>

+ 0 - 5
client/src/views/OaSystem/personnelManagement/ygdaPage/staffDetail.vue

@@ -107,11 +107,6 @@ const submitForm = (formEl: FormInstance | undefined) => {
   })
 }
 
-/**部门切换时 */
-const deptOnChange = (id) => {
-  formData.value['deptId'] = id
-}
-
 /**点击预览 */
 const imagePreview = (imgUrl: string) => {
   createImageViewer({