lilei 4 年 前
コミット
c771330ae3

+ 72 - 56
src/views/equipmentManage/exchangeSetting/AddSetModal.vue

@@ -42,16 +42,17 @@
                 :min="1"
                 :max="999999"
                 :precision="0"
-                :disabled="!item.state"
+                :disabled="item.state==0"
                 style="width: 150px;"
                 placeholder="请输入投放重量(最大999999)"
                 v-decorator="[
-                  `formData.goldExRuleItemList[${index}].rubbishWeight`,
+                  `formData.rubbishWeight[${index}]`,
                   {
                     validateTrigger: ['change', 'blur'],
+                    initialValue:formData[`rubbishWeight[${index}]`],
                     rules: [
                       {
-                        required: item.state?true:false, message: '请输入投放重量(最大999999)!'
+                        required: item.state==1?true:false, message: '请输入投放重量(最大999999)!'
                       },
                     ],
                   },
@@ -67,16 +68,17 @@
                 :min="1"
                 :max="999999"
                 :precision="0"
-                :disabled="!item.state"
+                :disabled="item.state==0"
                 style="width: 140px;"
                 placeholder="请输入可兑乐豆数(最大999999)"
                 v-decorator="[
-                  `formData.goldExRuleItemList[${index}].goleNum`,
+                  `formData.goleNum[${index}]`,
                   {
                     validateTrigger: ['change', 'blur'],
+                    initialValue:formData[`goleNum[${index}]`],
                     rules: [
                       {
-                        required: item.state?true:false, message: '请输入可兑乐豆数(最大999999)!'
+                        required: item.state==1?true:false, message: '请输入可兑乐豆数(最大999999)!'
                       },
                     ],
                   },
@@ -86,7 +88,7 @@
           </a-col>
           <a-col span="3">
             <a-form-item :label="''" :required="false" :wrapper-col="{ span: 24 }">
-              <a-checkbox :checked="!item.state" @change="handleStatusChange(item,index)">
+              <a-checkbox :checked="item.state==0" @change="handleStatusChange(item,index)">
                 不兑换
               </a-checkbox>
             </a-form-item>
@@ -96,7 +98,7 @@
           <a-button type="primary" @click="handleSubmit()" id="roleModal-handleSubmit" :style="{ marginRight: '15px' }">
             保存
           </a-button>
-          <a-button :style="{ marginLeft: '15px' }" @click="handleCancel()" id="roleModal-handleCancel">
+          <a-button :style="{ marginLeft: '15px' }" @click="cancel()" id="roleModal-handleCancel">
             取消
           </a-button>
         </a-form-item>
