Explorar o código

商品分类管理 供货商管理

zhangdan %!s(int64=4) %!d(string=hai) anos
pai
achega
9e30f1630b

+ 211 - 0
src/views/shopSetting/addGoodsClassModal.vue

@@ -0,0 +1,211 @@
+<template>
+  <div>
+    <!-- 新增编辑商品分类弹窗 -->
+    <a-modal
+      v-model="isShow"
+      @cancle="cancel"
+      :footer="null"
+      width="60%"
+      :centered="true"
+      :title="titleText">
+      <a-form
+        id="components-form-demo-validate-other"
+        ref="form"
+        v-bind="formItemLayout"
+        @submit="handleSubmit"
+      >
+        <a-form-item label="商品名称" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+          <a-input
+            id="bannerSetting-title"
+            :maxLength="30"
+            v-decorator="['formData.title', { initialValue: formData.title,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入供应商名称(最多30个字符)!' }] }]"
+            :disabled="disabled"
+            placeholder="请输入商品名称(最多30个字符)"
+            allowClear
+          />
+        </a-form-item>
+        <a-form-item label="订单起购金额" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+          <a-input-number
+            id="addGoodsClass-price"
+            class="inpNumber"
+            :min="0"
+            :max="999999"
+            :precision="2"
+            v-decorator="[ 'formData.price', { initialValue: formData.price, rules: [{ required: true, message: '请输入订单起购金额(0~999999)' }] } ]"
+            placeholder="请输入订单起购金额(0~999999)"
+            allowClear />
+        </a-form-item>
+        <a-form-item label="状态" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+          <a-radio-group
+            :disabled="disabled"
+            id="bannerSetting-status"
+            v-decorator="['formData.status', { initialValue: formData.status, rules: [{ required: true, message: '请选择状态!' }] }]"
+          >
+            <a-radio value="1">启用</a-radio>
+            <a-radio value="0">禁用</a-radio>
+          </a-radio-group>
+        </a-form-item>
+        <a-form-item label="备注" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+          <a-textarea
+            :maxLength="500"
+            v-decorator="['formData.url', { initialValue: formData.url, rules: [{ required: false, message: '请输入备注内容(最多500个字符)!' }] }]"
+            :disabled="disabled"
+            id="bannerSetting-url"
+            placeholder="请输入备注内容(最多500个字符)"
+            allowClear
+          />
+        </a-form-item>
+        <a-form-item :wrapper-col="{ span: 12, offset: 6}" style="text-align: center;">
+          <a-button type="primary" html-type="submit" v-if="!disabled" id="bannerSetting-submit" style="margin-right: 15px">保存</a-button>
+          <a-button @click="close()" v-if="!disabled" style="margin-left: 15px" id="bannerSetting-close">取消</a-button>
+        </a-form-item>
+      </a-form>
+    </a-modal>
+  </div>
+</template>
+
+<script>
+export default {
+  props: {
+    openGoodClassModal: {
+      type: Boolean,
+      default: false
+    },
+    itemData: {
+      type: Object,
+      default: function () {
+        return {}
+      }
+    }
+  },
+  data () {
+    return {
+      formItemLayout: {
+	  labelCol: {
+          span: 6
+	  },
+	  wrapperCol: {
+          span: 14
+	  }
+      },
+      isShow: this.openGoodClassModal,
+      titleText: '新增',
+      closable: true,
+      visible: false,
+      confirmLoading: false,
+      formLayout: 'horizontal',
+      // hideRequiredMark: false, // 是否显示必填的* 默认显示
+      formData: {
+		  title: '', // 标题
+		  url: '', // 图片路径
+		  status: '', // 状态
+		  sort: '', // 排序
+		  position: '', // 广告图位置
+		  photoPath: '', // banner地址
+		  createDate: ''
+      },
+      bannerType: 'app',
+      disabled: false,
+      value: '',
+      id: ''
+    }
+  },
+  methods: {
+	  // 关闭弹窗
+	  cancel (e) {
+      this.close()
+	  	this.$emit('close')
+	  },
+    close () {
+	  this.visible = false
+	  this.formData.title = ''
+	  this.photo = ''
+	  this.formData.url = ''
+	  this.formData.status = ''
+	  this.formData.sort = ''
+	  this.formData.position = ''
+	  this.formData.photoBasePath = ''
+	  this.formData.photoPath = ''
+	  this.title = '新增'
+			  // this.$refs.bannerImage.setFileList('')
+			  // this.form.resetFields()
+    },
+    // 赋值
+    assignment (row) {
+
+    },
+    // 点击保存;
+    handleSubmit (e) {
+	  e.preventDefault()
+	  const _this = this
+	  this.form.validateFields((err, values) => {
+	    if (!err) {
+	      // console.log('Received values of form: ', values, this.formData)
+	      // const formData = Object.assign({}, this.formData, values.formData, {
+	      //   bannerType: 'app'
+	      // })
+	      // console.log(formData, _this.radioGroup)
+	      // saveItem(formData, _this.radioGroup).then(res => {
+	      //   console.log(res, 'rrrrrrrrr')
+	      //   if (res.status == 200) {
+	      //     _this.$message.success(res.message)
+	      //     _this.$refs.table.refresh()
+	      //     _this.close()
+	      //   }
+	      // })
+	    }
+	  })
+    }
+  },
+  watch: {
+    openGoodClassModal (newValue, oldValue) {
+      this.isShow = newValue
+    },
+    // isShow(val) {
+    // 	if (!val) {
+    // 		this.$emit('close')
+    // 	}
+
+    // },
+    isShow (newValue, oldValue) {
+	  if (newValue) {
+	    if (this.itemData.id) { // 编辑
+	      this.titleText = '编辑'
+	      // this.formData = Object.assign({}, this.itemData)
+	      // delete this.formData.no
+	      // let roleNames = this.formData.roleNames
+	      // if (roleNames) {
+	      //   roleNames = roleNames.split(',')
+	      //   const arr = []
+	      //   roleNames.map(item => {
+	      //     const row = this.roleList.find(a => {
+	      //       return a.name == item
+	      //     })
+	      //     if (row) {
+	      //       arr.push(row.id)
+	      //     }
+	      //   })
+	      //   this.formData.roleNames = arr
+	      // } else {
+	      //   this.formData.roleNames = []
+	      // }
+	      // this.formData.loginFlag = Number(this.formData.loginFlag)
+	    } else {
+	      this.titleText = '新增'
+	    }
+	  } else {
+	    this.cancel()
+	  }
+    },
+    itemData () {
+
+    }
+  }
+}
+</script>
+
+<style lang="less">
+	.inpNumber{
+		width:100%
+	}
+</style>

