根第一个循减10一次减0.5处理得到下差纤度的表头+根第2个循增10一次增0.5处理得上差纤度的表头
1个文件已修改
397 ■■■■ 已修改文件
src/views/productManage/silkRegisterForm/addPage.vue 397 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/silkRegisterForm/addPage.vue
@@ -3,7 +3,7 @@
        <div class="tab-view">
            <el-tabs v-model="activeName" @tab-click="tabsClick">
                <el-tab-pane label="纤度登记表" name="first"></el-tab-pane>
                <el-tab-pane label="纤度检验表" name="second"></el-tab-pane>
                <el-tab-pane label="纤度检验表" :disabled='!registerId&&!isRegisterSave' name="second"></el-tab-pane>
            </el-tabs>
        </div>
        <template v-if="activeName == 'first'">
@@ -13,7 +13,8 @@
                        placeholder="请输入关键词" @searchClick="onFilterSearch">
                        <template slot="leftButton">
                            <el-button size="small" type="primary" @click="cancelClickOne">放弃</el-button>
                            <el-button size="small" type="primary" :loading="isAddloading"  @click="saveClickOne('form')">保存</el-button>
                            <el-button size="small" type="primary" :loading="isAddloading"
                                @click="saveClickOne('form')">保存</el-button>
                        </template>
                    </CommonSearch>
                </div>
@@ -66,7 +67,8 @@
                        <el-form-item label="回数" prop='circle' class="form-item">
                            <el-row>
                                <el-col :span="11">
                                    <el-form-item label="" @input="inputStart" label-width="0" prop="startCircle" class="select-width">
                                    <el-form-item label="" @input="inputStart" label-width="0" prop="startCircle"
                                        class="select-width">
                                        <el-input  v-model.number="form.startCircle" placeholder="请输入" show-word-limit
                                        class="select-width"></el-input>
                                    </el-form-item>
@@ -75,8 +77,8 @@
                                <el-col :span="11">
                                    <el-form-item label="" label-width="0" prop="endCircle" class="select-width">
                                        <el-input v-model.number="form.endCircle" @input="inputStart" placeholder="请输入" show-word-limit
                                            class="select-width"></el-input>
                                        <el-input v-model.number="form.endCircle" @input="inputStart" placeholder="请输入"
                                            show-word-limit class="select-width"></el-input>
                                    </el-form-item>
                                </el-col>
                            </el-row>
@@ -91,16 +93,10 @@
                            @selTableCol="selTableCol">
                        </TableCommonView> -->
                        <!-- 修改为输入 -->
                        <CommonFormTableView
                        ref="commonFormTableView"
                        :detail-enter="isView ? true : false"
                        :selectBox="false"
                        :detailEnter="true"
                        :show-summary="showSummary"
                        :product-table-list="tableList"
                        @inputContent="inputContent"
                        @addProductClick="addProductClick"
                        ></CommonFormTableView>
                        <CommonFormTableView ref="commonFormTableView" :detail-enter="isView ? true : false"
                            :selectBox="false" :detailEnter="true" :show-summary="showSummary"
                            :product-table-list="tableList" @inputContent="inputContent"
                            @addProductClick="addProductClick"></CommonFormTableView>
                    </div>
                </div>
                <div class="body-r">
@@ -110,52 +106,48 @@
            </div>
        </template>
        <template v-if="activeName == 'second'">
            <div class="body-two body" v-if="activeName == 'second'">
            <div class="filter">
                <div class="filter-card">
                    <!-- <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="cancelClickTwo">放弃</el-button>
                    <el-button size="small" type="primary" :loading="isAddloading"
                        @click="saveClickOne('form')">保存</el-button>
                    <!-- </template>
