yz
2021-02-18 3339cd48d37e3fe1b0dd7f4ea313c0cf2a8c0623
src/views/yunpan/fujian.vue
@@ -146,13 +146,79 @@
        </el-form>
        <el-row style="margin: 10px;">
          <el-col :span="24">
            <el-button class="hr-but-all" type="danger">新建标签</el-button>
            <el-button type="primary">删除标签</el-button>
            <el-popconfirm title="是否删除所选择的附件?">
              <el-button slot="reference" class="hr-but-all" type="danger" @click="delfj()">删除附件</el-button>
            <el-button class="hr-but-all" type="danger" @click="dialogFormVisible = true">新建标签</el-button>
            <el-popconfirm title="是否删除标签?" @onConfirm="deldialogFormVisible = true">
              <el-button slot="reference" class="hr-but" type="danger">删除标签</el-button>
            </el-popconfirm>
            <el-dialog
              title="新建标签"
              :visible.sync="dialogFormVisible"
              width="25%"
              class="add-label"
            >
              <el-form ref="labelform" :model="labelform" :rules="rules">
                <el-form-item
                  label="标签名称:"
                  :label-width="formLabelWidth"
                  prop="labelname"
                >
                  <el-input v-model="labelform.labelname" autocomplete="off" />
                </el-form-item>
                <el-form-item
                  label="标签code:"
                  :label-width="formLabelWidth"
                  prop="labelcode"
                >
                  <el-input v-model="labelform.labelcode" autocomplete="off" />
                </el-form-item>
                <el-form-item label="标签排序:" :label-width="formLabelWidth" prop="sort">
                  <el-input-number
                    v-model="labelform.sort"
                    :min="0"
                    :max="100"
                    label="排序"
                  />
                </el-form-item></el-form>
              <div slot="footer" class="dialog-footer">
                <el-button @click="dialogFormVisible = false">取 消</el-button>
                <el-button
                  type="primary"
                  @click="addlabel('labelform')"
                >确 定</el-button>
              </div>
            </el-dialog>
            <el-dialog
              title="删除标签"
              :visible.sync="deldialogFormVisible"
              width="25%"
              class="add-label"
            >
              <el-form ref="dellabelform" :model="labelform" :rules="delrules">
                <el-form-item
                  label="标签名称:"
                  :label-width="formLabelWidth"
                  prop="labelid"
                >
                  <el-select v-model="labelform.labelid" placeholder="请选择标签名称">
                    <el-option
                      v-for="item in labelData"
                      :key="item.labelid"
                      :value="item.labelid"
                      :label="item.labelname"
                    />
                  </el-select>
                </el-form-item>
              </el-form>
              <div slot="footer" class="dialog-footer">
                <el-button @click="deldialogFormVisible = false">取 消</el-button>
                <el-button
                  type="primary"
                  @click="dellabel('dellabelform')"
                >确 定</el-button>
              </div>
            </el-dialog>
            <el-button class="hr-but-all" type="danger" @click="downloadfj()">下载附件</el-button>
            <el-button class="hr-but-all" type="danger" @click="dialogShow()">附件管理</el-button>
            <el-dialog title="附件管理" :visible.sync="dialogShowUploadfj" :fullscreen="true">
              <uploadfj @cancleChooseUser="cancleChooseUser()" />
            </el-dialog>
@@ -171,7 +237,7 @@
                <el-button
                  type="text"
                  size="small"
                  @click.native.prevent="deleteRow(scope.$index, tableData)"
                  @click.native.prevent="dialogShow(scope.$index, tableData)"
                >
                  上传
                </el-button>