+ 258 - 0
src/views/shopSetting/addSupplierModal.vue

@@ -0,0 +1,258 @@
+<template>
+  <div>
+    <!-- 弹窗 -->
+    <a-modal
+      v-model="isShow"
+      @cancle="cancel"
+      :footer="null"
+      width="60%"
+      :centered="true"
+      :title="titleText">
+      <a-form
+        id="components-form-demo-validate-other"
+        ref="form"
+        v-bind="formItemLayout"
+        @submit="handleSubmit"
+        :hideRequiredMark="hideRequiredMark">
+        <a-form-item label="供应商名称" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+          <a-input
+            id="bannerSetting-title"
+            :maxLength="30"
+            v-decorator="['formData.title', { initialValue: formData.title,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入供应商名称(最多30个字符)!' }] }]"
+            :disabled="disabled"
+            placeholder="请输入供应商名称(最多30个字符)"
+            allowClear
+          />
+        </a-form-item>
+        <a-form-item label="供应商简称" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+          <a-input
+            id="bannerSetting-title"
+            :maxLength="30"
+            v-decorator="['formData.title', { initialValue: formData.title,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入供应商简称(最多30个字符)!' }] }]"
+            :disabled="disabled"
+            placeholder="请输入供应商简称(最多30个字符)"
+            allowClear
+          />
+        </a-form-item>
+        <a-form-item label="联系人" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+          <a-input
+            id="bannerSetting-title"
+            :maxLength="30"
+            v-decorator="['formData.title', { initialValue: formData.title,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入联系人!' }] }]"
+            :disabled="disabled"
+            placeholder="请输入联系人"
+            allowClear
+          />
+        </a-form-item>
+        <a-form-item label="手机号码" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+          <a-input
+            id="bannerSetting-title"
+            :maxLength="11"
+            v-decorator="['formData.title', { initialValue: formData.title,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入手机号码!' }] }]"
+            :disabled="disabled"
+            placeholder="请输入手机号码"
+            allowClear
+          />
+        </a-form-item>
+        <a-form-item label="备注" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+          <a-textarea
+            :maxLength="500"
+            v-decorator="['formData.url', { initialValue: formData.url, rules: [{ required: false, message: '请输入备注内容(最多500个字符)!' }] }]"
+            :disabled="disabled"
+            id="bannerSetting-url"
+            placeholder="请输入备注内容(最多500个字符)"
+            allowClear
+          />
+        </a-form-item>
+        <!-- <a-form-item label="排序" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+		      <a-input
+		        type="number"
+		        oninput="if(value.length>6)value=value.slice(0,6);if(value<0)value=0"
+		        v-decorator="['formData.sort', { initialValue: formData.sort,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入(0~999999)之间的序号值!' }] }]"
+		        :disabled="disabled"
+		        id="bannerSetting-sort"
+		        placeholder="请输入(0~999999)之间的序号值"
+		        allowClear
+		      />
+		    </a-form-item>
+		    <a-form-item label="状态" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+		      <a-radio-group
+		        :disabled="disabled"
+		        id="bannerSetting-status"
+		        v-decorator="['formData.status', { initialValue: formData.status, rules: [{ required: true, message: '请选择状态!' }] }]"
+		      >
+		        <a-radio value="1">启用</a-radio>
+		        <a-radio value="0">禁用</a-radio>
+		      </a-radio-group>
+		    </a-form-item> -->
+        <!-- <a-form-item label="上传图片" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
+		      <Upload
+		        v-if="title != '查看详情'"
+		        id="bannerSetting-photoPath"
+		        v-decorator="[
+		          'formData.photoPath',
+		          {
+		            initialValue: formData.photoPath,
+		            rules: [{ required: true, message: '请上传轮播图!' }]
+		          }
+		        ]"
+		        ref="bannerImage"
+		        :fileSize="0.25"
+		        :disabled="disabled"
+		        @change="getbannerImage"
+		        listType="picture-card"
+		        upText="上传"
+		      ></Upload>
+		      <img v-else :src="formData.photoPath" style="width:100px ;height: auto;" />
+		    </a-form-item> -->
+        <a-form-item :wrapper-col="{ span: 12, offset: 6}" style="text-align: center;">
+          <a-button type="primary" html-type="submit" v-if="!disabled" id="bannerSetting-submit" style="margin-right: 15px">保存</a-button>
+          <a-button @click="close()" v-if="!disabled" style="margin-left: 15px" id="bannerSetting-close">取消</a-button>
+        </a-form-item>
+      </a-form>
+    </a-modal>
+  </div>
+</template>
+
+<script>
+export default {
+  props: {
+    openSupplierModal: {
+      type: Boolean,
+      default: false
+    },
+    itemData: {
+      type: Object,
+      default: function () {
+        return {}
+      }
+    }
+  },
+  data () {
+    return {
+      formItemLayout: {
+	  labelCol: {
+          span: 6
+	  },
+	  wrapperCol: {
+          span: 14
+	  }
+      },
+      isShow: this.openSupplierModal,
+      titleText: '新增',
+      closable: true,
+      visible: false,
+      confirmLoading: false,
+      formLayout: 'horizontal',
+      hideRequiredMark: false, // 是否显示必填的* 默认显示
+      formData: {
+		  title: '', // 标题
+		  url: '', // 图片路径
+		  status: '', // 状态
+		  sort: '', // 排序
+		  position: '', // 广告图位置
+		  photoPath: '', // banner地址
+		  createDate: ''
+      },
+      bannerType: 'app',
+      disabled: false,
+      value: '',
+      id: ''
+    }
+  },
+  methods: {
+	  // 关闭弹窗
+	  cancel (e) {
+      this.close()
+	  	this.$emit('close')
+	  },
+    close () {
+	  this.visible = false
+	  this.formData.title = ''
+	  this.photo = ''
+	  this.formData.url = ''
+	  this.formData.status = ''
+	  this.formData.sort = ''
+	  this.formData.position = ''
+	  this.formData.photoBasePath = ''
+	  this.formData.photoPath = ''
+	  this.title = '新增'
+			  // this.$refs.bannerImage.setFileList('')
+			  // this.form.resetFields()
+    },
+    // 赋值
+    assignment (row) {
+
+    },
+    // 点击保存;
+    handleSubmit (e) {
+	  e.preventDefault()
+	  const _this = this
+	  this.form.validateFields((err, values) => {
+	    if (!err) {
+	      // console.log('Received values of form: ', values, this.formData)
+	      // const formData = Object.assign({}, this.formData, values.formData, {
+	      //   bannerType: 'app'
+	      // })
+	      // console.log(formData, _this.radioGroup)
+	      // saveItem(formData, _this.radioGroup).then(res => {
+	      //   console.log(res, 'rrrrrrrrr')
+	      //   if (res.status == 200) {
+	      //     _this.$message.success(res.message)
+	      //     _this.$refs.table.refresh()
+	      //     _this.close()
+	      //   }
+	      // })
+	    }
+	  })
+    }
+  },
+  watch: {
+    openSupplierModal (newValue, oldValue) {
+      this.isShow = newValue
+    },
+    // isShow(val) {
+    // 	if (!val) {
+    // 		this.$emit('close')
+    // 	}
+
+    // },
+    isShow (newValue, oldValue) {
+	  if (newValue) {
+	    if (this.itemData.id) { // 编辑
+	      this.titleText = '编辑'
+	      // this.formData = Object.assign({}, this.itemData)
+	      // delete this.formData.no
+	      // let roleNames = this.formData.roleNames
+	      // if (roleNames) {
+	      //   roleNames = roleNames.split(',')
+	      //   const arr = []
+	      //   roleNames.map(item => {
+	      //     const row = this.roleList.find(a => {
+	      //       return a.name == item
+	      //     })
+	      //     if (row) {
+	      //       arr.push(row.id)
+	      //     }
+	      //   })
+	      //   this.formData.roleNames = arr
+	      // } else {
+	      //   this.formData.roleNames = []
+	      // }
+	      // this.formData.loginFlag = Number(this.formData.loginFlag)
+	    } else {
+	      this.titleText = '新增'
+	    }
+	  } else {
+	    this.cancel()
+	  }
+    },
+    itemData () {
+
+    }
+  }
+}
+</script>
+
+<style>
+</style>