</CommonSearch> -->
                </div>
            </div>
            <div class="body-two body">
                <div class="body-two-t">纤度检验表</div>
                <el-form ref="form" class="form-box" :model="form" :rules="rules" label-position="right" label-width="60px">
                <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 label="编号" prop="number" class="form-item">
                            {{ form.number }}
                        </el-form-item>
                        <el-form-item label="车间" prop="name" class="form-item">
                            <el-select v-model="form.name" placeholder="请选择" class="select-width">
                                <el-option v-for="item in nameList" :key="item.ID" :label="item.name"
                                    :value="item.name">
                                </el-option>
                            </el-select>
                            {{ form.name }}
                        </el-form-item>
                        <el-form-item label="组别" prop="workshopGroup" class="form-item">
                            <el-select v-model="form.workshopGroup" placeholder="请选择" class="select-width">
                                <el-option v-for="item in workshopGroupList" :key="item.ID" :label="item.workshopNumber"
                                    :value="item.workshopNumber">
                                </el-option>
                            </el-select>
                            {{ form.workshopGroup }}
                        </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 label="回数" prop="circle" class="form-item">
                            {{ form.circle }}
                        </el-form-item>
                        <el-form-item label="规格" prop="spec" class="form-item">
                            <el-select v-model="form.spec" placeholder="请选择" style="width: 100%">
                                <el-option v-for="item in specList" :key="item.id" :label="item.name"
                                    :value="item.id">
                                </el-option>
                            </el-select>
                            <!-- <el-input v-model="form.spec" placeholder="请输入">
                            </el-input> -->
                            {{ form.spec }}
                        </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 label="日期" prop="finishDate" class="form-item">
                            {{ form.finishDate }}
                        </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 label="车号" prop="ID" width="100">
                            </el-table-column>
                            <el-table-column label="下差纤度" prop="name" width="100" align="center">
                            <el-table-column label="下差纤度" prop="name1" 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
@@ -163,7 +155,7 @@
                                    </el-table-column>
                                </template>
                            </el-table-column>
                            <el-table-column label="目的纤度" prop="name" width="100" align="center">
                            <el-table-column label="目的纤度" prop="name2" 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
@@ -171,7 +163,7 @@
                                    </el-table-column>
                                </template>
                            </el-table-column>
                            <el-table-column label="上差纤度" prop="name" width="100" align="center">
                            <el-table-column label="上差纤度" prop="name3" 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
@@ -179,9 +171,9 @@
                                    </el-table-column>
                                </template>
                            </el-table-column>
                            <el-table-column prop="valueRange" label="偏差" width="120">
                            <el-table-column prop="deviation" label="偏差" width="120">
                            </el-table-column>
                            <el-table-column prop="unit" label="总差" show-overflow-tooltip>
                            <el-table-column prop="totalDeviation" label="总差" show-overflow-tooltip>
                            </el-table-column>
                            <el-table-column prop="valueRange" label="野纤" width="120">
                            </el-table-column>
