haoxuan
2024-03-04 659ec7931205d7cd37367e827a1398ba8a2269ba
新增纤度登记表,新增纤度检验表 2个模块的前端开发
3个文件已修改
386 ■■■■■ 已修改文件
src/views/productManage/silkInspectForm/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/silkRegisterForm/addPage.vue 374 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/silkRegisterForm/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/silkInspectForm/index.vue
@@ -179,9 +179,9 @@
    },
    // 新建
    addBtnClick() {
      this.editConfig.title = "新建"
      this.editConfig.infomation = { contact_name:"",sales_leads_name:"",sale_chance_name:""}
      this.editConfig.visible = true
      this.$router.push({
        path:"/productManage/silkRegisterForm/addPage?activeName=second",
      });
    },
     // 打印
     printClick(){
src/views/productManage/silkRegisterForm/addPage.vue
@@ -9,14 +9,8 @@
  
      <div class="filter">
        <div class="filter-card">
          <CommonSearch
              :show-add="false"
              :show-download="false"
              :amount-view="false"
              :show-action-btn="false"
              placeholder="请输入关键词"
              @searchClick="onFilterSearch"
          >
                <CommonSearch :show-add="false" :show-download="false" :amount-view="false" :show-action-btn="false"
                    placeholder="请输入关键词" @searchClick="onFilterSearch">
            <template slot="leftButton">
              <el-button size="small" type="primary"  @click="cancelClick">放弃</el-button>
              <el-button size="small" type="primary"  @click="saveClick">保存</el-button>
@@ -25,21 +19,194 @@
        </div>
      </div>
  
      <div class="body">
        <div class="body-card">
        <div class="body" v-if="activeName == 'first'">
            <div class="body-l">
                <el-form ref="form" class="form-box" :model="form" :rules="rules" label-position="left" label-width="70px">
                    <el-form-item label="编号" prop="clientName" class="form-item">
                        <el-input v-model="form.clientName" placeholder="请输入">
                        </el-input>
                    </el-form-item>
                    <el-form-item label="落丝时间" prop="signTime" class="form-item">
                        <el-date-picker v-model="form.signTime" value-format="yyyy-MM-dd" type="date" placeholder="选择日期"
                            style="width:100%">
                        </el-date-picker>
                    </el-form-item>
                    <el-form-item label="庄口" prop="deliverType" class="form-item">
                        <el-select v-model="form.deliverType" placeholder="请选择">
                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item label="车间" prop="deliverType" class="form-item">
                        <el-select v-model="form.deliverType" placeholder="请选择">
                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item label="规格" prop="deliverType" class="form-item">
                        <el-select v-model="form.deliverType" placeholder="请选择">
                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item label="组别" prop="deliverType" class="form-item">
                        <el-select v-model="form.deliverType" placeholder="请选择" style="width: 100%">
                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item label="回数" prop="amount" class="form-item">
                        <el-row>
                            <el-col :span="11">
                                <el-input v-model.number="form.amount" placeholder="请输入" show-word-limit
                                    style="width: 100%"></el-input>
                            </el-col>
                            <el-col :span="2" style="margin:0 auto;text-align:center;">-</el-col>
                            <el-col :span="11">
                                <el-input v-model.number="form.amount" placeholder="请输入" show-word-limit
                                    style="width: 100%"></el-input>
                            </el-col>
                        </el-row>
                    </el-form-item>
                    <el-form-item label="车号" prop="clientName" class="form-item">
                        <el-input v-model="form.clientName" placeholder="请输入">
                        </el-input>
                    </el-form-item>
                </el-form>
          <div class="list-view">
            <TableCommonView
                ref="tableListRef"
                v-loading="loading"
                :table-list="tableList"
                @selTableCol="selTableCol"
            >
                    <TableCommonView ref="tableListRef" :colOpenShow="false" v-loading="loading" :table-list="tableList"
                        @selTableCol="selTableCol">
            </TableCommonView>
          </div>
          <div class="btn-pager">
            <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
            </div>
            <div class="body-r">
                纤度:
                <p>19.00</p>
          </div>
        </div>
        <div class="body-two body" v-if="activeName == 'second'">
            <div class="body-two-t">纤度检验表</div>
            <el-form ref="form" class="form-box" :model="form" :rules="rules" label-position="right" label-width="60px">
                <div class="form-box-t">
                    <el-form-item label="编号" prop="clientName" class="form-item">
                        1234546677
                    </el-form-item>
                    <el-form-item label="车间" prop="deliverType" class="form-item">
                        <el-select v-model="form.deliverType" placeholder="请选择">
                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item label="组别" prop="deliverType" class="form-item">
                        <el-select v-model="form.deliverType" placeholder="请选择" style="width: 100%">
                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item label="回数" prop="amount" class="form-item">
                        <el-input v-model.number="form.amount" placeholder="请输入" show-word-limit
                            style="width: 100%"></el-input>
                    </el-form-item>
                    <el-form-item label="规格" prop="clientName" class="form-item">
                        <el-input v-model="form.clientName" placeholder="请输入">
                        </el-input>
                    </el-form-item>
                    <el-form-item label="日期" prop="signTime" class="form-item">
                        <el-date-picker v-model="form.signTime" value-format="yyyy-MM-dd" type="date" placeholder="选择日期"
                            style="width:100%">
                        </el-date-picker>
                    </el-form-item>
                </div>
                <div class="list-view">
                    <el-table ref="multipleTable" :data="tableTwoList.tableInfomation" tooltip-effect="dark"
                        style="width: 100%">
                        <el-table-column label="车号" prop="templateName" width="100">
                        </el-table-column>
                        <el-table-column label="下差纤度" prop="name" width="100" align="center">
                            <template v-for="(item, i) in tableTwoList.lower">
                                <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
                                    :width="item.width" :min-width="item.min" show-overflow-tooltip
                                    :sortable="item.sortable">
                                </el-table-column>
                            </template>
                        </el-table-column>
                        <el-table-column label="目的纤度" prop="name" width="100" align="center">
                            <template v-for="(item, i) in tableTwoList.objective">
                                <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
                                    :width="item.width" :min-width="item.min" show-overflow-tooltip
                                    :sortable="item.sortable">
                                </el-table-column>
                            </template>
                        </el-table-column>
                        <el-table-column label="上差纤度" prop="name" width="100" align="center">
                            <template v-for="(item, i) in tableTwoList.upper">
                                <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
                                    :width="item.width" :min-width="item.min" show-overflow-tooltip
                                    :sortable="item.sortable">
                                </el-table-column>
                            </template>
                        </el-table-column>
                        <el-table-column prop="valueRange" label="偏差" width="120">
                        </el-table-column>
                        <el-table-column prop="unit" label="总差" show-overflow-tooltip>
                        </el-table-column>
                        <el-table-column prop="valueRange" label="野纤" width="120">
                        </el-table-column>
                        <el-table-column prop="unit" label="大野" show-overflow-tooltip>
                        </el-table-column>
                        <el-table-column prop="valueRange" label="特野" width="120">
                        </el-table-column>
                        <el-table-column prop="unit" label="等级" show-overflow-tooltip>
                        </el-table-column>
                        <el-table-column prop="valueRange" label="II度" width="120">
                        </el-table-column>
                        <el-table-column prop="unit" label="清洁" show-overflow-tooltip>
                        </el-table-column>
                        <el-table-column prop="valueRange" label="洁净" width="120">
                        </el-table-column>
                        <el-table-column prop="unit" label="备注" show-overflow-tooltip>
                        </el-table-column>
                    </el-table>
                </div>
                <div class="form-box-b">
                    <el-form-item label="平均纤度" prop="clientName" class="form-item-two" label-width="100px">
                        1234546677
                    </el-form-item>
                    <el-form-item label="公量纤度" prop="deliverType" class="form-item" label-width="100px">
                        <el-input v-model="form.clientName" placeholder="请输入">
                        </el-input>
                    </el-form-item>
                    <el-form-item label="偏差" prop="clientName" class="form-item-two">
                        0.98
                    </el-form-item>
                    <el-form-item label="总差" prop="clientName" class="form-item-two">
                        0.98
                    </el-form-item>
                    <el-form-item label="车组等级" prop="deliverType" class="form-item-two"  label-width="100px">
                        4A
                    </el-form-item>
                    <el-form-item label="II度" prop="amount" class="form-item">
                        <el-input v-model="form.clientName" placeholder="请输入">
                        </el-input>
                    </el-form-item>
                    <el-form-item label="清洁" prop="clientName" class="form-item">
                        <el-input v-model="form.clientName" placeholder="请输入">
                        </el-input>
                    </el-form-item>
                    <el-form-item label="洁净" prop="signTime" class="form-item">
                        <el-input v-model="form.clientName" placeholder="请输入">
                        </el-input>
                    </el-form-item>
                    <el-form-item label="庄口工艺单编号" prop="signTime" class="form-item" label-width="110px">
                        <el-input v-model="form.clientName" placeholder="请输入">
                        </el-input>
                    </el-form-item>
                    <el-form-item label="检验员" prop="signTime" class="form-item">
                        <el-input v-model="form.clientName" placeholder="请输入">
                        </el-input>
                    </el-form-item>
                </div>
            </el-form>
      </div>
    </div>
  </template>
@@ -68,10 +235,56 @@
          { label: "数量", prop: "client_level" , default:true}, // 重要级别
          { label: "纤度合计", prop: "next_visit_time", min: 90, default:true }, // 下次回访日期
        ],
        showCol:['车号','纤度值','数量','纤度合计']
            showCol: ['车号', '纤度值', '数量', '纤度合计'],
            deliveryTypeList: [],
            form: {},
            rules: {
                clientName: [
                    { required: true, message: "请选择客户名称", trigger: "change" },
                ],
            },
            tableTwoList: {
                tableInfomation: [],
                lower: [
                    { label: "14", prop: "name", min: 100, default: true },
                    { label: "14.5", prop: "member_name", default: true },
                    { label: "15", prop: "client_level", default: true },
                    { label: "15.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "16", prop: "name", min: 100, default: true },
                    { label: "16.5", prop: "member_name", default: true },
                    { label: "17", prop: "client_level", default: true },
                    { label: "17.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "18", prop: "client_level", default: true },
                    { label: "18.5", prop: "next_visit_time", min: 90, default: true },
                ],
                objective: [
                    { label: "19", prop: "name", min: 100, default: true },
                    { label: "19.5", prop: "member_name", default: true },
                    { label: "20", prop: "client_level", default: true },
                    { label: "20.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "21", prop: "name", min: 100, default: true },
                ],
                upper: [
                    { label: "21.5", prop: "name", min: 100, default: true },
                    { label: "22", prop: "member_name", default: true },
                    { label: "22.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "23", prop: "name", min: 100, default: true },
                    { label: "23.5", prop: "member_name", default: true },
                    { label: "24", prop: "client_level", default: true },
                    { label: "24.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "25", prop: "client_level", default: true },
                    { label: "25.5", prop: "next_visit_time", min: 90, default: true },
                    { label: "26", prop: "client_level", default: true },
                    { label: "26.5", prop: "next_visit_time", min: 90, default: true },
                ],
            },
      }
    },
    created() {
        let query = this.$route.query;
        if (query) {
            this.activeName = query.activeName ? query.activeName : "first";
        }
      this.setTable()
      this.search_map = {
        is_public: this.is_public
@@ -81,7 +294,8 @@
    methods: {
      setTable() {
        this.tableList = {
          selectIndex: true,
                selectIndex: false,
                headerColor: 'red',
          tableInfomation: [],
          allcol: [],
          showcol: this.showCol,
@@ -152,12 +366,14 @@
                  }
                })
                this.tableList.tableInfomation = list || []
                            this.tableTwoList.tableInfomation = []
                this.pagerOptions.totalCount = res.data.count
              } else {
                this.tableList.tableInfomation = []
              }
            } else {
              this.tableList.tableInfomation = []
                        this.tableTwoList.tableInfomation = []
            }
            this.loading = false
          })
@@ -207,6 +423,7 @@
    .el-tabs--top .el-tabs__item.is-top:nth-child(2) {
      padding-left: 25px;
    }
    .el-tabs__item {
      padding: 0 25px;
      height: 45px;
@@ -216,11 +433,13 @@
  .custom-manage{
    height: 100%;
    overflow: hidden;
    .filter{
      height: 80px;
      display: flex;
      align-items: center;
      padding: 0 20px 0 20px;
      &-card{
        height: 80px;
        display: flex;
@@ -232,29 +451,136 @@
        background-color: #fff;
      }
    }
    .body{
      box-sizing: border-box;
      padding: 10px 20px;
        padding: 10px 10px;
      border-radius: 12px;
      height: calc(100% - 139px);
      .body-card {
        height: calc(100% - 139px - 10px);
        width: calc(100% - 20px);
        margin: 0 auto;
        margin-top: 10px;
        overflow: hidden;
        background: #fff;
        .body-l {
        background-color: #fff;
        border-radius: 12px;
            height: calc(100% - 180px - 20px);
            width: calc(100% - 420px);
            float: left;
            overflow: hidden;
            padding: 10px 10px;
            .form-box {
                width: 100%;
        height: 100%;
        overflow: hidden;
      }
            .form-box {
                width: 100%;
                height: 180px;
                overflow: hidden;
                .form-item {
                    width: calc(33% - 10px);
                    margin-right: 15px;
                    float: left;
                    &:nth-of-type(3n) {
                        margin-right: 0;
                    }
                }
            }
      .list-view {
        height: calc(100% - 60px);
                height: calc(100% - 0px);
        overflow: hidden;
      }
        }
        .body-r {
            background-color: #67a0ff;
            color: #333;
            font-size: 28px;
            height: calc(100% - 40px);
            width: 340px;
            float: right;
            padding: 20px 10px;
            p {
                font-size: 32px;
                color: #fff;
            }
        }
      .btn-pager {
        display: flex;
        margin-top: 10px;
        .page {
          margin-left: auto;
        }
      }
    }
    .body-two {
        .body-two-t {
            text-align: center;
            width: 100%;
            font-size: 16px;
            line-height: 30px;
            font-weight: bold;
            margin-bottom: 10px;
        }
        .form-box {
            width: 100%;
            height: calc(100% - 40px);
            overflow: hidden;
        }
        .form-box-t {
            width: 100%;
            height: 60px;
            overflow: hidden;
            .form-item {
                width: calc(16% - 5px);
                margin-right: 10px;
                float: left;
                &:nth-of-type(6n) {
                    margin-right: 0;
                }
            }
        }
        .list-view {
            max-height: calc(100% - 90px);
            overflow: hidden;
        }
        .form-box-b {
            width: 100%;
            height: 60px;
            overflow: hidden;
            .form-item-two{
                width:160px;
                float:left;
            }
            .form-item {
                width: calc(10% - 5px);
                margin-right: 10px;
                float: left;
                &:nth-of-type(10n) {
                    margin-right: 0;
                }
            }
        }
    }
  }
  </style>
  
src/views/productManage/silkRegisterForm/index.vue
@@ -171,9 +171,9 @@
    },
    // 新建
    addBtnClick() {
      this.editConfig.title = "新建"
      this.editConfig.infomation = { contact_name:"",sales_leads_name:"",sale_chance_name:""}
      this.editConfig.visible = true
      this.$router.push({
        path:"/productManage/silkRegisterForm/addPage?activeName=first",
      });
    },
     // 打印
     printClick(){