| | |
| | | <template> |
| | | <view class="main"> |
| | | <u--form labelPosition="top" |
| | | labelWidth="20%" |
| | | labelWidth="30%" |
| | | :borderBottom="false" |
| | | :rules="rules" |
| | | :errorType="'border-bottom'" |
| | | :model="dataForm" |
| | | ref="uForm"> |
| | | <u-form-item label="一级品类" |
| | | <u-form-item |
| | | borderBottom=true |
| | | label="一级品类" |
| | | prop="firstClass" |
| | | :borderBottom="false"> |
| | | <u-cell-group> |
| | |
| | | size="30"></u-icon></u-cell> |
| | | </u-cell-group> |
| | | </u-form-item> |
| | | <u-form-item label="二级品名" |
| | | <u-form-item |
| | | borderBottom=true |
| | | label="二级品名" |
| | | prop="secondClass" |
| | | :borderBottom="false"> |
| | | <u-cell-group> |
| | |
| | | size="30"></u-icon></u-cell> |
| | | </u-cell-group> |
| | | </u-form-item> |
| | | <u-form-item label="规格" |
| | | <u-form-item |
| | | label="规格" |
| | | prop="specifications" |
| | | borderBottom> |
| | | <u-input v-model="dataForm.specifications" |
| | | placeholder="请输入规格" |
| | | border="bottom" |
| | | @input="$u.debounce(specInputHandle, 500)"></u-input> |
| | | </u-form-item> |
| | | <!-- 新增不合格称重 --> |
| | | <u-form-item label="不合格罚款" |
| | | prop="unqualifiedWeight" |
| | | borderBottom> |
| | | <u-input v-model="dataForm.unqualifiedWeight" |
| | | placeholder="请输罚款" |
| | | type="digit" |
| | | border="bottom" |
| | | @change="v=>checkNum(v)" |
| | | @input="$u.debounce(specInputHandle, 500)"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="不合格判定" prop="unqualifiedType"> |
| | | <u-radio-group size='32' v-model="dataForm.unqualifiedType"> |
| | | <u-radio :label-size="25" :name="'1'" :label="'超尺扣罚'" :disabled="disabled">长度扣罚</u-radio> |
| | | <u-radio :label-size="25" :name="'2'" :label="'厚度扣罚'" :disabled="disabled">厚度扣罚</u-radio> |
| | | <u-radio :label-size="25" :name="'3'" :label="'密闭器'" :disabled="disabled">密闭器</u-radio> |
| | | </u-radio-group> |
| | | </u-form-item> |
| | | </u--form> |
| | | <Transition name="slide-fade"> |
| | |
| | | dataForm: { |
| | | firstClass: "", |
| | | secondClass: "", |
| | | specifications: "" |
| | | specifications: "", |
| | | unqualifiedWeight:'', |
| | | unqualifiedType:'' |
| | | }, |
| | | index: '', |
| | | takeCoalId: "", |
| | | params:{}, |
| | | // 一级品类操作菜单 |
| | | firstClassActionsList: [], |
| | | firstClassShow: false, |
| | |
| | | // 判断是修改品名与规格还是不合格品名 |
| | | productName: false, |
| | | unqualified: false, |
| | | rules: { |
| | | 'firstClass': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择值', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'secondClass': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择值', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'specifications': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择值', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'unqualifiedWeight': { |
| | | required: true, |
| | | message: '请选择值', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'unqualifiedType':{ |
| | | required: true, |
| | | message: '请选择值', |
| | | trigger: ['blur', 'change'] |
| | | } |
| | | }, |
| | | // |
| | | showWeighCopyStorge: [] |
| | | } |
| | |
| | | computed: { |
| | | ...mapState(["globalShowWeigh"]), |
| | | }, |
| | | onReady() { |
| | | //如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。 |
| | | this.$refs.uForm.setRules(this.rules) |
| | | }, |
| | | onLoad(params) { |
| | | this.index = params.index || "" |
| | | this.takeCoalId = params.takeCoalId || '' |
| | | this.getFirstCategoryName() |
| | | this.getFirstCategoryName(params) |
| | | this.params = params; |
| | | this.productName = params.productName === "true" || false |
| | | this.unqualified = params.unqualified === "true" || false |
| | | this.showWeighCopyStorge = JSON.parse(JSON.stringify(uni.getStorageSync('showWeighCopyStorge'))) |
| | | this.showWeighCopyStorge = JSON.parse(JSON.stringify(uni.getStorageSync('showWeighCopyStorgeOther'))) |
| | | console.log(params,'paramsparamsparams'); |
| | | if(params.type == 'edit'){ |
| | | this.init(params) |
| | | } |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['changeglobalShowWeigh']), |
| | | getFirstCategoryName() { |
| | | getFirstCategoryName(params) { |
| | | uni.showLoading({ |
| | | title: "加载中" |
| | | }) |
| | | this.$reqGet("getFirstCategoryName").then(res => { |
| | | if (res.code === 0) { |
| | | uni.hideLoading() |
| | | this.firstClassActionsList = res.data.map(v => { |
| | | this.firstClassActionsList = res.data.filter(Boolean).map(v => { |
| | | return { |
| | | ...v, |
| | | name: v.firstCategoryName |
| | | name: v && v.firstCategoryName |
| | | } |
| | | }) |
| | | this.dataForm.firstClass = this.firstClassActionsList[0].firstCategoryName |
| | | if(params.type !== 'edit') this.dataForm.firstClass = this.firstClassActionsList[0].firstCategoryName |
| | | } else { |
| | | uni.hideLoading() |
| | | this.$u.toast('加载失败') |
| | | } |
| | | }) |
| | | }, |
| | | init(params){ |
| | | let arr = this.showWeighCopyStorge[params.index]; |
| | | console.log(this.showWeighCopyStorge,'arr') |
| | | let {firstClass,secondClass,specifications} = arr.tempArr[params.indexTo]; |
| | | Object.assign(this.dataForm,{firstClass,secondClass,specifications}); |
| | | this.dataForm.unqualifiedWeight = this.showWeighCopyStorge[params.index].unqualifiedWeights.split(',')[params.indexTo]; |
| | | //不合格类判定 |
| | | this.dataForm.unqualifiedType = this.showWeighCopyStorge[params.index].unqualifiedType.split(',')[params.indexTo]; |
| | | }, |
| | | //一级品类菜单 |
| | | firstClassSelect() { |
| | |
| | | this.haveSelectd = false |
| | | }, |
| | | formHandle() { |
| | | this.showWeighCopyStorge = this.globalShowWeigh |
| | | if (this.productName) { |
| | | console.log(this.globalShowWeigh, this.$refs.uForm,'this.globalShowWeigh'); |
| | | this.$refs.uForm.validate().then(res => { |
| | | // uni.$u.toast('校验通过') |
| | | |
| | | this.showWeighCopyStorge = this.globalShowWeigh; |
| | | console.log(this.showWeighCopyStorge,this.index,'this.showWeighCopyStorge[this.index]'); |
| | | if(this.params.type == 'edit'){ |
| | | if (this.productName) { |
| | | this.showWeighCopyStorge[this.index].modifyProductName = this.dataForm.secondClass + '/' + this |
| | | .dataForm.specifications |
| | | this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass |
| | | this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications |
| | | } |
| | | if (this.unqualified) { |
| | | this.showWeighCopyStorge[this.index].unqualifiedBreed = this.dataForm.secondClass + '/' + this.dataForm |
| | | .specifications |
| | | let str = this.dataForm.secondClass + '/' + this.dataForm |
| | | .specifications; |
| | | let tempArr = this.showWeighCopyStorge[this.index].unqualifiedBreed.split(",") |
| | | let tempWeightArr = this.showWeighCopyStorge[this.index].unqualifiedWeights.split(",") |
| | | let noPinArr =this.showWeighCopyStorge[this.index].unqualifiedType.split(",") |
| | | tempArr[this.params.indexTo] = str; |
| | | tempWeightArr[this.params.indexTo] = this.dataForm.unqualifiedWeight; |
| | | noPinArr[this.params.indexTo] = this.dataForm.unqualifiedType; |
| | | this.showWeighCopyStorge[this.index].unqualifiedBreed = tempArr.join(','); |
| | | this.showWeighCopyStorge[this.index].unqualifiedWeights = tempWeightArr.join(','); |
| | | this.showWeighCopyStorge[this.index].unqualifiedType = noPinArr.join(','); |
| | | this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass |
| | | this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications |
| | | //如果这个 tempArr不为 空 |
| | | if(this.showWeighCopyStorge[this.index].tempArr){ |
| | | this.showWeighCopyStorge[this.index].tempArr[this.params.indexTo].firstClass = this.dataForm.firstClass; |
| | | this.showWeighCopyStorge[this.index].tempArr[this.params.indexTo].secondClass = this.dataForm.secondClass; |
| | | this.showWeighCopyStorge[this.index].tempArr[this.params.indexTo].specifications = this.dataForm.specifications; |
| | | }else{ |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | }else{ |
| | | if (this.productName) { |
| | | this.showWeighCopyStorge[this.index].modifyProductName = this.dataForm.secondClass + '/' + this |
| | | .dataForm.specifications |
| | | this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass |
| | | this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications |
| | | } |
| | | if (this.unqualified) { |
| | | let str = this.dataForm.secondClass + '/' + this.dataForm |
| | | .specifications; |
| | | let tempArr; |
| | | if( this.showWeighCopyStorge[this.index].unqualifiedBreed){ |
| | | tempArr = this.showWeighCopyStorge[this.index].unqualifiedBreed.split(",").filter(Boolean); |
| | | }else{ |
| | | tempArr = [] |
| | | } |
| | | |
| | | let tempWeightArr; |
| | | if(this.showWeighCopyStorge[this.index].unqualifiedWeights){ |
| | | tempWeightArr = this.showWeighCopyStorge[this.index].unqualifiedWeights.split(",").filter(Boolean) |
| | | }else{ |
| | | tempWeightArr = []; |
| | | } |
| | | // 添加不合格品类判定 |
| | | let noPin; |
| | | if(this.showWeighCopyStorge[this.index].unqualifiedType){ |
| | | noPin = this.showWeighCopyStorge[this.index].unqualifiedType.split(",").filter(Boolean) |
| | | }else{ |
| | | noPin = [] |
| | | } |
| | | |
| | | tempWeightArr.push(this.dataForm.unqualifiedWeight); |
| | | tempArr.push(str); |
| | | noPin.push(this.dataForm.unqualifiedType) |
| | | this.showWeighCopyStorge[this.index].unqualifiedBreed = tempArr.join(',') |
| | | this.showWeighCopyStorge[this.index].unqualifiedWeights = tempWeightArr.join(',') |
| | | this.showWeighCopyStorge[this.index].unqualifiedType = noPin.join(',') |
| | | this.showWeighCopyStorge[this.index].breed = this.dataForm.secondClass |
| | | this.showWeighCopyStorge[this.index].spec = this.dataForm.specifications |
| | | |
| | | |
| | | this.showWeighCopyStorge[this.index].firstClass = this.dataForm.firstClass; |
| | | this.showWeighCopyStorge[this.index].secondClass = this.dataForm.secondClass; |
| | | this.showWeighCopyStorge[this.index].specifications = this.dataForm.specifications; |
| | | |
| | | if(!this.showWeighCopyStorge[this.index].tempArr){ |
| | | this.showWeighCopyStorge[this.index].tempArr = []; |
| | | } |
| | | this.showWeighCopyStorge[this.index].tempArr.push({ |
| | | firstClass: this.dataForm.firstClass, |
| | | secondClass:this.dataForm.secondClass, |
| | | specifications:this.dataForm.specifications |
| | | }) |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | this.changeglobalShowWeigh(this.showWeighCopyStorge) |
| | | uni.setStorageSync('showWeighCopyStorgeOther', this.globalShowWeigh) |
| | | uni.redirectTo({ |
| | | uni.navigateBack({ |
| | | url: `/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail?dataForm=${JSON.stringify(this.dataForm)}&orderPlanId=${this.takeCoalId}&index=${this.index}&havedSubmit=${true}` |
| | | }) |
| | | uni.$emit("handClick",{data:this.dataForm,tempArr:this.showWeighCopyStorge[this.index].tempArr,index:this.index}); |
| | | }).catch(errors => { |
| | | console.log(errors,'errors') |
| | | uni.$u.toast('校验失败') |
| | | }) |
| | | |
| | | }, |
| | | checkNum(value){ |
| | | if ( |
| | | value && |
| | | value.indexOf(".") < 0 && |
| | | value != "" |
| | | ) { |
| | | value = parseFloat(value); |
| | | value = value + ""; // 变回为字符串 |
| | | }else{ |
| | | value = value.replace(/^(-)*(\d+)\.(\d\d).*$/,"$1$2.$3"); |
| | | |
| | | } // 如果没有小数点,首位不能为类似于 01、02的值 |
| | | this.$nextTick(()=>{ |
| | | this.dataForm.unqualifiedWeight = value.replace(/[^\d.]/g, ""); |
| | | }); |
| | | |
| | | } |
| | | } |
| | | } |