Ver Fonte

始宁农业管理后台:农户管理-农户管理

panyong há 1 ano atrás
pai
commit
9a6eabfc64

+ 122 - 145
htmldev/shiningManage/src/views/businessManage/business/details.vue

@@ -11,36 +11,8 @@
         :model="form"
         :rules="formRules"
         label-width="120px">
-        <el-form-item
-          prop="user_name"
-          :rules="formRules.required"
-          label="单位及个人:">
-          <el-input
-            v-model="form.user_name"
-            placeholder="请输入农户姓名"
-            clearable></el-input>
-        </el-form-item>
-        <el-form-item
-          prop="user_card"
-          :rules="formRules.required"
-          label="身份证号:">
-          <el-input v-model="form.user_card"
-                    placeholder="请输入身份证号"
-                    clearable></el-input>
-        </el-form-item>
-        <el-form-item
-          prop="shop_phone"
-          :rules="formRules.required"
-          label="手机号:">
-          <el-input
-            v-model="form.shop_phone"
-            placeholder="请输入手机号"
-            clearable
-            @input="form.shop_phone = form.shop_phone.replace(/[^\d]$/, '').replace(/^0/, '').replace(/(\d{11})(.*)/, '$1')"></el-input>
-        </el-form-item>
         <el-form-item
           prop="shop_name"
-          :rules="formRules.required"
           label="店铺名称:">
           <el-input
             v-model="form.shop_name"
@@ -49,7 +21,6 @@
         </el-form-item>
         <el-form-item
           prop="shop_img_url"
-          :rules="formRules.uploadImgs"
           label="店铺图片:">
           <el-upload
             :on-remove="(file) => {handleRemove(file, 'shop_img_url')}"
@@ -67,17 +38,78 @@
           </el-upload>
         </el-form-item>
         <el-form-item
-          prop="country_msg"
+          size="small"
+          prop="shop_address">
+          <template #label>
+            地址:
+            <el-button type="text" @click="jumpQQLBS">(获取维度经度)</el-button>
+          </template>
+          <el-input
+            v-model="form.shop_address.address_name"
+            placeholder="请输入详细地址"
+            clearable></el-input>
+          <el-input
+            style="margin-top: 10px;"
+            v-model="form.shop_address.name"
+            placeholder="请输入位置名称"
+            clearable></el-input>
+          <div class="lon-lat">
+            <el-input
+              style="width: 48%;"
+              v-model.trim="form.shop_address.latitude"
+              placeholder="纬度"
+              clearable></el-input>
+            <el-input
+              style="width: 48%;"
+              v-model.trim="form.shop_address.longitude"
+              placeholder="经度"
+              clearable></el-input>
+          </div>
+        </el-form-item>
+        <el-form-item
+          prop="user_name"
           :rules="formRules.required"
-          label="行政村:">
+          label="用户名称:">
           <el-input
-            v-model="form.country_msg"
-            placeholder="请输入村信息"
+            v-model="form.user_name"
+            placeholder="请输入用户名称"
             clearable></el-input>
         </el-form-item>
         <el-form-item
-          prop="user_wechat_code"
+          prop="user_card"
+          :rules="formRules.required"
+          label="身份证号:">
+          <el-input v-model="form.user_card"
+                    placeholder="请输入身份证号"
+                    clearable></el-input>
+        </el-form-item>
+        <el-form-item
+          prop="shop_phone"
+          :rules="formRules.required"
+          label="手机号:">
+          <el-input
+            v-model="form.shop_phone"
+            placeholder="请输入手机号"
+            clearable
+            @input="form.shop_phone = form.shop_phone.replace(/[^\d]$/, '').replace(/^0/, '').replace(/(\d{11})(.*)/, '$1')"></el-input>
+        </el-form-item>
+        <el-form-item
+          prop="country_msg"
           :rules="formRules.required"
+          label="村信息:">
+          <el-select
+            style="width: 100%;"
+            v-model="form.country_msg"
+            placeholder="请选择村信息">
+            <el-option
+              :label="item.name"
+              :value="item.name"
+              v-for="item in countryMsgList"
+              :key="item.value"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          prop="user_wechat_code"
           label="微信号:">
           <el-input
             v-model="form.user_wechat_code"
@@ -86,7 +118,6 @@
         </el-form-item>
         <el-form-item
           prop="user_code_url"