@@ -154,16 +156,14 @@ export default {
       formData: {
         name: '',
         remarks: '',
-        goldExRuleItemList: []
+        goldExRuleItemList: [],
+        goleNum: [],
+        rubbishWeight: []
       },
       codeList: []
     }
   },
   methods: {
-    cancel (e) {
-      this.clear()
-      this.$emit('close')
-    },
     // 查询分类数据字典
     getTypeCode () {
       getLookUpData({
@@ -172,17 +172,9 @@ export default {
         lookupCode: 'RUBBISH_TYPE'
       }).then(res => {
         const list = res.data.list
-        const arr = []
         list.map(item => {
           item.state = item.dispName == '有害垃圾' ? 0 : 1
-          const p = {
-            rubbishType: item.code,
-            rubbishWeight: '',
-            goleNum: ''
-          }
-          arr.push(p)
         })
-        this.formData.goldExRuleItemList = arr
         this.codeList = list
       })
     },
@@ -192,42 +184,59 @@ export default {
         id: id
       }).then(res => {
         if (res.status == 200) {
-          this.formData = Object.assign({}, res.data)
-		  this.form.setFieldsValue({ 'formData.goldExRuleItemList': this.formData.goldExRuleItemList })
+          this.formData = Object.assign({}, this.formData, res.data)
+          // 回显数据
+          this.formData.goldExRuleItemList.map((item, index) => {
+            this.formData['goleNum[' + index + ']'] = item.goleNum
+            this.formData['rubbishWeight[' + index + ']'] = item.rubbishWeight
+            this.codeList[index].state = item.state
+          })
         }
       })
     },
     // 是否兑换切换
     handleStatusChange (item, index) {
       item.state = item.state ? 0 : 1
-	  this.form.getFieldDecorator('`formData.goldExRuleItemList[${index}].goleNum`', {
-	    initialValue: '',
-	    preserve: true
-	  })
-      this.form.setFieldsValue({
-        '`formData.goldExRuleItemList[${index}].goleNum`': ''
-      })
-      this.form.resetFields(['`formData.goldExRuleItemList[${index}].goleNum`',
-        '`formData.goldExRuleItemList[${index}].rubbishWeight`'
-      ])
-      // this.formData.goldExRuleItemList[index].goleNum = ''
-      // this.formData.goldExRuleItemList[index].rubbishWeight = ''
+      this.formData['goleNum[' + index + ']'] = ''
+      this.formData['rubbishWeight[' + index + ']'] = ''
+      this.form.resetFields([`formData.rubbishWeight[${index}]`, `formData.goleNum[${index}]`])
     },
     // 保存提交
     handleSubmit () {
       const _this = this
       this.form.validateFields((err, values) => {
-        console.log(values, ' formData.type222222222')
         if (!err) {
-          const params = values.formData
-          params.goldExRuleItemList.map((item, index) => {
-            item.state = this.codeList[index].state
-            item.rubbishType = this.codeList[index].code
-          })
-		  if (this.id) {
-			  params.id = this.id
-			  params.goldExRuleNo = this.goldExRuleNo
-		  }
+          const params = Object.assign({}, this.formData, values.formData)
+          // 编辑
+          if (this.id) {
+            console.log(0, ' params')
+            params.id = this.id
+            params.goldExRuleNo = this.goldExRuleNo
+            // console.log(params, ' params')
+            // 编辑格式化数据
+            this.codeList.map((item, index) => {
+              params.goldExRuleItemList[index] = Object.assign({}, params.goldExRuleItemList[index], {
+                state: item.state,
+                rubbishType: item.code,
+                goleNum: params.goleNum[index],
+                rubbishWeight: params.rubbishWeight[index]
+              })
+              delete params[`goleNum[${index}]`]
+              delete params[`rubbishWeight[${index}]`]
+              delete params.goldExRuleItemList[index].id
+            })
+          } else {
+            // 新增格式化数据
+            this.codeList.map((item, index) => {
+              params.goldExRuleItemList[index] = {
+                state: item.state,
+                rubbishType: item.code,
+                goleNum: params.goleNum[index],
+                rubbishWeight: params.rubbishWeight[index]
+              }
+            })
+          }
+          console.log(params, ' params')
           saveExchangeSetting(params).then(res => {
             console.log(res, 'res--save')
             if (res.status + '' === '200') {
@@ -243,36 +252,43 @@ export default {
         }
       })
     },
-    // 取消
-    handleCancel () {
-      this.cancel()
+    cancel (e) {
+      this.clear()
+      this.$emit('close')
     },
     clear () {
       this.form.resetFields()
-      this.formData.name = ''
-      this.formData.remarks = ''
+      this.formData = {
+        name: '',
+        remarks: '',
+        goldExRuleItemList: [],
+        goleNum: [],
+        rubbishWeight: []
+      }
     }
-
-  },
-  mounted () {
-    this.getTypeCode()
   },
   beforeCreate () {
     this.form = this.$form.createForm(this, {
       name: 'AddBoxModal'
     })
   },
+  created () {
+    this.getTypeCode()
+  },
   watch: {
     visible (newValue, oldValue) {
       this.isshow = newValue
     },
     isshow (newValue, oldValue) {
       if (newValue) {
-        if (this.id) { // 编辑
+        if (this.id) {
           this.titleText = '编辑'
-		  this.getDetailData(this.id)
+		      this.getDetailData(this.id)
         } else {
           this.titleText = '新增'
+          this.codeList.map(item => {
+            item.state = item.dispName == '有害垃圾' ? 0 : 1
+          })
         }
       } else {
         this.cancel()

+ 14 - 6
src/views/equipmentManage/exchangeSetting/ExchangeSetting.vue

@@ -4,8 +4,8 @@
       <a-form layout="inline" :form="form" ref="form" v-bind="formItemLayout" @keyup.enter.native="$refs.table.refresh(true)">
         <a-row :gutter="48">
           <a-col :span="6">
-            <a-form-item label="箱体类型" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-              <a-input id="boxSetting-name" allowClear :maxLength="30" v-model="queryParam.name" placeholder="请输入箱体类型" />
+            <a-form-item label="兑换规则" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+              <a-input id="boxSetting-name" allowClear :maxLength="30" v-model="queryParam.name" placeholder="请输入兑换规则名称" />
             </a-form-item>
           </a-col>
           <a-col :span="6">
@@ -142,6 +142,15 @@ export default {
           customRender: (record, text) => {
             return record ? (record.rubbishWeight ? (record.rubbishWeight + 'g/' + record.goleNum + '个') : '--') : '--'
           }
+        },
+        {
+          title: '废旧金属/塑料',
+          dataIndex: 'metPla',
+          width: 100,
+          align: 'center',
+          customRender: (record, text) => {
+            return record ? (record.rubbishWeight ? (record.rubbishWeight + 'g/' + record.goleNum + '个') : '--') : '--'
+          }
         }
         ]
       },
@@ -178,8 +187,7 @@ export default {
   methods: {
     // 重置
     handleReset () {
-      console.log('重置', this.queryParam)
-      this.form.resetFields()
+      this.queryParam.name = ''
       this.$refs.table.refresh(true)
     },
     // 新增/编辑 后刷新列表
@@ -194,13 +202,13 @@ export default {
     openModal () {
       this.openBoxModal = true
       this.itemId = ''
-	  this.itemGoldExRuleNo = ''
+	    this.itemGoldExRuleNo = ''
     },
     // 编辑
     handleEdit (item) {
       this.openBoxModal = true
       this.itemId = item.id
-	  this.itemGoldExRuleNo = item.goldExRuleNo
+	    this.itemGoldExRuleNo = item.goldExRuleNo
     },
     // 删除
     delect (row) {

+ 77 - 96
src/views/equipmentManage/openTimeSetting/AddTimeModal.vue

@@ -16,102 +16,84 @@
             allowClear
             :maxLength="30"
             id="roleModal-name"
-            v-decorator="['formData.name', {
-              initialValue: formData.name,getValueFromEvent: $filterEmpty,
-              rules: [{ required: true, message: '请输入投放时间段名称(最多30个字符)!' }] }]" />
+            v-decorator="[
+              'formData.name',
+              {
+                initialValue: formData.name,
+                getValueFromEvent: $filterEmpty,
+                rules: [{ required: true, message: '请输入投放时间段名称(最多30个字符)!' }]
+              }
+            ]"
+          />
         </a-form-item>
         <!-- 投放时间区间 -->
-        <a-row
-          type="flex"
-          align="middle"
-          v-for="(k, index) in form.getFieldValue('keys')"
-          :key="k">
+        <a-row type="flex" align="middle" v-for="(k, index) in form.getFieldValue('keys')" :key="k">
           <a-col span="10">
             <!-- 投放开始时间 -->
-            <a-form-item
-              :label="index === 0 ? '投放时间区间' : ''"
-              :required="true"
-              :label-col=" { span: 12 }"
-              :wrapper-col="index ===0 ? { span: 12 }:{span:12,offset:12}"
-            >
+            <a-form-item :label="index === 0 ? '投放时间区间' : ''" :required="true" :label-col="{ span: 12 }" :wrapper-col="index === 0 ? { span: 12 } : { span: 12, offset: 12 }">
               <a-time-picker
                 placeholder="开始时间"
                 v-decorator="[
-                  `formData.deliveryTimeRuleItemList[${k}].openTime`,
+                  `formData.openTime[${k}]`,
                   {
-                    initialValue: `formData.deliveryTimeRuleItemList[${k}].openTime`,
+                    initialValue: formData.openTime[`${k}`],
                     validateTrigger: ['change', 'blur'],
                     rules: [
                       {
-                        required: true, message: '请选择投放开始时间!'
+                        required: true,
+                        message: '请选择投放开始时间!'
                       },
                       {
                         validator: changeTimeValidator
-                      },
-                    ],
-                  },
+                      }
+                    ]
+                  }
                 ]"
-                format="HH:mm" />
+                format="HH:mm"
+              />
             </a-form-item>
           </a-col>
-          <a-col span="1">
-            <a-form-item >至</a-form-item>
-          </a-col>
+          <a-col span="1"><a-form-item>至</a-form-item></a-col>
           <a-col span="6">
             <!-- 投放结束时间 -->
-            <a-form-item
-              :label="''"
-              :required="false"
-              :wrapper-col="{ span: 18 }">
+            <a-form-item :label="''" :required="false" :wrapper-col="{ span: 18 }">
               <a-time-picker
                 placeholder="结束时间"
                 v-decorator="[
-                  `formData.deliveryTimeRuleItemList[${k}].closeTime`,
+                  `formData.closeTime[${k}]`,
                   {
-                    initialValue: `formData.deliveryTimeRuleItemList[${k}].closeTime`,
+                    initialValue: formData.closeTime[`${k}`],
                     validateTrigger: ['change', 'blur'],
-                    rules: [
-                      { required: true, message: '请选择投放结束时间!' }
-                    ],
-                  },
+                    rules: [{ required: true, message: '请选择投放结束时间!' }]
+                  }
                 ]"
-                format="HH:mm" />
+                format="HH:mm"
+              />
             </a-form-item>
           </a-col>
           <a-form-item>
             <a-icon
-              :style="{fontSize: '18px',color: 'red'}"
+              :style="{ fontSize: '18px', color: 'red' }"
               v-if="form.getFieldValue('keys').length > 1"
               class="dynamic-delete-button"
               type="minus-circle-o"
               :disabled="form.getFieldValue('keys').length === 1"
-              @click="() => remove(k)" />
-            <a-icon
-              v-if="index === form.getFieldValue('keys').length-1"
-              :style="{fontSize: '18px'}"
-              type="plus-circle"
-              @click="add" />
+              @click="() => remove(k)"
+            />
+            <a-icon v-if="index === form.getFieldValue('keys').length - 1" :style="{ fontSize: '18px' }" type="plus-circle" @click="add" />
           </a-form-item>
         </a-row>
         <a-form-item :wrapper-col="{ span: 24, offset: 10 }">
-          <a-button type="primary" @click="handleSubmit()" id="roleModal-handleSubmit" :style="{ marginRight: '15px' }">
-            保存
-          </a-button>
-          <a-button :style="{ marginLeft: '15px' }" @click="handleCancel()" id="roleModal-handleCancel">
-            取消
-          </a-button>
+          <a-button type="primary" @click="handleSubmit()" id="roleModal-handleSubmit" :style="{ marginRight: '15px' }">保存</a-button>
+          <a-button :style="{ marginLeft: '15px' }" @click="handleCancel()" id="roleModal-handleCancel">取消</a-button>
         </a-form-item>
       </a-form>
-
     </a-modal>
   </div>
 </template>
 
 <script>
-import {
-  STable,
-  VSelect
-} from '@/components'
+import { STable, VSelect } from '@/components'
 import { viewTimeSetting, saveTimeSetting } from '@/api/openTimeSetting.js'
 import moment from 'moment'
 export default {
@@ -143,7 +125,9 @@ export default {
       }),
       formData: {
         name: '',
-        deliveryTimeRuleItemList: []
+        deliveryTimeRuleItemList: [],
+        closeTime: [],
+        openTime: []
       }
     }
   },
