zouyu
2023-12-22 0119182fc7947e3bd2299a24bba7e25e913dbddc
	modified:   src/api/plan/productionschedul.js
modified: src/views/plan/productionschedul/index.vue
modified: src/views/quality/processInspect/index.vue
modified: src/views/quality/processInspect/processInspect-form.vue
modified: src/views/quality/rawMaterial/rawMaterial-form.vue
已修改5个文件
346 ■■■■ 文件已修改
src/api/plan/productionschedul.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/productionschedul/index.vue 285 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/processInspect/index.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/processInspect/processInspect-form.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/rawMaterial-form.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/plan/productionschedul.js
@@ -36,4 +36,12 @@
    method: 'post',
    data: data
  })
}
export function updateState(data) {
  return request({
    url: '/mes/productionSchedul/updateState',
    method: 'post',
    data: data
  })
}
src/views/plan/productionschedul/index.vue
@@ -2,37 +2,71 @@
  <div class="mod-config">
    <basic-container>
      <el-row>
        <el-col :span="12">
          <div style="height:80vh;padding: 0px 10px;">
            <avue-crud
            :data="tableData"
            ref="crud"
            :option="option"
            :span-method="spanMethod"
            @refresh-change="getData"
            @current-change="handleCurrentChange"
            @size-change="handleSizeChange"
            :page="page"
            @selection-change="selectionRow"
            :table-loading="loading">
            <template #menu="{ row, index }">
              <el-button
              v-if="permissions.plan_productionschedul_edit"
              type="text"
              icon="el-icon-edit"
              size="small"
              @click="editHandle(row, index)">编辑</el-button>
              <el-button
              v-if="permissions.plan_productionschedul_del"
              type="text"
              icon="el-icon-delete"
              size="small"
              @click="deleteHandle(row, index)">删除</el-button>
            </template>
          </avue-crud>
          </div>
        <el-col :span="14">
          <el-row>
            <el-col :span="24">
              <div style="height:40vh;padding: 0px 10px;">
                <span style="position: relative;top:40px;">未完成</span>
                <span style="position: relative;top:30px;left:73%;z-index: 11">
                  <el-button @click="tagFinished" size="mini" round type="primary">标记已完成</el-button>
                </span>
                <avue-crud
                :data="tableData"
                ref="crud"
                :option="option"
                :span-method="spanMethod"
                @refresh-change="getUnFinishedData"
                @current-change="handleCurrentChange"
                @size-change="handleSizeChange"
                :page="page"
                @selection-change="selectionRow"
                :table-loading="loading">
                <template #menu="{ row, index }">
                  <el-button
                  v-if="permissions.plan_productionschedul_edit"
                  type="text"
                  icon="el-icon-edit"
                  size="small"
                  @click="editHandle(row, index)">编辑</el-button>
                  <el-button
                  v-if="permissions.plan_productionschedul_del"
                  type="text"
                  icon="el-icon-delete"
                  size="small"
                  @click="deleteHandle(row, index)">删除</el-button>
                </template>
                </avue-crud>
              </div>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="24">
              <div style="height:40vh;padding: 0px 10px;">
                <span style="position: relative;top:40px;">已完成</span>
                <avue-crud
                :data="finishedTableData"
                ref="finished"
                :option="finishedOption"
                :span-method="spanMethod"
                @refresh-change="getFinishedData"
                @current-change="handleCurrentChange"
                @size-change="handleSizeChange"
                :page="finishedPage"
                @selection-change="selectionRow">
                <!-- <template #menu="{ row, index }">
                  <el-button
                  v-if="permissions.plan_productionschedul_del"
                  type="text"
                  icon="el-icon-delete"
                  size="small"
                  @click="deleteHandle(row, index)">删除</el-button>
                </template> -->
                </avue-crud>
              </div>
            </el-col>
          </el-row>
        </el-col>
        <el-col :span="12" style="padding-left: 10px">
        <el-col :span="10" style="padding-left: 10px">
          <div style="">
            <el-card>
              <div slot="header" class="clearfix">
@@ -148,7 +182,7 @@
  fetchScheduleById,
  fillTime,
  deleteSchedul,
  updateSchedul
  updateState,
} from '@/api//plan/productionschedul'
import ttable from '@/views/common/ztt-table.vue'
import { mapGetters } from 'vuex'
@@ -168,8 +202,15 @@
      multipleSelection: [],
      loading: true,
      tableData: [],
      finishedTableData: [],
      page: {
        total: 10,
        total: 0,
        currentPage: 1,
        pageSize: 10,
        pagerCount: 5
      },
      finishedPage: {
        total: 0,
        currentPage: 1,
        pageSize: 10,
        pagerCount: 5
@@ -179,7 +220,7 @@
          prop:'id',
          order:'descending'
        },
        height: 400,
        height: 200,
        selection: true,
        columnBtn: false,
        index: true,
