luobisheng
2022-11-08 2406ac9a70e51e76c6ba95efb69f641c7b22e8ea
src/views/systemSetting/platform/cockpitManage/updateUser/index.vue
@@ -6,182 +6,126 @@
          ref="user"
          label-width="140px"
          autoComplete="on"
          :model="depart"
          :rules="createDepartRules"
          :model="updateData"
          :rules="rules"
          label-position="right"
        >
          <!-- 部门名称 -->
          <span style="heght:18px;display:block;line-height: 14px;">
            执法人员结构
          </span>
          <el-form-item class="optionItem" label="部门名称:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入部门名称"></el-input>
          <el-form-item class="optionItem" label="部门名称:" prop="name">
            <el-input v-model="updateData.name" placeholder="请输入部门名称"></el-input>
          </el-form-item>
          <!-- 上级部门 -->
          <el-form-item class="optionItem" label="部门人数:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入部门人数"></el-input>
          <el-form-item class="optionItem" label="部门人数:" prop="peopleNumber">
            <el-input v-model="updateData.peopleNumber" placeholder="请输入部门人数"></el-input>
          </el-form-item>
          <el-form-item class="optionItem" label="辖区管理:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入辖区管理"></el-input>
          <el-form-item class="optionItem" label="辖区管理:" prop="regionIds">
            <el-input v-model="updateData.regionIds" placeholder="请输入辖区管理"></el-input>
          </el-form-item>
          <el-form-item class="optionItem" label="本科学历以上人数:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入本科学历以上人数"></el-input>
          <el-form-item class="optionItem" label="本科学历以上人数:" prop="upUndergraduatePeopleNumber">
            <el-input v-model="updateData.upUndergraduatePeopleNumber" placeholder="请输入本科学历以上人数"></el-input>
          </el-form-item>
          <el-form-item class="optionItem" label="持证人员数:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入持证人员数"></el-input>
          <el-form-item class="optionItem" label="持证人员数:" prop="holderNumber">
            <el-input v-model="updateData.holderNumber" placeholder="请输入持证人员数"></el-input>
          </el-form-item>
          <el-form-item class="optionItem" label="45岁以下人数:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入45岁以下人数"></el-input>
          <el-form-item class="optionItem" label="45岁以下人数:" prop="underFortyFivePeopleNumber">
            <el-input v-model="updateData.underFortyFivePeopleNumber" placeholder="请输入45岁以下人数"></el-input>
          </el-form-item>
          <el-form-item class="optionItem" label="持法律职业资格证书人数:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入持法律职业资格证书人数"></el-input>
          <el-form-item class="optionItem" label="持法律职业资格证书人数:" prop="legalProfessionalQualificationCertificatePeopleNumber">
            <el-input v-model="updateData.legalProfessionalQualificationCertificatePeopleNumber" placeholder="请输入持法律职业资格证书人数"></el-input>
          </el-form-item>
          <span>
            作风纪律
          </span>
          <el-form-item class="optionItem" label="通报数量:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入通报数量"></el-input>
          <el-form-item class="optionItem" label="通报数量:" prop="reportNumber">
            <el-input v-model="updateData.reportNumber" placeholder="请输入通报数量"></el-input>
          </el-form-item>
          <el-form-item class="optionItem" label="违纪行为数量:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入违纪行为数量"></el-input>
          <el-form-item class="optionItem" label="违纪行为数量:" prop="disciplinaryOffenceNumber">
            <el-input v-model="updateData.disciplinaryOffenceNumber" placeholder="请输入违纪行为数量"></el-input>
          </el-form-item>
          <el-form-item class="optionItem" label="违法犯罪行为数量:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入违法犯罪行为数量"></el-input>
          <el-form-item class="optionItem" label="违法犯罪行为数量:" prop="criminalOffenseNumber">
            <el-input v-model="updateData.criminalOffenseNumber" placeholder="请输入违法犯罪行为数量"></el-input>
          </el-form-item>
          <span>案件办理</span>
          <el-form-item class="optionItem" label="每月案件办理量:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入每月案件办理量"></el-input>
          <el-form-item class="optionItem" label="每月案件办理量:" prop="monthCaseNumber">
            <el-input v-model="updateData.monthCaseNumber" placeholder="请输入每月案件办理量"></el-input>
          </el-form-item>
          <el-form-item class="optionItem" label="未超时案件量:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入未超时案件量"></el-input>
          <el-form-item class="optionItem" label="未超时案件量:" prop="noTimeoutCaseNumber">
            <el-input v-model="updateData.noTimeoutCaseNumber" placeholder="请输入未超时案件量"></el-input>
          </el-form-item>
          <el-form-item class="optionItem" label="复议或诉讼数:" prop="departName">
            <el-input v-model="depart.departName" placeholder="请输入复议或诉讼数"></el-input>
          <el-form-item class="optionItem" label="复议或诉讼数:" prop="reviewOrLawsuitNumber">
            <el-input v-model="updateData.reviewOrLawsuitNumber" placeholder="请输入复议或诉讼数"></el-input>
          </el-form-item>
        </el-form>
      </div>
    </main>
    <footer>
      <div class="optionBtn">
        <el-button @click="closeDialog">取消</el-button>
        <el-button type="primary" class="btn submit" @click="submitUpdate">确定</el-button>
      </div>
    </footer>
  </div>