-          :rules="formRules.uploadImgs"
           label="个人二维码:">
           <el-upload
             :on-remove="(file) => {handleRemove(file, 'user_code_url')}"
@@ -103,47 +134,6 @@
             <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过5M</div>
           </el-upload>
         </el-form-item>
-        <el-form-item
-          size="small"
-          prop="shop_address">
-          <template #label>
-            经营地址:
-            <el-button type="text" @click="jumpQQLBS">(获取维度经度)</el-button>
-          </template>
-          <el-input
-            v-model="form.shop_address.address_name"
-            placeholder="详细地址"
-            clearable></el-input>
-          <el-input
-            style="margin-top: 10px;"
-            v-model="form.shop_address.name"
-            placeholder="位置名称"
-            clearable></el-input>
-          <div class="lon-lat">
-            <el-input
-              style="width: 48%;"
-              v-model.trim="form.shop_address.latitude"
-              placeholder="纬度"
-              clearable></el-input>
-            <el-input
-              style="width: 48%;"
-              v-model.trim="form.shop_address.longitude"
-              placeholder="经度"
-              clearable></el-input>
-          </div>
-        </el-form-item>
-        <el-form-item
-          label="备注:"
-          prop="shop_remark">
-          <el-input
-            type="textarea"
-            :rows="4"
-            placeholder="上限200字符"
-            maxlength="200"
-            show-word-limit
-            v-model="form.shop_remark">
-          </el-input>
-        </el-form-item>
         <el-form-item
           prop="company_name"
           label="企业名称:">
@@ -152,14 +142,6 @@
             placeholder="请输入企业名称"
             clearable></el-input>
         </el-form-item>
-        <el-form-item
-          prop="company_owner_name"
-          label="企业法人:">
-          <el-input
-            v-model="form.company_owner_name"
-            placeholder="请输入企业法人名称"
-            clearable></el-input>
-        </el-form-item>
         <el-form-item
           prop="company_created_at"
           label="企业成立日期:">
@@ -193,49 +175,32 @@
           </el-input>
         </el-form-item>
         <el-form-item
-          prop="company_phone"
-          label="公司电话:">
-          <el-input
-            v-model="form.company_phone"
-            placeholder="请输入公司电话"
-            clearable
-            @input="form.company_phone = form.company_phone.replace(/[^\d]$/, '').replace(/^0/, '').replace(/(\d{11})(.*)/, '$1')"></el-input>
-        </el-form-item>
-        <el-form-item
-          prop="company_hangye"
-          label="从事行业:">
-          <el-input
-            v-model="form.company_hangye"
-            placeholder="请输入从事行业"
-            clearable></el-input>
-        </el-form-item>
-        <el-form-item
-          prop="company_hangye"
+          prop="shop_jidi_guimo"
           label="基地规模:">
           <el-input
-            v-model="form.company_hangye"
+            v-model="form.shop_jidi_guimo"
             placeholder="请输入基地规模"
             clearable></el-input>
         </el-form-item>
         <el-form-item
-          prop="company_hangye"
+          prop="shop_product_time"
           label="产品上市时间:">
           <el-input
-            v-model="form.company_hangye"
+            v-model="form.shop_product_time"
             placeholder="请输入产品上市时间"
             clearable></el-input>
         </el-form-item>
         <el-form-item
-          prop="shop_img_url"
+          prop="shop_shangbiao"
           label="注册商标:">
           <el-upload
-            :on-remove="(file) => {handleRemove(file, 'shop_img_url')}"
-            :on-success="(file) => {handleAvatarSuccess(file, 'shop_img_url')}"
+            :on-remove="(file) => {handleRemove(file, 'shop_shangbiao')}"
+            :on-success="(file) => {handleAvatarSuccess(file, 'shop_shangbiao')}"
             :before-upload="beforeAvatarUpload"
             :on-exceed="hadnleExceed"
             :accept="'image/*'"
             :limit="1"
-            :file-list="shop_img_url"
+            :file-list="shop_shangbiao"
             list-type="picture-card"
             action="/api/upload/img"
             multiple>
@@ -243,6 +208,15 @@
             <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过5M</div>
           </el-upload>
         </el-form-item>
+        <el-form-item
+          label="备注:"
+          prop="shop_remark">
+          <el-input
+            type="textarea"
+            :rows="4"
+            v-model="form.shop_remark">
+          </el-input>
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer text-center">
         <el-button @click="dialog = false">取 消</el-button>