@@ -189,53 +181,54 @@
                            </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 prop="finenessGrade" label="等级" show-overflow-tooltip>
                            </el-table-column>
                            <el-table-column prop="valueRange" label="II度" width="120">
                            <el-table-column prop="twiceChange" label="II度" width="120">
                            </el-table-column>
                            <el-table-column prop="unit" label="清洁" show-overflow-tooltip>
                            <el-table-column prop="cleanliness" label="清洁" show-overflow-tooltip>
                            </el-table-column>
                            <el-table-column prop="valueRange" label="洁净" width="120">
                            <el-table-column prop="purity" label="洁净" width="120">
                            </el-table-column>
                            <el-table-column prop="unit" label="备注" show-overflow-tooltip>
                            <el-table-column prop="remark" 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 label="平均纤度" prop="averageFineness" class="form-item-two" label-width="100px">
                            {{ form.averageFineness }}
                        </el-form-item>
                        <el-form-item label="公量纤度" prop="deliverType" class="form-item" label-width="100px">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="公量纤度" prop="measureFineness" class="form-item" label-width="100px">
                            <el-input v-model="form.measureFineness" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                        <el-form-item label="偏差" prop="clientName" class="form-item-two">
                            0.98
                        <el-form-item label="偏差" prop="deviation" class="form-item-two">
                            {{ form.deviation }}
                        </el-form-item>
                        <el-form-item label="总差" prop="clientName" class="form-item-two">
                            0.98
                        <el-form-item label="总差" prop="totalDeviation" class="form-item-two">
                            {{ form.totalDeviation }}
                        </el-form-item>
                        <el-form-item label="车组等级" prop="deliverType" class="form-item-two" label-width="100px">
                            4A
                        <el-form-item label="车组等级" prop="finenessGrade" class="form-item-two" label-width="100px">
                            {{ form.finenessGrade }}
                        </el-form-item>
                        <el-form-item label="II度" prop="amount" class="form-item">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="II度" prop="twiceChange" class="form-item">
                            <el-input v-model="form.twiceChange" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                        <el-form-item label="清洁" prop="clientName" class="form-item">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="清洁" prop="cleanliness" class="form-item">
                            <el-input v-model="form.cleanliness" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                        <el-form-item label="洁净" prop="signTime" class="form-item">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="洁净" prop="purity" class="form-item">
                            <el-input v-model="form.purity" 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-form-item label="庄口工艺单编号" prop="marketProcessOrderNumber" class="form-item"
                            label-width="110px">
                            <el-input v-model="form.marketProcessOrderNumber" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                        <el-form-item label="检验员" prop="signTime" class="form-item">
                            <el-input v-model="form.clientName" placeholder="请输入">
                        <el-form-item label="检验员" prop="inspector" class="form-item">
                            <el-input v-model="form.inspector" placeholder="请输入">
                            </el-input>
                        </el-form-item>
                    </div>
@@ -246,7 +239,7 @@
</template>
  
<script>
import { getRegisterList,saveRegister,getDictList,getWorkshopManageList,getRegisterDetails } from "@/api/productManage/silkRegisterForm.js"
import { saveRegister, getDictList, getWorkshopManageList, getRegisterDetails } from "@/api/productManage/silkRegisterForm.js"
import {getCheckDetails,saveCheck,} from "@/api/productManage/silkInspectForm.js"
import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
@@ -270,16 +263,6 @@
            deliveryTypeList: [],
            specList:[], //规格
            form: {
                number:'',
                finishDate:'',
                market:'',
                name:'',
                spec:'',
                workshopGroup:'',
                circle:'',
                startCircle:'',
                endCircle:'',
                position:'',
            },
            rules: {
                number: [
@@ -314,38 +297,9 @@
            },
            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 },
                ],
                lower: [],
                objective: [],
                upper: [],
            },
            // 新增纤度登记表
            isAddloading:false,