@@ -181,112 +247,15 @@
            <el-table-column prop="certificateNumb" label="身份证号" width="180" />
            <el-table-column prop="deptName" label="护卫点(部门)" width="180" />
            <el-table-column prop="jobName" label="岗位" width="100" />
            <el-table-column prop="jljt" label="记录截图">
              <template slot-scope="scope">
                <el-link type="primary"> {{ scope.row.jljt }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="zp" label="照片">
              <template slot-scope="scope">
                <el-link type="primary"> {{ scope.row.zp }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="ldht" label="劳动合同">
              <template slot-scope="scope">
                <el-link type="primary"> {{ scope.row.ldht }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="sfz" label="身份证">
              <template slot-scope="scope">
                <el-link type="primary"> {{ scope.row.sfz }}</el-link>
              </template>
            </el-table-column>
            <template v-for="(col) in labelData">
              <el-table-column :key="col.labelid" :prop="col.labelcode" :label="col.labelname">
                <template slot-scope="scope">
                  <el-link type="primary"> {{ scope.row[col.labelcode] }}</el-link>
                </template>
              </el-table-column>
            </template>
            <el-table-column prop="rzb" label="入职表">
              <template slot-scope="scope">
                <el-link type="primary">
                  {{ scope.row.rzb }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="tjb" label="体检表">
              <template slot-scope="scope">
                <el-link type="primary">
                  {{ scope.row.tjb }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="hz" label="回执">
              <template slot-scope="scope">
                <el-link type="primary">
                  {{ scope.row.hz }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="yhk" label="银行卡">
              <template slot-scope="scope">
                <el-link type="primary">
                  {{ scope.row.yhk }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="xgzj" label="相关证件">
              <template slot-scope="scope">
                <el-link type="primary">
                  {{ scope.row.xgzj }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="xght" label="相关合同">
              <template slot-scope="scope">
                <el-link type="primary">{{ scope.row.xght }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="qj" label="请假">
              <template slot-scope="scope">
                <el-link type="primary">{{ scope.row.qj }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="cf" label="处罚">
              <template slot-scope="scope">
                <el-link type="primary"> {{ scope.row.cf }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="czsq" label="辞职申请">
              <template slot-scope="scope">
                <el-link type="primary"> {{ scope.row.czsq }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="lzsx" label="离职手续">
              <template slot-scope="scope">
                <el-link type="primary"> {{ scope.row.lzsx }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="zl" label="自离">
              <template slot-scope="scope">
                <el-link type="primary">   {{ scope.row.zl }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="sb" label="社保">
              <template slot-scope="scope">
                <el-link type="primary">{{ scope.row.sb }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="syj" label="失业金">
              <template slot-scope="scope">
                <el-link type="primary">  {{ scope.row.syj }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="ywx" label="意外险">
              <template slot-scope="scope">
                <el-link type="primary">{{ scope.row.ywx }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="gs" label="工伤">
              <template slot-scope="scope">
                <el-link type="primary"> {{ scope.row.gs }}</el-link>
              </template>
            </el-table-column>
            <el-table-column prop="lz" label="劳资">
              <template slot-scope="scope">
                <el-link type="primary"> {{ scope.row.lz }}</el-link>
              </template>
            </el-table-column></el-table>
          </el-table>
          <pagination
            v-show="total>0"
            :total="total"
@@ -308,6 +277,29 @@
  },
  data() {
    return {
      deldialogFormVisible: false,
      formLabelWidth: '100px',
      dialogFormVisible: false,
      labelform: {
        labelname: '',
        labelid: '',
        labelcode: '',
        sort: 0
      },
      rules: {
        labelname: [
          { required: true, message: '请输入标签名称', trigger: 'blur' },
          { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' }
        ],
        labelcode: [
          { required: true, message: '请输入标签code', trigger: 'blur' },
          { min: 3, max: 10, message: '长度在 3 到 20 个字符', trigger: 'blur' }
        ],
        sort: [{ required: true, message: '请输入排序', type: 'number', trigger: 'blur' }]
      },
      delrules: {
        labelid: [{ required: true, message: '请选择标签', trigger: 'change' }]
      },
      dialogShowUploadfj: false,
      empName: '',
      queryform: {
@@ -363,6 +355,7 @@
        ]
      },
      tableData: [],
      labelData: [],
      defaultProps: {
        children: 'children',
        label: 'label'
@@ -370,16 +363,53 @@
    }
  },
  mounted() {
    this.initLabel()
    this.fetch()
  },
  methods: {
    delfj() {
    dellabel(formName) {
      this.$refs[formName].validate(valid => {
        if (valid) {
          this.$delete('hr/label', { ...this.labelform }).then(() => {
            this.dialogFormVisible = false
            this.$message({
              message: this.$t('tips.deleteSuccess'),
              type: 'success'
            })
            this.deldialogFormVisible = false
            // 初始加载
            this.initLabel()
            this.fetch()
          })
        }
      })
    },
    addlabel(formName) {
      this.$refs[formName].validate(valid => {
        if (valid) {
          this.$post('hr/label', { ...this.labelform }).then(() => {
            this.dialogFormVisible = false
            this.$message({
              message: this.$t('tips.createSuccess'),
              type: 'success'
            })
            this.labelform.labelname = ''
            this.labelform.sort = 0
            this.labelform.labelcode = ''
            // 初始加载
            this.initLabel()
            this.fetch()
          })
        }
      })
    },
    downloadfj() {
      this.$message({
        message: '下载成功!',
        type: 'success'
      })
    },
    dialogShow() {
    dialogShow(index, tableData) {
      this.dialogShowUploadfj = true
    },
    cancleChooseUser() {
@@ -434,6 +464,11 @@
        this.tableData = data.rows
      })
    },
    initLabel() {
      this.$get('hr/label').then((r) => {
        this.labelData = r.data.data
      })
    },
    advancedQueryShowMethods() {
      if (this.advancedQueryShow) {
        this.headerHeight = '70px'
@@ -457,8 +492,14 @@
   margin-top: 10px;
   height: 600px;
}
.el-input-number {
   width: 100%;
}
</style>
<style lang="scss">
.add-lable {
   text-align: initial;
}
.input-empName .el-input-group__append{
      padding: 0 15px 0 0;
}