gaoluyang
2025-02-26 6c76e7bdba80eb1317a08af2a5930b13e5f9ea34
质量监控计划联调
已修改7个文件
200 ■■■■■ 文件已修改
src/api/cnas/process/ensureResultsValidity/qualityMonitor.js 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/complaint/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResultsValidity/components/carryOutDialog.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResultsValidity/components/detailFormDialog.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResultsValidity/components/evaluateDialog.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResultsValidity/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/cnas/process/ensureResultsValidity/qualityMonitor.js
@@ -42,7 +42,7 @@
    responseType: "blob"
  })
}
// 删除监督计划
// 删除监控计划
export function delQualitySupervise(query) {
  return request({
    url: '/qualityMonitor/delQualitySupervise',
@@ -84,3 +84,74 @@
    params: query
  })
}
// 新增监控计划详情
export function addQualityMonitorDetail(query) {
  return request({
    url: '/qualityMonitor/addQualityMonitorDetail',
    method: 'post',
    data: query
  })
}
// 修改监控计划详情
export function updateQualityMonitorDetail(query) {
  return request({
    url: '/qualityMonitor/updateQualityMonitorDetail',
    method: 'post',
    data: query
  })
}
// 查询监控计划详情实施信息
export function getQualityMonitorRatify(query) {
  return request({
    url: '/qualityMonitor/getQualityMonitorRatify',
    method: 'get',
    params: query
  })
}
// 新增监控计划详情实施信息
export function addQualityMonitorRatify(query) {
  return request({
    url: '/qualityMonitor/addQualityMonitorRatify',
    method: 'post',
    data: query
  })
}
// 提交监控计划详情批准意见
export function addQualityMonitorRatifyOpinion(query) {
  return request({
    url: '/qualityMonitor/addQualityMonitorRatifyOpinion',
    method: 'post',
    data: query
  })
}
// 查询监控评价
export function getQualityMonitorEvaluate(query) {
  return request({
    url: '/qualityMonitor/getQualityMonitorEvaluate',
    method: 'get',
    params: query
  })
}
// 新增监控评价批准
export function addMonitorEvaluateOpinion(query) {
  return request({
    url: '/qualityMonitor/addMonitorEvaluateOpinion',
    method: 'post',
    data: query
  })
}
// 新增监控评价
export function addQualityMonitorEvaluate(query) {
  return request({
    url: '/qualityMonitor/addQualityMonitorEvaluate',
    method: 'post',
    data: query
  })
}
// 新增监控评价
export function selectUserDepartmentLimsName(query) {
  return request({
    url: '/user/selectUserDepartmentLimsName',
    method: 'get'
  })
}
src/views/CNAS/process/complaint/index.vue
@@ -610,7 +610,7 @@
.user-info {
  display: flex;
  align-items: center;
  justify-content: end;
  justify-content: flex-end;
}
.user-content {
src/views/CNAS/process/ensureResultsValidity/components/carryOutDialog.vue
@@ -8,7 +8,7 @@
        <el-step title="实施"></el-step>
        <el-step title="批准"></el-step>
      </el-steps>
      <div style="height: 620px;overflow-y: auto">
      <div style="height: 520px;overflow-y: auto">
        <table border="1" cellspacing="10" class="tables">
          <tr>
            <td class="td-title">
@@ -181,6 +181,12 @@
<script>
import {
  addQualityMonitorRatify, addQualityMonitorRatifyOpinion,
  getQualityMonitorRatify
} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
import {selectUserCondition} from "@/api/business/inspectionTask";
export default {
  name: 'carryOutDialog',
  // import 引入的组件需要注入到对象中才能使用
@@ -219,8 +225,7 @@
    },
    // 查询监控计划详情实施信息
    searchInfo (row) {
      this.$axios.get(this.$api.qualityMonitor.getQualityMonitorRatify + '?qualityMonitorDetailsId=' + row.qualityMonitorDetailsId).then(res => {
        if (res.code === 201) return
      getQualityMonitorRatify({qualityMonitorDetailsId: row.qualityMonitorDetailsId}).then(res => {
        // 有detailsRatifyId则说明提交过实施信息
        if (res.data.detailsRatifyId) {
          // 是否结束0:未结束, 1:已结束
@@ -252,12 +257,7 @@
    },
    // 提交实施
    addInfo () {
      this.$axios.post(this.$api.qualityMonitor.addQualityMonitorRatify, this.form, {
        headers: {
          "Content-Type": "application/json"
        },
        noQs: true
      }).then(res => {
      addQualityMonitorRatify(this.form).then(res => {
        this.editLoad = false
        if (res.code === 201) return
        this.$message.success('操作成功')
@@ -269,12 +269,7 @@
    },
    // 提交批准
    editInfo () {
      this.$axios.post(this.$api.qualityMonitor.addQualityMonitorRatifyOpinion, this.form, {
        headers: {
          "Content-Type": "application/json"
        },
        noQs: true
      }).then(res => {
      addQualityMonitorRatifyOpinion(this.form).then(res => {
        this.editLoad = false
        if (res.code === 201) return
        this.$message.success('操作成功')
@@ -290,25 +285,22 @@
      this.$emit('closeCarryOutDia')
    },
    getAuthorizedPerson() {
      this.$axios.get(this.$api.user.getUserMenu).then(res => {
        let data = []
        res.data.forEach(a => {
      selectUserCondition({ type: 1 }).then((res) => {
        let data = [];
        res.data.forEach((a) => {
          data.push({
            label: a.name,
            value: a.id
          })
        })
        this.personList = data
      })
            value: a.id,
          });
        });
        this.personList = data;
      });
    },
  }
};
</script>
<style scoped>
>>>.el-dialog {
  margin: 20px auto 50px !important;
}
.tables {
  table-layout: fixed;
  width: 100%;
src/views/CNAS/process/ensureResultsValidity/components/detailFormDialog.vue
@@ -50,6 +50,11 @@
</template>
<script>
import {
  addQualityMonitorDetail,
  updateQualityMonitorDetail
} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
export default {
  name: 'detailFormDialog',
  // import 引入的组件需要注入到对象中才能使用
@@ -106,12 +111,7 @@
      let entity = this.HaveJson(this.form)
      entity.qualityMonitorId = this.qualityMonitorId
      this.upLoad = true
      this.$axios.post(this.$api.qualityMonitor.addQualityMonitorDetail, entity, {
        headers: {
          "Content-Type": "application/json"
        },
        noQs: true
      }).then(res => {
      addQualityMonitorDetail(entity).then(res => {
        this.upLoad = false
        if (res.code === 201) return
        this.$message.success('新增成功')
@@ -125,12 +125,7 @@
    handleEdit () {
      const entity = this.HaveJson(this.form)
      this.upLoad = true
      this.$axios.post(this.$api.qualityMonitor.updateQualityMonitorDetail, entity, {
        headers: {
          "Content-Type": "application/json"
        },
        noQs: true
      }).then(res => {
      updateQualityMonitorDetail(entity).then(res => {
        this.upLoad = false
        if (res.code === 201) return
        this.$message.success('修改成功')
src/views/CNAS/process/ensureResultsValidity/components/evaluateDialog.vue
@@ -159,6 +159,11 @@
<script>
import ViewRecord from './ViewRecord.vue';
import {
  addMonitorEvaluateOpinion, addQualityMonitorEvaluate,
  getQualityMonitorEvaluate, selectUserDepartmentLimsName
} from "@/api/cnas/process/ensureResultsValidity/qualityMonitor";
import {selectUserCondition} from "@/api/business/inspectionTask";
export default {
  name: 'evaluateDialog',
@@ -202,8 +207,7 @@
    // 查询监控计划详情实施信息
    searchInfo (row) {
      this.form.qualityMonitorDetailsId = row.qualityMonitorDetailsId
      this.$axios.get(this.$api.qualityMonitor.getQualityMonitorEvaluate + '?qualityMonitorDetailsId=' + row.qualityMonitorDetailsId).then(res => {
        if (res.code === 201) return
      getQualityMonitorEvaluate({qualityMonitorDetailsId: row.qualityMonitorDetailsId}).then(res => {
        if (res.data === null) {
          this.showStep = 0
          this.currentStep = 0
@@ -229,14 +233,8 @@
    // 提交
    handleEdit () {
      if (this.currentStep === 2) {
        this.$axios.post(this.$api.qualityMonitor.addMonitorEvaluateOpinion, this.form, {
          headers: {
            "Content-Type": "application/json"
          },
          noQs: true
        }).then(res => {
        addMonitorEvaluateOpinion(this.form).then(res => {
          this.editLoad = false
          if (res.code === 201) return
          this.$message.success('操作成功')
          this.closeEvaDia()
        }).catch(err => {
@@ -270,14 +268,8 @@
            return
          }
        }
        this.$axios.post(this.$api.qualityMonitor.addQualityMonitorEvaluate, this.form, {
          headers: {
            "Content-Type": "application/json"
          },
          noQs: true
        }).then(res => {
        addQualityMonitorEvaluate(this.form).then(res => {
          this.editLoad = false
          if (res.code === 201) return
          this.$message.success('操作成功')
          this.closeEvaDia()
        }).catch(err => {
@@ -301,20 +293,19 @@
      })
    },
    getAuthorizedPerson() {
      this.$axios.get(this.$api.user.getUserMenu).then(res => {
        let data = []
        res.data.forEach(a => {
      selectUserCondition({ type: 1 }).then((res) => {
        let data = [];
        res.data.forEach((a) => {
          data.push({
            label: a.name,
            value: a.id
          })
        })
        this.personList = data
      })
            value: a.id,
          });
        });
        this.personList = data;
      });
    },
    getDepartment() {
      this.$axios.get(this.$api.user.selectUserDepartmentLimsName).then(res => {
        if (res.code === 201) return
      selectUserDepartmentLimsName().then(res => {
        this.form.implementDepartment = res.data
      })
    },
src/views/CNAS/process/ensureResultsValidity/index.vue
@@ -92,7 +92,7 @@
      </div>
      <div>
        批准意见:
        <el-input v-model="approvalRemarks" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
        <el-input v-model="ratifyRemark" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
      </div>
      <span v-if="this.ratifyStatus !== 1" slot="footer" class="dialog-footer">
        <el-button :loading="lookDialogLoading" @click="handleApproval(0)">不批准</el-button>
@@ -148,9 +148,9 @@
    </el-dialog>
    <!--生成报告弹框-->
    <el-dialog :visible.sync="uploadDia1" title="生成报告" width="500px">
      <div v-if="approvalRemarks">
      <div v-if="ratifyRemark">
        批准意见:
        <el-input v-model="approvalRemarks" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
        <el-input v-model="ratifyRemark" :disabled="this.ratifyStatus === 1" type="textarea"></el-input>
      </div>
      <div style="margin: 0 auto;">
        <el-upload ref="upload1" :action="action1" :auto-upload="false" :data="{qualityMonitorDetailsId: qualityMonitorDetailsId}" :file-list="fileList1" :headers="uploadHeader"
@@ -468,7 +468,7 @@
      currentInfo: {},
      qualityMonitorDetailsId: '',
      ratifyStatus: '',
      approvalRemarks: '',
      ratifyRemark: '',
      downloadDialog: false,
      download: {},
      planYear: ''
@@ -608,7 +608,7 @@
    handleApproval (status) {
      const personTrainingUpdateDto = {
        qualityMonitorDetailsId: this.currentInfo.qualityMonitorDetailsId,
        ratifyRemark: this.approvalRemarks,
        ratifyRemark: this.ratifyRemark,
        ratifyStatus: status
      }
      this.lookDialogLoading = true
@@ -697,10 +697,10 @@
      this.carryOutDia = false
      this.getYearDetailPlanList()
    },
    // 打开报告弹框
    // 打开完成报告弹框
    record (row) {
      this.qualityMonitorDetailsId = row.qualityMonitorDetailsId
      this.approvalRemarks = row.approvalRemarks
      this.ratifyRemark = row.ratifyRemark
      if (row.finishReportUrl) {
        this.currentInfo = row
        this.ratifyStatus = row.ratifyStatus
src/views/system/user/index.vue
@@ -147,6 +147,11 @@
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="归属部门" prop="deptId">
              <treeselect v-model="form.deptId" :options="enabledDeptOptions" :show-count="true" placeholder="请选择归属部门" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">