+ 128 - 193
src/views/shopSetting/goodsClass.vue

@@ -1,5 +1,19 @@
 <template>
   <a-card :bordered="false">
+    <!-- 搜索框 -->
+    <div class="table-page-search-wrapper" style="margin-bottom: 15px;">
+      <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+        <a-row :gutter="48" >
+          <a-col :md="6" :sm="24">
+            <a-form-item label="商品分类名称"><a-input allowClear v-model.trim="searchData.queryWord" :maxLength="30" placeholder="请输入" id="OperateJournal-queryWord"/></a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-button style="margin-right: 10px;" type="primary" @click="$refs.table.refresh(true)" id="OperateJournal-refreshTable">查询</a-button>
+            <a-button type="" @click="resetForm" id="OperateJournal-resetForm">重置</a-button>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
     <div class="add"><a-button type="primary" icon="plus" class="addBtn" @click="showModal" id="bannerSetting-showModal">新增</a-button></div>
     <v-select ref="position" style="display: none;" code="ADVERT_POSITION"></v-select>
     <!-- table列表 -->
@@ -45,115 +59,28 @@
         />
       </span>
     </s-table>
-    <!-- 弹窗 -->
-    <a-modal
-      :title="title"
-      :visible="visible"
-      :footer="null"
-      :closable="closable"
-      :centered="true"
-      @cancel="close"
-      width="45%">
-      <a-form
-        id="components-form-demo-validate-other"
-        :form="form"
-        ref="form"
-        v-bind="formItemLayout"
-        @submit="handleSubmit"
-        :hideRequiredMark="hideRequiredMark">
-        <a-form-item label="名称" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <a-input
-            id="bannerSetting-title"
-            :maxLength="30"
-            v-decorator="['formData.title', { initialValue: formData.title,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入轮播图名称(最多30个字符)!' }] }]"
-            :disabled="disabled"
-            placeholder="请输入轮播图名称(最多30个字符)"
-            allowClear
-          />
-        </a-form-item>
-        <a-form-item label="广告图位置" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <v-select
-            ref="position"
-            code="ADVERT_POSITION"
-            allowClear
-            id="bannerSetting-position"
-            placeholder="请选择广告图位置"
-            :disabled="disabled"
-            v-decorator="['formData.position', { initialValue: formData.position, rules: [{ required: true, message: '请选择广告图位置!' }] }]"
-          ></v-select>
-        </a-form-item>
-        <a-form-item label="跳转链接" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <a-textarea
-            :maxLength="300"
-            v-decorator="['formData.url', { initialValue: formData.url, rules: [{ required: false, message: '请输入跳转链接(最多300字符)!' }] }]"
-            :disabled="disabled"
-            id="bannerSetting-url"
-            placeholder="请输入跳转链接(最多300字符)"
-            allowClear
-          />
-        </a-form-item>
-        <a-form-item label="排序" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <a-input
-            type="number"
-            oninput="if(value.length>6)value=value.slice(0,6);if(value<0)value=0"
-            v-decorator="['formData.sort', { initialValue: formData.sort,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入(0~999999)之间的序号值!' }] }]"
-            :disabled="disabled"
-            id="bannerSetting-sort"
-            placeholder="请输入(0~999999)之间的序号值"
-            allowClear
-          />
-        </a-form-item>
-        <a-form-item label="状态" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <a-radio-group
-            :disabled="disabled"
-            id="bannerSetting-status"
-            v-decorator="['formData.status', { initialValue: formData.status, rules: [{ required: true, message: '请选择状态!' }] }]"
-          >
-            <a-radio value="1">启用</a-radio>
-            <a-radio value="0">禁用</a-radio>
-          </a-radio-group>
-        </a-form-item>
-        <a-form-item label="上传图片" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <Upload
-            v-if="title != '查看详情'"
-            id="bannerSetting-photoPath"
-            v-decorator="[
-              'formData.photoPath',
-              {
-                initialValue: formData.photoPath,
-                rules: [{ required: true, message: '请上传轮播图!' }]
-              }
-            ]"
-            ref="bannerImage"
-            :fileSize="0.25"
-            :disabled="disabled"
-            @change="getbannerImage"
-            listType="picture-card"
-            upText="上传"
-          ></Upload>
-          <img v-else :src="formData.photoPath" style="width:100px ;height: auto;" />
-        </a-form-item>
-        <a-form-item :wrapper-col="{ span: 12, offset: 6}" style="text-align: center;">
-          <a-button type="primary" html-type="submit" v-if="!disabled" id="bannerSetting-submit" style="margin-right: 15px">保存</a-button>
-          <a-button @click="close()" v-if="!disabled" style="margin-left: 15px" id="bannerSetting-close">取消</a-button>
-        </a-form-item>
-      </a-form>
-    </a-modal>
+    <add-goodsClass-modal :itemData="itemData" :openGoodClassModal="openGoodClassModal" @close="openGoodClassModal=false"></add-goodsClass-modal>
   </a-card>
 </template>
 
 <script>
 import { Upload, STable, VSelect } from '@/components'