@@ -274,24 +248,45 @@ export default {
     return {
       dialog: !!this.value,
       form: {
-        // 'shop_id': '', // 店铺ID
-        'user_name': '', // 用户名称
-        'user_card': '', // 身份证
-        'shop_phone': '', // 手机号码
         'shop_name': '', // 店铺名称
         'shop_img_url': [], // 店铺图片
-        'country_msg': '', // 村信息
+        'shop_address': {}, // 地址
+        'user_name': '', // 必填 用户名称
+        'user_card': '', // 必填 身份证
+        'shop_phone': '', // 必填 手机号码
+        'country_msg': '', // 必填 村信息
         'user_wechat_code': '', // 微信号
         'user_code_url': [], // 微信二维码
-        'shop_address': {}, // 地址
+        'company_name': '', // 公司名称
+        'company_created_at': '', // 企业成立日期
+        'company_hangye': '', // 所属行业
+        'company_jingying_fanwei': '', // 经营范围
+        'shop_jidi_guimo': '', // 基地规模
+        'shop_product_time': '', // 商品上架时间
+        'shop_shangbiao': [], // 商标
         'shop_remark': '' // 备注
       },
       shop_img_url: [],
       user_code_url: [],
+      shop_shangbiao: [],
       time: '',
       booLock: false
     }
   },
+  computed: {
+    countryMsgList() {
+      const temp = this.$store.state.common.objSystemConfig
+      if (Object.prototype.toString.call(temp) === '[object Object]' && Array.isArray(temp.country_msg_list)) {
+        return temp.country_msg_list.map((item, index) => {
+          return {
+            name: item,
+            value: index
+          }
+        })
+      }
+      return []
+    }
+  },
   methods: {
     beforeAvatarUpload(file) {
       const isLt2M = file.size / 1024 / 1024 < 5
@@ -328,21 +323,11 @@ export default {
           const formData = JSON.parse(JSON.stringify(this.form))
           const postData = {
             ...formData,
-            user_code_url: formData.user_code_url[0],
-            shop_img_url: formData.shop_img_url[0]
-          }
-          if (!formData.shop_address.address_name) {
-            this.$message.warning('请输入详细地址')
-            return
-          }
-          if (!formData.shop_address.latitude) {
-            this.$message.warning('请输入纬度')
-            return
-          }
-          if (!formData.shop_address.longitude) {
-            this.$message.warning('请输入经度')
-            return
+            user_code_url: Array.isArray(formData.user_code_url) && formData.user_code_url.length > 0 ? formData.user_code_url[0] : '',
+            shop_img_url: Array.isArray(formData.shop_img_url) && formData.shop_img_url.length > 0 ? formData.shop_img_url[0] : '',
+            shop_shangbiao: Array.isArray(formData.shop_shangbiao) && formData.shop_shangbiao.length > 0 ? formData.shop_shangbiao[0] : ''
           }
+
           this.booLock = true
           const data = await this.$fetch(url, postData)
           this.booLock = false
@@ -361,27 +346,19 @@ export default {
   mounted() {
     if (this.exData.id) {
       this.$set(this.form, 'shop_id', this.exData.id)
-      this.shop_img_url = [
-        {
-          name: '',
-          url: this.exData.shop_img_url
-        }
-      ]
-      this.user_code_url = [
-        {
-          name: '',
-          url: this.exData.user_code_url
-        }
-      ]
       for (const key in this.exData) {
         if (this.form.hasOwnProperty(key)) {
           let value = this.exData[key]
           if ((Array.isArray(value) && value.length >= 1) || (Object.prototype.toString.call(value) === '[object Object]') || (typeof value === 'string' && value) || typeof value === 'number') {
-            if (key === 'user_code_url' || key === 'shop_img_url') {
+            if (key === 'user_code_url' || key === 'shop_img_url' || key === 'shop_shangbiao') {
               value = [value]
-            }
-            if (key === 'sort_id') {
-              value = value.toString()
+
+              this[key] = [
+                {
+                  name: '',
+                  url: value
+                }
+              ]
             }
             if (key === 'shop_address' && Object.prototype.toString.call(value) !== '[object Object]') {
               value = {}

+ 1 - 0
htmldev/shiningManage/src/views/businessManage/business/index.vue

@@ -163,6 +163,7 @@ export default {
   },
   mounted() {
     this.init()
+    this.$store.dispatch('common/fetchSystemConfig')
   }
 }
 </script>