@@ -158,38 +142,36 @@ export default {
       viewTimeSetting({ id: id }).then(res => {
         if (res.status == 200) {
           this.formData.name = res.data.name
-		  const list = res.data.deliveryTimeRuleItemList
-		  this.index = list.length - 1
-		  const keys = this.form.getFieldValue('keys')
-		  let keysL = []
-		  for (let x = 0; x < list.length; x++) {
-			  keysL = keys.concat(x)
-		  }
-		  this.form.setFieldsValue({
-		    keys: keysL
-		  })
-		  list.map(item => {
-			  item.openTime = moment(item.openTime, 'HH:mm')
-			  item.closeTime = moment(item.closeTime, 'HH:mm')
-		  })
-		  this.form.setFieldsValue({ 'formData.deliveryTimeRuleItemList': list })
+          const list = res.data.deliveryTimeRuleItemList
+          this.index = list.length - 1
+          const keys = this.form.getFieldValue('keys')
+          let keysL = []
+          for (let x = 0; x < list.length; x++) {
+            keysL = keys.concat(x)
+          }
+          this.form.setFieldsValue({
+            keys: keysL
+          })
+          list.map(item => {
+            item.openTime = moment(item.openTime, 'HH:mm')
+            item.closeTime = moment(item.closeTime, 'HH:mm')
+          })
+          this.form.setFieldsValue({ 'formData.deliveryTimeRuleItemList': list })
         }
       })
     },
     // 校验
     changeTimeValidator (rule, value, callback) {
-	  console.log('value', value, rule)
-	  const times = this.form.getFieldValue('times')
-	  if (value === null) {
-	    callback(new Error('请输入密码'))
-	  }
-	  callback()
+      console.log('value', value, rule)
+      const times = this.form.getFieldValue('times')
+      if (value === null) {
+        callback(new Error('请输入时间'))
+      }
+      callback()
     },
     // 删除
     remove (k) {
-      const {
-        form
-      } = this
+      const { form } = this
       const keys = form.getFieldValue('keys')
       if (keys.length === 1) {
         return
@@ -200,9 +182,7 @@ export default {
     },
     // 增加
     add () {
-      const {
-        form
-      } = this
+      const { form } = this
       const keys = form.getFieldValue('keys')
       console.log(keys, 'kkkkkk')
       const nextKeys = keys.concat(this.index++)
@@ -214,16 +194,16 @@ export default {
     handleSubmit () {
       const _this = this
       this.form.validateFields((err, values) => {
-		  console.log(values, ' formData.type222222222')
+        console.log(values, ' formData.type222222222')
         if (!err) {
           const params = values.formData
           params.deliveryTimeRuleItemList.map(item => {
             item.openTime = moment(item.openTime).format('HH:mm')
             item.closeTime = moment(item.closeTime).format('HH:mm')
           })
-		  if (this.id) {
-			  params.id = this.id
-		  }
+          if (this.id) {
+            params.id = this.id
+          }
           saveTimeSetting(params).then(res => {
             console.log(res, 'res--save')
             if (res.status + '' === '200') {
@@ -247,7 +227,6 @@ export default {
       this.form.resetFields()
       this.formData.name = ''
     }
-
   },
   beforeCreate () {
     this.form = this.$form.createForm(this, {
@@ -266,10 +245,11 @@ export default {
         })
         this.index = 0
         this.add()
-        if (this.id) { // 编辑
+        if (this.id) {
+          // 编辑
           this.titleText = '编辑'
-		  // 查详情
-		  this.getDetailData(this.id)
+          // 查详情
+          this.getDetailData(this.id)
         } else {
           this.titleText = '新增'
         }
@@ -282,12 +262,13 @@ export default {
 </script>
 
 <style scoped>
-	.modalBox {}
+.modalBox {
+}
 
-	.ant-modal-footer {
-		display: none;
-	}
-	.dynamic-delete-button {
-		margin-right: 20px;
-	}
+.ant-modal-footer {
+  display: none;
+}
+.dynamic-delete-button {
+  margin-right: 20px;
+}
 </style>

+ 1 - 1
src/views/equipmentManage/openTimeSetting/OpenTimeSetting.vue

@@ -47,7 +47,7 @@ export default {
   data () {
     return {
       showModal: false, // 是否打开新增时间段弹窗
-      itemId: {}, // 编辑行id
+      itemId: '', // 编辑行id
       // 表头
       columns: [{
         title: '序号',