-import { getBannerSettingList, changeStatus, deleteItem, saveItem } from '@/api/bannerSetting.js'
+import addGoodsClassModal from './addGoodsClassModal.vue'
+// import Editor from '@/components/WEeditor'
+// import { getBannerSettingList, changeStatus, deleteItem, saveItem } from '@/api/bannerSetting.js'
 
 export default {
   components: {
     STable,
     Upload,
-    VSelect
+    VSelect,
+    addGoodsClassModal
   },
   data () {
     return {
+      searchData: { queryWord: '' },
+      openGoodClassModal: false, // 默认关闭弹窗
+      itemData: {}, // 编辑行数据
       // 表头
       columns: [
         {
@@ -163,35 +90,17 @@ export default {
           align: 'center'
         },
         {
-          title: '广告图位置',
-          width: 200,
-          dataIndex: 'position',
-          align: 'center',
-          scopedSlots: {
-            customRender: 'position'
-          }
-        },
-        {
-          title: '名称',
+          title: '商品分类名称',
           width: 100,
           dataIndex: 'title',
           align: 'center'
         },
         {
-          title: '排序',
+          title: '订单起购金额',
           width: 100,
           dataIndex: 'sort',
           align: 'center'
         },
-        {
-          title: '跳转链接',
-          width: 100,
-          dataIndex: 'url',
-          align: 'center',
-          customRender: (text) => {
-            return text || '--'
-          }
-        },
         {
           title: '状态',
           width: 100,
@@ -201,10 +110,19 @@ export default {
             customRender: 'status'
           }
         },
+        {
+		  title: '备注',
+		  width: 100,
+		  dataIndex: 'url',
+		  align: 'center',
+		  customRender: (text) => {
+		    return text || '--'
+		  }
+        },
         {
           title: '操作',
           align: 'center',
-          width: 200,
+          width: 100,
           scopedSlots: {
             customRender: 'action'
           }
@@ -212,25 +130,24 @@ export default {
       ],
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
-        return getBannerSettingList({
-          bannerType: 'app'
-        }).then(res => {
-          // console.log(res, '1111')
-          const no = 0
-          for (let i = 0; i < res.data.length; i++) {
-            const _item = res.data[i]
-            _item.no = no + i + 1
-          }
-          return res.data
-        })
+        // return getBannerSettingList({
+        //   bannerType: 'app'
+        // }).then(res => {
+        //   // console.log(res, '1111')
+        //   const no = 0
+        //   for (let i = 0; i < res.data.length; i++) {
+        //     const _item = res.data[i]
+        //     _item.no = no + i + 1
+        //   }
+        //   return res.data
+        // })
       },
-
       title: '编辑',
       closable: true,
       visible: false,
       confirmLoading: false,
       formLayout: 'horizontal',
-      hideRequiredMark: false, // 是否显示必填的* 默认显示
+      // hideRequiredMark: false, // 是否显示必填的* 默认显示
       form: this.$form.createForm(this),
       formItemLayout: {
         labelCol: {
@@ -263,38 +180,43 @@ export default {
   },
   methods: {
     showModal () {
-      this.disabled = false
-      delete this.formData.id
-      delete this.formData.createDate
-      this.visible = true
+      // this.disabled = false
+      // delete this.formData.id
+      // delete this.formData.createDate
+      // this.visible = true
+	  this.openGoodClassModal = true
       this.title = '新增'
-      this.hideRequiredMark = false
+      // this.hideRequiredMark = false
     },
     // 轮播图change
     getbannerImage (data) {
       this.formData.photoPath = data
     },
+    // 重置
+    resetForm () {
+      this.searchData.queryWord = ''
+    },
     // 点击保存;
     handleSubmit (e) {
-      e.preventDefault()
-      const _this = this
-      this.form.validateFields((err, values) => {
-        if (!err) {
-          console.log('Received values of form: ', values, this.formData)
-          const formData = Object.assign({}, this.formData, values.formData, {
-            bannerType: 'app'
-          })
-          console.log(formData, _this.radioGroup)
-          saveItem(formData, _this.radioGroup).then(res => {
-            console.log(res, 'rrrrrrrrr')
-            if (res.status == 200) {
-              _this.$message.success(res.message)
-              _this.$refs.table.refresh()
-              _this.close()
-            }
-          })
-        }
-      })
+      // e.preventDefault()
+      // const _this = this
+      // this.form.validateFields((err, values) => {
+      //   if (!err) {
+      //     console.log('Received values of form: ', values, this.formData)
+      //     const formData = Object.assign({}, this.formData, values.formData, {
+      //       bannerType: 'app'
+      //     })
+      //     console.log(formData, _this.radioGroup)
+      //     saveItem(formData, _this.radioGroup).then(res => {
+      //       console.log(res, 'rrrrrrrrr')
+      //       if (res.status == 200) {
+      //         _this.$message.success(res.message)
+      //         _this.$refs.table.refresh()
+      //         _this.close()
+      //       }
+      //     })
+      //   }
+      // })
     },
     close () {
       this.visible = false
@@ -307,8 +229,8 @@ export default {
       this.formData.photoBasePath = ''
       this.formData.photoPath = ''
       this.title = '新增'
-      this.$refs.bannerImage.setFileList('')
-      this.form.resetFields()
+      // this.$refs.bannerImage.setFileList('')
+      // this.form.resetFields()
     },
     // 赋值
     assignment (row) {
@@ -322,23 +244,23 @@ export default {
       this.formData.createDate = row.createDate
     },
     // 0 修改,1 查看详情
-    handleEdit (row, type) {
-      const _this = this
-      console.log(row)
-      if (type == 1) {
-        this.title = '查看详情'
-        this.hideRequiredMark = true
-      } else if (type == 0) {
-        this.title = '编辑'
-        this.hideRequiredMark = false
-      }
-      this.assignment(row)
-      this.disabled = type == 1
-      this.visible = true
-      setTimeout(() => {
-        _this.$refs.bannerImage.setFileList(this.formData.photoPath)
-      }, 500)
-    },
+    // handleEdit (row, type) {
+    //   const _this = this
+    //   console.log(row)
+    //   if (type == 1) {
+    //     this.title = '查看详情'
+    //     this.hideRequiredMark = true
+    //   } else if (type == 0) {
+    //     this.title = '编辑'
+    //     this.hideRequiredMark = false
+    //   }
+    //   this.assignment(row)
+    //   this.disabled = type == 1
+    //   this.visible = true
+    //   setTimeout(() => {
+    //     _this.$refs.bannerImage.setFileList(this.formData.photoPath)
+    //   }, 500)
+    // },
     // 删除
     delect (row) {
       const _this = this
@@ -349,37 +271,50 @@ export default {
         okText: '确定',
         cancelText: '取消',
         onOk () {
-          deleteItem({
-            id: row.id
-          }).then(res => {
-            if (res.status == 200) {
-              _this.$message.success(res.message)
-              _this.$refs.table.refresh()
-            }
-          })
+          // deleteItem({
+          //   id: row.id
+          // }).then(res => {
+          //   if (res.status == 200) {
+          //     _this.$message.success(res.message)
+          //     _this.$refs.table.refresh()
+          //   }
+          // })
         }
       })
     },
     // 更改启用禁用状态
     changeFlagHandle (text, record) {
-      const _data = {
-        id: record.id,
-        flag: record.status == 1 ? '0' : '1'
-      }
-      changeStatus(_data).then(res => {
-        if (res.status == '200') {
-          this.$message.success(res.message)
-          this.$refs.table.refresh()
-        } else {
-          record.status = !record.status
-        }
+      const _this = this
+      this.$confirm({
+    	  title: '提示',
+    	  centered: true,
+    	  content: '商品分类被禁用后,该分类将不在显示给用户,确定禁用吗?',
+    	  okText: '确定',
+    	  cancelText: '取消',
+    	  onOk () {
+          const _data = {
+    		  id: record.id,
+    		  flag: record.status == 1 ? '0' : '1'
+          }
+          changeStatus(_data).then(res => {
+    		  if (res.status == '200') {
+    		    _this.$message.success(res.message)
+    		    _this.$refs.table.refresh()
+    		  } else {
+    		    record.status = !record.status
+    		  }
+          })
+    	  }
       })
     }
   }
 }
 </script>
 
-<style scoped>
+<style>
+	.w-e-toolbar{
+	  flex-wrap:wrap;
+	}
 .addBtn {
   margin-bottom: 20px;
 }

+ 41 - 114
src/views/shopSetting/supplier.vue

@@ -1,5 +1,19 @@
 <template>
   <a-card :bordered="false">
+    <!-- 搜索框 -->
+    <div class="table-page-search-wrapper" style="margin-bottom: 15px;">
+      <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+        <a-row :gutter="48">
+          <a-col :md="6" :sm="24">
+            <a-form-item label="供应商名称"><a-input allowClear v-model.trim="searchData.queryWord" :maxLength="30" placeholder="请输入" id="OperateJournal-queryWord"/></a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-button style="margin-right: 10px;" type="primary" @click="$refs.table.refresh(true)" id="OperateJournal-refreshTable">查询</a-button>
+            <a-button type="" @click="resetForm" id="OperateJournal-resetForm">重置</a-button>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
     <div class="add"><a-button type="primary" icon="plus" class="addBtn" @click="showModal" id="bannerSetting-showModal">新增</a-button></div>
     <v-select ref="position" style="display: none;" code="ADVERT_POSITION"></v-select>
     <!-- table列表 -->
@@ -45,115 +59,27 @@
         />
       </span>
     </s-table>
-    <!-- 弹窗 -->
-    <a-modal
-      :title="title"
-      :visible="visible"
-      :footer="null"
-      :closable="closable"
-      :centered="true"
-      @cancel="close"
-      width="45%">
-      <a-form
-        id="components-form-demo-validate-other"
-        :form="form"
-        ref="form"
-        v-bind="formItemLayout"
-        @submit="handleSubmit"
-        :hideRequiredMark="hideRequiredMark">
-        <a-form-item label="名称" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <a-input
-            id="bannerSetting-title"
-            :maxLength="30"
-            v-decorator="['formData.title', { initialValue: formData.title,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入轮播图名称(最多30个字符)!' }] }]"
-            :disabled="disabled"
-            placeholder="请输入轮播图名称(最多30个字符)"
-            allowClear
-          />
-        </a-form-item>
-        <a-form-item label="广告图位置" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <v-select
-            ref="position"
-            code="ADVERT_POSITION"
-            allowClear
-            id="bannerSetting-position"
-            placeholder="请选择广告图位置"
-            :disabled="disabled"
-            v-decorator="['formData.position', { initialValue: formData.position, rules: [{ required: true, message: '请选择广告图位置!' }] }]"
-          ></v-select>
-        </a-form-item>
-        <a-form-item label="跳转链接" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <a-textarea
-            :maxLength="300"
-            v-decorator="['formData.url', { initialValue: formData.url, rules: [{ required: false, message: '请输入跳转链接(最多300字符)!' }] }]"
-            :disabled="disabled"
-            id="bannerSetting-url"
-            placeholder="请输入跳转链接(最多300字符)"
-            allowClear
-          />
-        </a-form-item>
-        <a-form-item label="排序" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <a-input
-            type="number"
-            oninput="if(value.length>6)value=value.slice(0,6);if(value<0)value=0"
-            v-decorator="['formData.sort', { initialValue: formData.sort,getValueFromEvent: $filterEmpty, rules: [{ required: true, message: '请输入(0~999999)之间的序号值!' }] }]"
-            :disabled="disabled"
-            id="bannerSetting-sort"
-            placeholder="请输入(0~999999)之间的序号值"
-            allowClear
-          />
-        </a-form-item>
-        <a-form-item label="状态" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <a-radio-group
-            :disabled="disabled"
-            id="bannerSetting-status"
-            v-decorator="['formData.status', { initialValue: formData.status, rules: [{ required: true, message: '请选择状态!' }] }]"
-          >
-            <a-radio value="1">启用</a-radio>
-            <a-radio value="0">禁用</a-radio>
-          </a-radio-group>
-        </a-form-item>
-        <a-form-item label="上传图片" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-          <Upload
-            v-if="title != '查看详情'"
-            id="bannerSetting-photoPath"
-            v-decorator="[
-              'formData.photoPath',
-              {
-                initialValue: formData.photoPath,
-                rules: [{ required: true, message: '请上传轮播图!' }]
-              }
-            ]"
-            ref="bannerImage"
-            :fileSize="0.25"
-            :disabled="disabled"
-            @change="getbannerImage"
-            listType="picture-card"
-            upText="上传"
-          ></Upload>
-          <img v-else :src="formData.photoPath" style="width:100px ;height: auto;" />
-        </a-form-item>
-        <a-form-item :wrapper-col="{ span: 12, offset: 6}" style="text-align: center;">
-          <a-button type="primary" html-type="submit" v-if="!disabled" id="bannerSetting-submit" style="margin-right: 15px">保存</a-button>
-          <a-button @click="close()" v-if="!disabled" style="margin-left: 15px" id="bannerSetting-close">取消</a-button>
-        </a-form-item>
-      </a-form>
-    </a-modal>
+    <!-- 新增编辑弹窗 -->
+	<add-supplier-modal :itemData="itemData" :openSupplierModal="openSupplierModal" @close="openSupplierModal=false"></add-supplier-modal>
   </a-card>
 </template>
 
 <script>
 import { Upload, STable, VSelect } from '@/components'
 import { getBannerSettingList, changeStatus, deleteItem, saveItem } from '@/api/bannerSetting.js'
-
+import addSupplierModal from './addSupplierModal.vue'
 export default {
   components: {
     STable,
     Upload,
-    VSelect
+    VSelect,
+	addSupplierModal
   },
   data () {
     return {
+      searchData: { queryWord: '' },
+	  openSupplierModal:false, //默认关闭弹窗
+	  itemData:{},//编辑行数据
       // 表头
       columns: [
         {
@@ -163,28 +89,28 @@ export default {
           align: 'center'
         },
         {
-          title: '广告图位置',
-          width: 200,
-          dataIndex: 'position',
-          align: 'center',
-          scopedSlots: {
-            customRender: 'position'
-          }
-        },
-        {
-          title: '名称',
+          title: '供应商名称',
           width: 100,
           dataIndex: 'title',
           align: 'center'
         },
         {
-          title: '排序',
+          title: '供应商简称',
           width: 100,
           dataIndex: 'sort',
           align: 'center'
         },
         {
-          title: '跳转链接',
+		  title: '手机号码',
+		  width: 200,
+		  dataIndex: 'position',
+		  align: 'center',
+		  scopedSlots: {
+		    customRender: 'position'
+		  }
+        },
+        {
+          title: '备注',
           width: 100,
           dataIndex: 'url',
           align: 'center',
@@ -224,7 +150,6 @@ export default {
           return res.data
         })
       },
-
       title: '编辑',
       closable: true,
       visible: false,
@@ -252,8 +177,6 @@ export default {
       bannerType: 'app',
       disabled: false,
       value: '',
-      id: '',
-      isShow: true
     }
   },
   beforeCreate () {
@@ -263,13 +186,17 @@ export default {
   },
   methods: {
     showModal () {
+		// if()
       this.disabled = false
       delete this.formData.id
       delete this.formData.createDate
-      this.visible = true
+      this.openSupplierModal = true
+	  // this.itemData=text
       this.title = '新增'
       this.hideRequiredMark = false
     },
+    // 重置
+    resetForm () {},
     // 轮播图change
     getbannerImage (data) {
       this.formData.photoPath = data
@@ -368,8 +295,8 @@ export default {
       }
       changeStatus(_data).then(res => {
         if (res.status == '200') {
-          this.$message.success(res.message)
-          this.$refs.table.refresh()
+          _this.$message.success(res.message)
+          _this.$refs.table.refresh()
         } else {
           record.status = !record.status
         }