@@ -187,6 +228,117 @@
        selectionFixed: false,
        rowKey: 'mid',
        indexLabel: '序号',
        menuAlign: 'center',
        menuWidth: 130,
        editBtn: false,
        delBtn: false,
        addBtn: false,
        border: true,
        align: 'center',
        column: [
          {
            minWidth: 120,
            prop: 'projectName',
            label: '项目名称',
            overHidden: true,
          },
          {
            minWidth: 100,
            prop: 'contractNo',
            label: '合同号',
            overHidden: true,
          },
          {
            minWidth: 120,
            prop: 'orderTime',
            label: '接单日期',
            overHidden: true,
            formatter: (row,columnValue)=> this.formatDate(row,columnValue)
          },
          {
            minWidth: 120,
            prop: 'customerName',
            label: '客户名称',
            overHidden: true,
          },
          {
            minWidth: 120,
            prop: 'deliveryDate',
            label: '交货日期',
            overHidden: true,
            formatter: (row,columnValue)=> this.formatDate(row,columnValue)
          },
          {
            minWidth: 120,
            prop: 'productType',
            label: '产品类型',
            overHidden: true,
          },
          {
            minWidth: 120,
            prop: 'product',
            label: '产品名',
            overHidden: true,
          },
          {
            minWidth: 120,
            prop: 'specs',
            label: '规格型号',
            overHidden: true,
          },
          {
            minWidth: 120,
            prop: 'unit',
            label: '单位',
            overHidden: true,
          },
          {
            minWidth: 120,
            prop: 'number',
            label: '数量',
            overHidden: true,
          },
          {
            minWidth: 120,
            prop: 'productionStatus',
            label: '生产情况',
            overHidden: true,
          },
          {
            minWidth: 120,
            prop: 'productionRoutine',
            label: '生产程度',
            overHidden: true,
          },
          {
            minWidth: 120,
            prop: 'projectLeader',
            label: '项目负责人',
            overHidden: true,
          },
          {
            minWidth: 150,
            prop: 'remark',
            label: '备注',
            overHidden: true,
          }
        ],
      },
      finishedOption: {
        refreshBtn: false, // 是否显示刷新按钮
        defaultSort:{
          prop:'id',
          order:'descending'
        },
        height: 180,
        selection: true,
        columnBtn: false,
        index: true,
        indexFixed: false,
        selectionFixed: false,
        rowKey: 'mid',
        indexLabel: '序号',
        menu: false,
        menuAlign: 'center',
        menuWidth: 130,
        editBtn: false,
@@ -323,7 +475,8 @@
      this.option.menu = false
    }
    this.loading = true
    this.getData()
    this.getUnFinishedData()
    this.getFinishedData()
    this.getParamType()
    // this.rowSort()
    this.rowCalc()