@@ -380,6 +334,8 @@
            },
            tableData:[],
            registerId:'',
            inspectID: '',
            isRegisterSave:false,
        }
    },
    created() {
@@ -387,35 +343,124 @@
        if (query) {
            this.activeName = query.activeName ? query.activeName : "first";
            this.registerId= query.id ? query.id : "";
            this.inspectID = query.inspectID ? query.inspectID : "";
        }
        this.getSelectDataList()
        this.keyword=''
        this.getDetailsData()
        this.getData()
    },
    methods: {
        getDetailsData(){
            if(this.registerId){
        getDetailsData(id) {
                if(this.activeName=='first'){
                    getRegisterDetails({ id: this.registerId }).then((response) => {
                this.form = {
                    number: '',
                    finishDate: '',
                    market: '',
                    name: '',
                    spec: '',
                    workshopGroup: '',
                    circle: '',
                    startCircle: '',
                    endCircle: '',
                    position: '',
                }
                if (this.registerId) {
                    getRegisterDetails({ id: id ? id : this.registerId }).then((response) => {
                        if (response.code === 200) {
                        let config=JSON.parse(JSON.stringify(response.data?response.data:{}));
                        this.form=config;
                        this.tableList.tableData=config.finenessList?config.finenessList:[]
                        this.tableData=config.finenessList?config.finenessList:[]
                        } 
                    })
                }
                }else{
                    getCheckDetails({ id: this.registerId }).then((response) => {
                this.form = {
                    number: '',
                    name: '',
                    workshopGroup: '',
                    circle: '',
                    spec: '',
                    finishDate: '',
                    averageFineness: '',
                    measureFineness: '',
                    deviation: '',
                    totalDeviation: '',
                    finenessGrade: '',
                    twiceChange: '',
                    cleanliness: '',
                    purity: '',
                    marketProcessOrderNumber: '',
                    inspector: '',
                }
                if (this.inspectID) {
                    getCheckDetails({ id: id ? id : this.inspectID }).then((response) => {
                        if (response.code === 200) {
                        let config=JSON.parse(JSON.stringify(response.data?response.data:{}));
                            let config = JSON.parse(JSON.stringify(response.data.info ? response.data.info : {}));
                        this.form=config;
                        this.tableList.tableData=config.finenessList?config.finenessList:[]
                        this.tableData=config.finenessList?config.finenessList:[]
                            this.form.number = config.finenessRegister.number
                            this.form.name = config.finenessRegister.name
                            this.form.workshopGroup = config.finenessRegister.workshopGroup
                            this.form.spec = config.finenessRegister.spec
                            this.form.finishDate = config.finenessRegister.finishDate
                            this.form.circle = config.finenessRegister.circle
                            this.getTableHeader()
                            this.tableTwoList.tableInfomation = response.data.items ? response.data.items : []
                        } 
                    })
                }
            }
        },
        getTableHeader(){
            let lowNumber;
                            let topNumber;
                            if(this.form.spec){
                                lowNumber=Number(this.form.spec.split('/')[0])
                                topNumber=Number(this.form.spec.split('/')[1])
                            }
                            this.tableTwoList.objective=[]
                            this.tableTwoList.lower=[]
                            this.tableTwoList.upper=[]
                            if(lowNumber&&topNumber){
                                for(let i = 0; i <lowNumber; i++){
                                    let item={
                                        label: lowNumber+i*0.5+'',
                                         prop: lowNumber+i*0.5+'',
                                         min: 100,
                                         default: true
                                    }
                                    this.tableTwoList.objective.push(item)
                                    if(lowNumber+i*0.5==topNumber){
                                        break;
                                    }
                                }
                                let lowStart=lowNumber-5
                                for(let i = 0; i <lowStart; i++){
                                    let item={
                                        label: lowStart+i*0.5+'',
                                         prop: lowStart+i*0.5+'',
                                         min: 100,
                                         default: true
                                    }
                                    this.tableTwoList.lower.push(item)
                                    if(lowStart+i*0.5==(lowNumber-0.5)){
                                        break;
                                    }
                                }
                                let topEnd=topNumber+5
                                for(let i = 1; i <topNumber; i++){
                                    let item={
                                        label: topNumber+i*0.5+'',
                                         prop: topNumber+i*0.5+'',
                                         min: 100,
                                         default: true
                                    }
                                    this.tableTwoList.upper.push(item)
                                    if(topNumber+i*0.5==topEnd){
                                        break;
                                    }
                                }
                            }
                            this.$forceUpdate()
        },
        getSelectDataList(){
            //车间
@@ -474,77 +519,22 @@
                }
            })
        }, 
            // 请求数据
        async getData() {
            this.loading = true
            await getRegisterList({
                keyword: this.keyword?this.keyword:'',
                page: this.pagerOptions.currPage,
                pageSize: this.pagerOptions.pageSize
            })
                .then((res) => {
                    console.log(res)
                    if (res.code === 200) {
                        if (res.data.list && res.data.list.length > 0) {
                            const list = res.data.list.map((item) => {
                                let contact_name = ""
                                let contact_phone = ""
                                let contact_id = 0
                                let contact_wechat = ""
                                let contact_email = ""
                                let position = ""
                                if (item.contacts.length !== 0) {
                                    for (let i = 0; i < item.contacts.length; i++) {
                                        if (item.contacts[i].is_first) {
                                            contact_name = item.contacts[i].name
                                            contact_phone = item.contacts[i].phone
                                            contact_id = item.contacts[i].id
                                            contact_wechat = item.contacts[i].wechat
                                            contact_email = item.contacts[i].email
                                            position = item.contacts[i].position
                                        }
                                    }
                                }
                                return {
                                    ...item,
                                    contact_name: contact_name,
                                    contact_phone: contact_phone,
                                    client_level: item.client_level.name,
                                    client_status: item.client_status.name,
                                    contact_id: contact_id,
                                    member_name: item.member.username,
                                    contact_wechat: contact_wechat,
                                    contact_email: contact_email,
                                    position: position
                                }
                            })
                            this.tableTwoList.tableInfomation =list|| []
                            this.pagerOptions.totalCount = res.data.count
                        } else {
                            this.tableTwoList.tableInfomation = []
                        }
                    } else {
                        this.tableTwoList.tableInfomation = []
                    }
                    this.loading = false
                })
                .catch((err) => {
                    console.log(err)
                    this.loading = false
                })
        },
        tabsClick(tab) {
        tabsClick() {
            // if (tab.name === "first") {
            //     this.is_public = true
            // } else {
            //     this.is_public = false
            // }
            this.$router.push({
                path:"/productManage/silkRegisterForm/addPage?activeName="+tab.name,
                path:"/productManage/silkRegisterForm/addPage",
                query:{
                  activeName:this.activeName,
                  inspectID:this.inspectID,
                  id:this.registerId,
                }
            });
            this.getDetailsData()
            this.keyword = ''
            this.pagerOptions.currPage = 1
            this.getData()
        },
        // 搜索
        onFilterSearch(searchText) {
@@ -579,11 +569,18 @@
                }]
            }
        },
        // 纤度检验表
        cancelClickTwo() {
        },
        // 保存
        saveClickOne(formName) {
            this.$refs[formName].validate((valid) => {
                if (valid) {
                    let form = JSON.parse(JSON.stringify(this.form));
                    // params.workshopGroup=Number(params.workshopGroup)
                    this.isAddloading = true
                    if (this.activeName == 'first') {
                    delete form.circle
                    let finenessList= JSON.parse(JSON.stringify(this.tableList.tableData));
                    for(let i in finenessList){
@@ -594,17 +591,18 @@
                        ...form
                    }
                    // 编辑
                    if(this.registerId){
                        params.id=this.registerId
                        if (this.inspectID) {
                            params.ID = this.form.ID?this.form.ID:Number(this.inspectID)
                    }
                    // params.workshopGroup=Number(params.workshopGroup)
                    this.isAddloading=true
                    if(this.activeName=='first'){
                        saveRegister(params).then((res) => {
                            if (res.code == 200) {
                                this.isRegisterSave=true;
                                this.$message({
                                    message: "保存成功!",
                                    type: "success",
                                });
                                this.$router.push({
                                    path:"/productManage/silkRegisterForm",
                                });
                            }
                            this.isAddloading=false
@@ -614,7 +612,14 @@
                                }, 3000);
                        })
                    }else{
                        saveCheck(params).then((res) => {
                        let paramsTwo = {
                            ...form
                        }
                        // 编辑
                        if (this.registerId) {
                            paramsTwo.ID = this.form.ID?this.form.ID:Number(this.registerId)
                        }
                        saveCheck(paramsTwo).then((res) => {
                            if (res.code == 200) {
                                this.$message({
                                    message: "保存成功!",
@@ -722,6 +727,7 @@
                    &:nth-of-type(3n) {
                        margin-right: 0;
                    }
                    .select-width{
                        width:100%;
                    }
@@ -821,4 +827,3 @@
    }
}
</style>