Browse Source

no message

linwenxin 1 year ago
parent
commit
0bf491c530
1 changed files with 94 additions and 22 deletions
  1. 94 22
      src/views/secondHandMall/orderManagement/add.vue

+ 94 - 22
src/views/secondHandMall/orderManagement/add.vue

@@ -8,6 +8,9 @@
         </zj-form-container>
       </div>
     </zj-page-fill>
+    <div style="box-sizing: border-box; padding: 10px; text-align: right;">
+      <el-button type="primary" size="small" @click="queding">确定</el-button>
+    </div>
   </zj-page-container>
 </template>
 
@@ -16,6 +19,9 @@ import getLbsAmapRegion from "./getLbsAmapRegion.js"
 import ImageUpload from '@/components/file-upload'
 import editTable from '@/components/template/editTable.js'
 import { getClassifyList } from '@/api/goods'
+import { esGoodsList } from '@/api/commodityManagement'
+import { esOrderAdd } from '@/api/orderManagement'
+import { required, mobileRequired, mobile, httpUrl, email } from '@/components/template/rules_verify.js'
 export default {
   components: {ImageUpload},
   mixins: [getLbsAmapRegion, editTable],
@@ -80,7 +86,8 @@ export default {
         "wechatUserName": "",
         "wechatUserUrl": "",
       },
-      classifyList: []
+      classifyList: [],
+      esGoodsList: []
     }
   },
   computed: {
@@ -94,7 +101,7 @@ export default {
         name: 'el-input',
         md: 6,
         attributes: { disabled: false },
-        formItemAttributes: { label: '客户电话', prop: 'userMobile', rules:[{ required: true, message: '请填写', trigger: 'blur' }] }
+        formItemAttributes: { label: '客户电话', prop: 'userMobile', rules: mobileRequired }
       },{
         name: 'el-radio',
         options: [
@@ -129,7 +136,7 @@ export default {
         },
         render: (h, { props, onInput }) => {
           return (
-            <ImageUpload fileList={this.formData.fileUrl} limit={100}/>
+            <ImageUpload fileList={this.formData.fileUrl} limit={1}/>
           )
         }
       }]
@@ -142,7 +149,7 @@ export default {
             label: '',
             'label-width': '0px',
             prop: 'esOrderInfos',
-            rules: []
+            rules: [{ required: true, message: '请填写', trigger: 'blur' }]
           },
           render: (h, { props, onInput }) => {
             var { value } = props
@@ -163,19 +170,39 @@ export default {
                           prop={`esOrderInfos.${index}.${column.columnAttributes.prop}`}
                           rules={[{ required: true, message: '请填写', trigger: 'blur' }]}
                         >
-                          <el-input
-                            value={row[column.columnAttributes.prop]}
-                            onInput={val => {
-                              row[column.columnAttributes.prop] = val
-                            }}
-                            placeholder="请输入内容"
-                          ></el-input>
+                          <el-select 
+                              value={row[column.columnAttributes.prop]}
+                              onInput={val => {
+                                row[column.columnAttributes.prop] = val
+                              }}
+                              placeholder="请输入内容">
+                            {this.classifyList.map((item, index_) => <el-option key={index_} label={item.name} value={item.categoryId}></el-option>)}
+                          </el-select>
                         </el-form-item>
                       </div>
                     )
                   },
                   viewRender: (h, { row, column, index }) => {
-                    return <div style="padding-left:10px">{row[column.columnAttributes.prop]}</div>
+                    return (
+                      <div class="redbordererr">
+                        <el-form-item
+                          label=""
+                          label-width="0px"
+                          prop={`esOrderInfos.${index}.${column.columnAttributes.prop}`}
+                          rules={[{ required: true, message: '请填写', trigger: 'blur' }]}
+                        >
+                          <el-select 
+                              disabled={true}
+                              value={row[column.columnAttributes.prop]}
+                              onInput={val => {
+                                row[column.columnAttributes.prop] = val
+                              }}
+                              placeholder="请输入内容">
+                            {this.classifyList.map((item, index_) => <el-option key={index_} label={item.name} value={item.categoryId}></el-option>)}
+                          </el-select>
+                        </el-form-item>
+                      </div>
+                    )
                   }
                 },
                 {
@@ -192,19 +219,48 @@ export default {
                           prop={`esOrderInfos.${index}.${column.columnAttributes.prop}`}
                           rules={[{ required: true, message: '请填写', trigger: 'blur' }]}
                         >
-                          <el-input
-                            value={row[column.columnAttributes.prop]}
-                            onInput={val => {
-                              row[column.columnAttributes.prop] = val
-                            }}
-                            placeholder="请输入内容"
-                          ></el-input>
+                          <el-select 
+                              value={row[column.columnAttributes.prop]}
+                              onInput={val => {
+                                var data = this.esGoodsList.find( item => item.id===val )
+                                row[column.columnAttributes.prop] = val
+                                row.brandName = data?.brand ||''
+                                console.log(data)
+                                row.unit = '台'
+                                row.sjNum = data?.qty ||''
+                                row.totalAmount = (Number(data?.price) * Number(data?.qty)).toFixed(2);
+                                row.power = data?.power ||''
+                                row.productionTime = data?.makeDate ||''
+                                row.energyLabel = data?.mark ||''
+                              }}
+                              placeholder="请输入内容">
+                            {this.esGoodsList.map((item, index_) => <el-option key={index_} label={item.goodsName} value={item.id}></el-option>)}
+                          </el-select>
                         </el-form-item>
                       </div>
                     )
                   },
                   viewRender: (h, { row, column, index }) => {
-                    return <div style="padding-left:10px">{row[column.columnAttributes.prop]}</div>
+                    return (
+                      <div class="redbordererr">
+                        <el-form-item
+                          label=""
+                          label-width="0px"
+                          prop={`esOrderInfos.${index}.${column.columnAttributes.prop}`}
+                          rules={[{ required: true, message: '请填写', trigger: 'blur' }]}
+                        >
+                          <el-select 
+                              disabled={true}
+                              value={row[column.columnAttributes.prop]}
+                              onInput={val => {
+                                row[column.columnAttributes.prop] = val
+                              }}
+                              placeholder="请输入内容">
+                            {this.esGoodsList.map((item, index_) => <el-option key={index_} label={item.goodsName} value={item.id}></el-option>)}
+                          </el-select>
+                        </el-form-item>
+                      </div>
+                    )
                   }
                 },
                 {
@@ -371,7 +427,8 @@ export default {
                     "wechatUserId": "",
                     "wechatUserMobile": "",
                     "wechatUserName": "",
-                    "wechatUserUrl": ""
+                    "wechatUserUrl": "",
+                    sjNum:""
                   })
                   this.isEditTableIndex = this.formData.esOrderInfos.length - 1
                 },
@@ -411,9 +468,24 @@ export default {
     }).then(res=>{
       this.classifyList = res.data
     })
+    esGoodsList({"pageNum":1,"pageSize":-1,"params":[{"param":"a.status","compare":"=","value":"ON"}]}).then(res=>{
+      this.esGoodsList = res.data.records
+    })
   },
   methods: {
-    
+    queding(){
+      this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
+        if(valid){
+          esOrderAdd({
+            ...this.formData,
+            fileUrl: this.formData.fileUrl.map(item=>item.url).join(",")
+          }).then(res=>{
+            this.$message({ type: 'success', message: `成功!` })
+            this.$emit("removeTab")
+          })
+        }
+      })
+    }
   }
 }
 </script>