@@ -349,13 +502,31 @@
  beforeDestroy() {
  },
  methods: {
    tagFinished(){
      if(this.multipleSelection.length < 1){
        this.$message.warning("请选择一条数据")
        return
      }
      let ids = this.multipleSelection.map(ele=>{
        return ele.mid
      })
      updateState(ids).then(res=>{
        if(res.status===200){
          this.$message.success("更新成功")
          this.getUnFinishedData()
          this.getFinishedData()
        }
      }).catch(error=>{
        console.error(error);
      })
    },
    confirmEdit(){
      const _than = this
      updateSchedul(this.editForm).then(res=>{
        if(res.status===200){
          _than.$message.success("更新成功")
          _than.editDialogVisible = false
          _than.getData()
          _than.getUnFinishedData()
        }
      }).catch(error=>{
        console.error(error);
@@ -461,15 +632,15 @@
      }
    },
    selectionRow(val){
      if (val.length > 1) {
        const preVal = val.shift();
        this.$refs.crud.toggleRowSelection(preVal, false);
      }
      else{
        this.scheduleList=[]
      }
      // if (val.length > 1) {
      //   const preVal = val.shift();
      //   this.$refs.crud.toggleRowSelection(preVal, false);
      // }
      // else{
      //   this.scheduleList=[]
      // }
      this.multipleSelection = val
      this.getScheduleById(val[0].id)
      // this.getScheduleById(val[0].id)
    },
    formatDate(row, cellValue){
      if (cellValue) {
@@ -483,26 +654,42 @@
    handleSizeChange(val){
      if(val){
        this.page.pageSize=val
        this.getData()
        this.getUnFinishedData()
      }
    },
    handleCurrentChange(val){
      if(val){
        this.page.currentPage=val
        this.getData()
        this.getUnFinishedData()
      }
    },
    // 获取数据列表
    getData() {
    getUnFinishedData() {
      this.loading = true
      let param = {
        size: this.page.pageSize,
        current: this.page.currentPage,
        state: false
      }
      fetchScheduleList(param).then((res) => {
        this.tableData = res.data.data.records
        this.page.total = res.data.data.total
        this.page.currentPage = res.data.data.records.pages
        this.scheduleList = []
      })
      this.loading = false
    },
    getFinishedData() {
      this.loading = true
      let param = {
        size: this.finishedPage.pageSize,
        current: this.finishedPage.currentPage,
        state: true
      }
      fetchScheduleList(param).then((res) => {
        this.finishedTableData = res.data.data.records
        this.finishedPage.total = res.data.data.total
        this.finishedPage.currentPage = res.data.data.records.pages
        this.scheduleList = []
      })
      this.loading = false
@@ -596,6 +783,12 @@
.avue-crud__tip{
  display: none;
}
.avue-crud__pagination {
    position: relative;
    padding: 5px 0 20px 20px;
    text-align: right;
    z-index: 10;
}
.basic-template-table .el-table__body .el-table__row td:first-child .cell {
  padding-left: 0px;
  padding-right: 0px;
src/views/quality/processInspect/index.vue
@@ -21,6 +21,7 @@
    import * as fecha from 'element-ui/lib/utils/date'
    import processInspectForm from './processInspect-form'
    import { transform } from '@/util/fileTransform'
    import { mapGetters } from 'vuex'
    import { page,deleteById,exportProcessInsProduct } from '@/api/quality/processInspect'
    export default {
        components: {
@@ -162,23 +163,8 @@
                            }
                        },
                    ],
                    toolbar: [
                    {
                        text: '新增',
                        type: 'primary',
                        fun: this.addOrUpdateHandle
                    },
                    // {
                    //     text: '导出',
                    //     fun: this.exportExcel
                    // }
                    ],
                    operator: [{
                        text: '作废',
                        type: 'text',
                        size: 'small',
                        fun: this.deleteHandle
                    }],
                    toolbar: [],
                    operator: null,
                    operatorConfig: {
                    fixed: 'right',
                    label: '操作',
@@ -188,7 +174,26 @@
                },
            }
        },
        created() { },
        computed: {
            ...mapGetters(['permissions'])
        },
        created() {
            if(this.permissions.quality_processInspect_add){
                this.table.toolbar.push({
                        text: '新增',
                        type: 'primary',
                        fun: this.addOrUpdateHandle
                    })
            }
            if(this.permissions.quality_processInspect_del){
                this.table.operator = [{
                        text: '作废',
                        type: 'text',
                        size: 'small',
                        fun: this.deleteHandle
                    }]
            }
         },
        methods: {
            exportExcel(){
                let queryParam=this.$refs.processInspect.getQueryParam();
@@ -215,6 +220,10 @@
            },
            // 新增 / 修改
            addOrUpdateHandle(row) {
                if(!this.permissions.quality_processInspect_edit && row){
                    this.$message.error("该角色没有操作权限")
                    return
                }
                this.$router.push({
                    name: 'processInspectForm',
                    query: { id: row == null ? null : row.id },
src/views/quality/processInspect/processInspect-form.vue
@@ -492,7 +492,7 @@
                let isNumber = true
                for(var i=0;i<row.empiricalValueAddss.length;i++){
                    let val = row.empiricalValueAddss[i]
                    if(!/^[0-9]*[1-9][0-9]*$/.test(val)){
                    if(!/(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/.test(val)){
                        row.empiricalValueAddss[i] = null
                        _than.$message.error("请输入数字")
                        isNumber = false
src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -579,7 +579,7 @@
              required: null,
              rpId: null,
              name: null,
              unit: null,
              unit: 'mm',
              userName: null,
              testValue: '',
              testValueList: [],
@@ -715,7 +715,7 @@
            let isTrue = true
            for(var i=0;i<row.testValueList.length;i++){
              let val = row.testValueList[i]
              let reg = /^[0-9]*[1-9][0-9]*$/
              let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
              if(!reg.test(val) && !['是','否'].includes(val)){
                this.$message.error("请输入数字或选择是否")
                row.testValueList[i] = null
@@ -773,7 +773,7 @@
          required: null,
          rpId: null,
          name: null,
          unit: null,
          unit: 'mm',
          userName: null,
          testValue: null,
          testValueList: [],