</template>
<script>
import { getTypeList } from "@/utils/helper";
import { deepClone } from "@/utils/helper";
import { updateTeamInfo } from "@/api/system/portal/teamConstruction";
import { SUCCESS_CODE } from "@/utils";
export default {
  data() {
    return {
    depart:{},
      imagedata: {
        code: "SJ202211010001",
        questionType: "违规",
        bigType: "违反国家有关标准编制城乡规划",
        smallType: "在居民住宅楼、未配套设立专用烟道的商住综合楼、商住综合楼内与居住层相邻的商业楼层内新建、改建、扩建产生油烟、异味、废气的餐饮服务项目",
        imagesId: "1",
        uploadTime: "2022-10-31 20:20:01",
        imageUrl: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.fabao365.xuanfa.cn%2Fimage%2F202107%2F130f9d19f204302f.jpg&refer=http%3A%2F%2Fimg.fabao365.xuanfa.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1670034077&t=974b018f9e27023a01d2d8ad3c7c44f2"
      },
      updateData: null,
      rules: {
        name: [{ required: true, trigger: "blur", message: '部门名称必填'  }],
        peopleNumber: [{ required: true, trigger: "blur", message: '部门人数必填' }],
        regionIds: [{ required: true, trigger: "blur", message: '辖区管理必填' }],
        upUndergraduatePeopleNumber: [{ required: true, trigger: "blur", message: '本科学历以上人数必填' }],
        holderNumber: [{ required: true, trigger: "blur", message: '持证人员数必填' }],
        underFortyFivePeopleNumber: [{ required: true, trigger: "blur", message: '45岁以下人数必填' }],
        legalProfessionalQualificationCertificatePeopleNumber: [{ required: true, trigger: "blur", message: '持法律职业资格证书人数必填' }],
        reportNumber: [{ required: true, trigger: "blur", message: '通报数量必填' }],
        disciplinaryOffenceNumber: [{ required: true, trigger: "blur", message: '违纪行为数量:必填' }],
        criminalOffenseNumber: [{ required: true, trigger: "blur", message: '违法犯罪行为数量必填' }],
        monthCaseNumber: [{ required: true, trigger: "blur", message: '每月案件办理量必填' }],
        noTimeoutCaseNumber: [{ required: true, trigger: "blur", message: '未超时案件量必填' }],
        reviewOrLawsuitNumber: [{ required: true, trigger: "blur", message: '复议或诉讼数必填' }]
      }
    }
  },
  created() {
    // const that = this;
    // this.user = JSON.parse(JSON.stringify(that.userInfo));
    // console.log(this.user);
    // this.user.parentId = this.user.parentId === 0 ? '暂无上级部门' : this.user.parentId;
    // this.checkedList = this.user.userInfoDTOS;
    // this.checkedList.forEach((e) => {
    //   this.checkedUser.push(e.userId);
    // });
    // console.log(this.checkedUser)
    // this.$axios({
    //   method: "get",
    //   url: "sccg/depart/tree",
    // }).then((res) => {
    //   that.departList = res.data;
    // });
    // this.getUserList(this.user.id);
    // // 获取部门类型
    // this.getDepartType();
    this.updateData = deepClone(this.updateDepartmentData);
  },
  methods: {
    //   handleUser() {
    //     this.$refs["user"].validate((valid) => {
    //       if (valid) {
    //         const { user, checkedList } = this;
    //         const arr = [];
    //         checkedList.forEach((item) => {
    //           arr.push({ leader: item.leader, userId: item.id ? item.id : item.userId });
    //         });
    //         if (arr.length === 0) {
    //           this.$message({
    //             type: 'warning',
    //             message: '请选择部门人员',
    //           })
    //         } else {
    //           this.$axios
    //             .post("sccg/depart/update", {
    //               id: user.id,
    //               departName: user.departName,
    //               parentId: user.parentId === '暂无上级部门' ? 0 : user.parentId,
    //               departDes: user.departDes,
    //               departManagerList: arr,
    //             })
    //             .then((res) => {
    //               this.$message({
    //                 message: res.message,
    //                 type: res.code === 200 ? "success" : "warning",
    //               });
    //               this.$emit("changeDialog", { flag: false });
    //               this.getDepartList();
    //             });
    //         }
    //       } else {
    //         return false;
    //       }
    //     });
    //   },
    //   // 获取部门类型
    //   async getDepartType() {
    //     this.typeList = await getTypeList(1, "08");
    //   },
    submitUpdate() {
      this.$refs.user.validate((valid) => {
        if (valid) {
          updateTeamInfo(this.updateData)
            .then(({ code, message }) => {
              if (code === SUCCESS_CODE) {
                this.$emit('closeUpdateDialog');
                this.$message({ type: 'success', message });
              } else {
                this.$message({ type: 'error', message });
              }
            })
            .catch(err => {
              this.$message({ type: 'error', message: err });
            });
        } else {
          this.$message({ type: 'warning', message: '请检查必填项' });
        }
      });
    },
    //   // 设置领导
    //   setLeader(idx) {
    //     if (this.updateFlag) {
    //       this.checkedList.forEach((item, index) => {
    //         item.leader = index === idx;
    //       });
    //     }
    //   },
    //   // 获取所有用户信息
    //   getUserList(id) {
    //     // 获取所有用户信息、用户查询(暂时支持电话号码)
    //     this.$axios.get(`/sccg/depart/query_surplus_exist_user?id=`+id).then((res) => {
    //       if (res.code === 200) {
    //         this.userList = res.data;
    //       }
    //     });
    //   },
    //   addUser() {
    //     this.checkedList = [];
    //     this.userList.forEach((item) => {
    //       this.checkedUser.forEach((child) => {
    //         if (item.id == child) {
    //           this.checkedList.push({
    //             id: item.id,
    //             username: item.username,
    //             leader: false,
    //           });
    //         }
    //       });
    //     });
    //     this.checkedList[0].leader = true;
    //     console.log(this.checkedList);
    //     this.openUser = false;
    //   },
    // },
    // props: ["userInfo", "updateFlag", "getDepartList", "changeDialog"],
    closeDialog() {
      this.$emit('closeUpdateDialog');
    }
  },
  props: ['updateFlag']
  props: ['updateDepartmentData']
};
</script>
<style lang="scss" scoped>
@@ -190,18 +134,9 @@
  background-color: #09152f;
  main {
    // border: 1px solid #fff;
    text-align: left;
    padding: 0 55px;
    background-color: #09152f;
    padding-bottom: 50px;
    // .mainTitle {
    //     color: #4b9bb7;
    //     font-weight: 600;
    //     line-height: 100px;
    //     font-size: 14px;
    // }
    .mainContent {
      display: flex;
@@ -340,4 +275,13 @@
.el-input {
  width: 280px !important;
}
footer {
  border-top: 1px solid #fff;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 20px;
}
</style>