浏览代码

叶盏测试(建议调整内容)

sunlupeng 6 月之前
父节点
当前提交
4f2a122dfd

+ 5 - 5
src/router/index.js

@@ -96,11 +96,11 @@ export const asyncRouterMap = [
         { path: 'warehousingAdd', component: _import('stock/warehousing/warehousingAdd'), name: 'warehousingAdd', meta: { title: '新增入库单', noCache: false, hideTag: true, hidden: true }},
         { path: 'warehousingEdit/:id', component: _import('stock/warehousing/warehousingAdd'), name: 'warehousingEdit', meta: { title: '编辑入库单', noCache: false, hideTag: true, hidden: true }},
         { path: 'warehousingDetail/:id', component: _import('stock/warehousing/warehousingAdd'), name: 'warehousingDetail', meta: { title: '入库单详情', noCache: false, hideTag: true, hidden: true }},
-        // 出库
-        { path: 'retrieval', component: _import('stock/retrieval/retrieval'), name: 'retrieval', meta: { title: '出库单', noCache: true }},
-        { path: 'retrievalAdd', component: _import('stock/retrieval/retrievalAdd'), name: 'retrievalAdd', meta: { title: '新增出库单', noCache: false, hideTag: true, hidden: true }},
-        { path: 'retrievalEdit/:id', component: _import('stock/retrieval/retrievalAdd'), name: 'retrievalEdit', meta: { title: '编辑出库单', noCache: false, hideTag: true, hidden: true }},
-        { path: 'retrievalDetail/:id', component: _import('stock/retrieval/retrievalAdd'), name: 'retrievalDetail', meta: { title: '出库单详情', noCache: false, hideTag: true, hidden: true }},
+        // 要货
+        { path: 'retrieval', component: _import('stock/retrieval/retrieval'), name: 'retrieval', meta: { title: '要货单', noCache: true }},
+        { path: 'retrievalAdd', component: _import('stock/retrieval/retrievalAdd'), name: 'retrievalAdd', meta: { title: '新增要货单', noCache: false, hideTag: true, hidden: true }},
+        { path: 'retrievalEdit/:id', component: _import('stock/retrieval/retrievalAdd'), name: 'retrievalEdit', meta: { title: '编辑要货单', noCache: false, hideTag: true, hidden: true }},
+        { path: 'retrievalDetail/:id', component: _import('stock/retrieval/retrievalAdd'), name: 'retrievalDetail', meta: { title: '要货单详情', noCache: false, hideTag: true, hidden: true }},
         // 调拨单
         { path: 'requisition', component: _import('stock/requisition/requisition'), name: 'requisition', meta: { title: '调拨单', noCache: true }},
         { path: 'requisitionAdd', component: _import('stock/requisition/requisitionAdd'), name: 'requisitionAdd', meta: { title: '新增调拨单', noCache: false, hideTag: true, hidden: true }},

+ 1 - 1
src/ui-components/PickerGoods/src/main.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-dialog title="商品/选择器" width="60%" :visible.sync="dialogVisible" :append-to-body="false"
+  <el-dialog title="商品/物料选择器" width="60%" :visible.sync="dialogVisible" :append-to-body="false"
     :modal-append-to-body="false" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="true"
     @closed="handleClose" class="goods-picker">
     <div class="goods-picker__body">

+ 1 - 1
src/views/basicSetting/store.vue

@@ -128,7 +128,7 @@ export default {
         storeCode: [
           { required: true, message: "门店编号不能为空", trigger: "blur" },
           { min: 11, max: 11, message: "门店编号必须为11位", trigger: "blur" },
-          { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/, message: "门店编号必须为11位字母加数字", trigger: "blur" }
+          { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{12,}$/, message: "门店编号必须为11位字母加数字", trigger: "blur" }
         ],
         storeName: [{ required: true, message: '门店名称不能为空', trigger: 'blur' }],
         contactsId: [{ required: true, message: '联系人不能为空', trigger: 'blur' }],

+ 1 - 1
src/views/basicSetting/warehouse.vue

@@ -125,7 +125,7 @@ export default {
         warehouseCode: [
           { required: true, message: "仓库编号不能为空", trigger: "blur" },
           { min: 11, max: 11, message: "仓库编号必须为11位", trigger: "blur" },
-          { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/, message: "仓库编号必须为11位字母加数字", trigger: "blur" }
+          { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{12,}$/, message: "仓库编号必须为11位字母加数字", trigger: "blur" }
         ],
         warehouseName: [{ required: true, message: '仓库名称不能为空', trigger: 'blur' }],
         adminId: [{ required: true, message: '管理员不能为空', trigger: 'blur' }],

+ 13 - 9
src/views/customer/business.vue

@@ -64,16 +64,16 @@
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="600px">
       <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="110px">
         <el-form-item label="企业编号" prop="customerCode">
-          <el-input v-model="dataForm.customerCode" placeholder="请输入"></el-input>
+          <el-input v-model="dataForm.customerCode" placeholder="请输入企业编号"></el-input>
         </el-form-item>
         <el-form-item label="企业名称" prop="companyName">
-          <el-input v-model="dataForm.companyName" placeholder="请输入"></el-input>
+          <el-input v-model="dataForm.companyName" placeholder="请输入企业名称"></el-input>
         </el-form-item>      
-        <el-form-item label="联系人" prop="contactsName" placeholder="请输入">
-          <el-input v-model="dataForm.contactsName"></el-input>
+        <el-form-item label="联系人" prop="contactsName">
+          <el-input v-model="dataForm.contactsName" placeholder="请输入联系人"></el-input>
         </el-form-item>
-        <el-form-item label="联系电话" prop="contactsPhone" placeholder="请输入">
-          <el-input v-model="dataForm.contactsPhone"></el-input>
+        <el-form-item label="联系电话" prop="contactsPhone" >
+          <el-input v-model="dataForm.contactsPhone" placeholder="请输入联系电话" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')"></el-input>
         </el-form-item>
          <el-form-item label="备注" prop="remarks">
           <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入"
@@ -127,11 +127,15 @@ export default {
       dialogFormVisible: false,
       dialogStatus: '',
       textMap: {
-        update: '编辑',
-        create: '创建'
+        update: '编辑企业客户',
+        create: '添加企业客户'
       },
       rules: {
-        customerCode: [{ required: true, message: '企业编号不能为空', trigger: 'blur' }],
+        customerCode: [
+          { required: true, message: "企业编号不能为空", trigger: "blur" },
+          { min: 6, max: 6, message: "企业编号必须为6位", trigger: "blur" },
+          { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{7,}$/, message: "企业编号必须为6位字母加数字", trigger: "blur" }
+        ],
         companyName: [{ required: true, message: '企业名称不能为空', trigger: 'blur' }],
         contactsName: [{ required: true, message: '联系人不能为空', trigger: 'blur' }],
         contactsPhone: [{ required: true, message: '联系电话不能为空', trigger: 'blur' }],

+ 75 - 57
src/views/customer/distributor.vue

@@ -5,13 +5,14 @@
     <div class="filter-container">
       <el-input clearable class="filter-item" style="width: 200px;" placeholder="公司名称" v-model="listQuery.companyName">
       </el-input>
-      <el-select class="filter-item" style="width: 200px" v-model="listQuery.companyLevel" filterable placeholder="分销商等级">
+      <el-select class="filter-item" style="width: 200px" v-model="listQuery.companyLevel" filterable
+        placeholder="分销商等级">
         <el-option :key="item.dictLabel" v-for="item in company_level" :label="item.dictLabel" :value="item.dictLabel">
         </el-option>
       </el-select>
       <el-select v-model="listQuery.status" clearable placeholder="状态" class="filter-item" style="width: 200px;">
-          <el-option :key="item.type" v-for="item in statusList" :label="item.name" :value="item.type">
-          </el-option>
+        <el-option :key="item.type" v-for="item in statusList" :label="item.name" :value="item.type">
+        </el-option>
       </el-select>
       <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleQuery">查找</el-button>
       <el-button class="filter-item" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
@@ -48,18 +49,18 @@
       </el-table-column>
 
       <el-table-column align="center" min-width="50px" label="状态">
-          <template slot-scope="props">
-            <span v-if="props.row.status == 0" style="color: #67C23A;font-weight: bold;">启用</span>
-            <span v-if="props.row.status == 1" style="color: #E6A23C;font-weight: bold;">停用</span>
-          </template>
+        <template slot-scope="props">
+          <span v-if="props.row.status == 0" style="color: #67C23A;font-weight: bold;">启用</span>
+          <span v-if="props.row.status == 1" style="color: #E6A23C;font-weight: bold;">停用</span>
+        </template>
       </el-table-column>
       <el-table-column align="center" label="操作" width="250" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
           <el-button v-if="scope.row.status == 1" type="success" size="small"
-                        @click="changeState(scope.row.id, scope.row.status)">启用</el-button>
+            @click="changeState(scope.row.id, scope.row.status)">启用</el-button>
           <el-button v-if="scope.row.status == 0" type="warning" size="small"
-                        @click="changeState(scope.row.id, scope.row.status)">停用</el-button>
+            @click="changeState(scope.row.id, scope.row.status)">停用</el-button>
           <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
         </template>
       </el-table-column>
@@ -77,28 +78,31 @@
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="600px">
       <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="110px">
         <el-form-item label="分销商编号" prop="customerCode">
-          <el-input v-model="dataForm.customerCode" placeholder="请输入"></el-input>
+          <el-input v-model="dataForm.customerCode" placeholder="请输入分销商编号"></el-input>
         </el-form-item>
         <el-form-item label="公司名称" prop="companyName">
-          <el-input v-model="dataForm.companyName" placeholder="请输入"></el-input>
+          <el-input v-model="dataForm.companyName" placeholder="请输入公司名称"></el-input>
         </el-form-item>
         <el-form-item label="分销商等级" prop="companyLevel">
-          <el-select v-model="dataForm.companyLevel" filterable placeholder="请选择" style="width: 100%">
-            <el-option :key="item.dictLabel" v-for="item in company_level" :label="item.dictLabel" :value="item.dictLabel">
+          <el-select v-model="dataForm.companyLevel" filterable placeholder="请选择分销商等级" style="width: 100%">
+            <el-option :key="item.dictLabel" v-for="item in company_level" :label="item.dictLabel"
+              :value="item.dictLabel">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="合同开始日期" prop="contractStart">
-          <el-date-picker style="width: 100%;" v-model="dataForm.contractStart" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"></el-date-picker>
+          <el-date-picker style="width: 100%;" v-model="dataForm.contractStart" type="date" placeholder="选择合同开始日期"
+            value-format="yyyy-MM-dd" :picker-options="startDatePickerOptions"></el-date-picker>
         </el-form-item>
         <el-form-item label="合同结束日期" prop="contractEnd">
-          <el-date-picker style="width: 100%;" v-model="dataForm.contractEnd" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"></el-date-picker>
-        </el-form-item>                
-        <el-form-item label="联系人" prop="contactsName" placeholder="请输入">
-          <el-input v-model="dataForm.contactsName"></el-input>
+          <el-date-picker style="width: 100%;" v-model="dataForm.contractEnd" type="date" placeholder="选择合同结束日期"
+            value-format="yyyy-MM-dd" :picker-options="endDatePickerOptions"></el-date-picker>
+        </el-form-item>
+        <el-form-item label="联系人" prop="contactsName">
+          <el-input v-model="dataForm.contactsName" placeholder="请输入联系人"></el-input>
         </el-form-item>
-        <el-form-item label="联系电话" prop="contactsPhone" placeholder="请输入">
-          <el-input v-model="dataForm.contactsPhone"></el-input>
+        <el-form-item label="联系电话" prop="contactsPhone">
+          <el-input v-model="dataForm.contactsPhone" placeholder="请输入联系电话" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -124,15 +128,15 @@ export default {
       total: undefined,
       listLoading: true,
       statusList: [
-                {
-                    type: 0,
-                    name: '启用'
-                },
-                {
-                    type: 1,
-                    name: '停用'
-                },
-            ],
+        {
+          type: 0,
+          name: '启用'
+        },
+        {
+          type: 1,
+          name: '停用'
+        },
+      ],
       listQuery: {
         page: 1,
         limit: 10,
@@ -149,14 +153,28 @@ export default {
         contactsName: undefined,
         contactsPhone: undefined,
       },
+      startDatePickerOptions: {
+        disabledDate: (date) => {
+          return this.dataForm.contractEnd && date > new Date(this.dataForm.contractEnd);
+        }
+      },
+      endDatePickerOptions: {
+        disabledDate: (date) => {
+          return this.dataForm.contractStart && date < new Date(this.dataForm.contractStart);
+        }
+      },
       dialogFormVisible: false,
       dialogStatus: '',
       textMap: {
-        update: '编辑',
-        create: '创建'
+        update: '编辑分销商',
+        create: '添加分销商'
       },
       rules: {
-        customerCode: [{ required: true, message: '分销商编号不能为空', trigger: 'blur' }],
+        customerCode: [
+          { required: true, message: "分销商编号不能为空", trigger: "blur" },
+          { min: 7, max: 7, message: "分销商编号必须为7位", trigger: "blur" },
+          { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/, message: "分销商编号必须为7位字母加数字", trigger: "blur" }
+        ],
         companyName: [{ required: true, message: '公司名称不能为空', trigger: 'blur' }],
         companyLevel: [{ required: true, message: '请选择合同开始日期', trigger: 'blur' }],
         contractStart: [{ required: true, message: '请选择分销商等级', trigger: 'blur' }],
@@ -171,7 +189,7 @@ export default {
     this.getList();
   },
   methods: {
-    getDictType(){
+    getDictType() {
       //分销商等级
       dataTypeList({ dictType: 'company_level' }).then(response => {
         this.company_level = response.data.data;
@@ -281,37 +299,37 @@ export default {
     },
     handleDelete(row) {
       this.$confirm('确认删除吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteDistributor({id:row.id}).then(response => {
-            this.$notify({
-              title: '成功',
-              message: '删除成功',
-              type: 'success',
-              duration: 2000
-            })
-            this.getList()
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        deleteDistributor({ id: row.id }).then(response => {
+          this.$notify({
+            title: '成功',
+            message: '删除成功',
+            type: 'success',
+            duration: 2000
           })
-        }).catch(() => {
-  
+          this.getList()
         })
+      }).catch(() => {
+
+      })
     },
     handleDownload() {
       window.location.href = process.env.BASE_API + '/customer-distributor/export';
     },
     changeState(id, status) {
-            setState({ id: id, status: status }).then(response => {
-                this.$notify({
-                    title: '成功',
-                    message: '状态修改成功',
-                    type: 'success',
-                    duration: 2000
-                })
-                this.getList()
-            })
-        },
+      setState({ id: id, status: status }).then(response => {
+        this.$notify({
+          title: '成功',
+          message: '状态修改成功',
+          type: 'success',
+          duration: 2000
+        })
+        this.getList()
+      })
+    },
   }
 }
 </script>

+ 18 - 14
src/views/customer/guest.vue

@@ -3,9 +3,9 @@
 
     <!-- 查询和其他操作 -->
     <div class="filter-container">
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="客编号" v-model="listQuery.customerCode">
+      <el-input clearable class="filter-item" style="width: 200px;" placeholder="客编号" v-model="listQuery.customerCode">
       </el-input>
-      <el-input clearable class="filter-item" style="width: 200px;" placeholder="客姓名" v-model="listQuery.customerName">
+      <el-input clearable class="filter-item" style="width: 200px;" placeholder="客姓名" v-model="listQuery.customerName">
       </el-input>
       <el-select v-model="listQuery.sex" clearable placeholder="性别" class="filter-item" style="width: 200px;">
         <el-option :key="item.type" v-for="item in sexList" :label="item.name" :value="item.type">
@@ -24,10 +24,10 @@
       <el-table-column type="index" label="序号" header-align="center" align="center">
       </el-table-column>
 
-      <el-table-column align="center" min-width="80px" label="客编号" prop="customerCode">
+      <el-table-column align="center" min-width="80px" label="客编号" prop="customerCode">
       </el-table-column>
 
-      <el-table-column align="center" min-width="100px" label="客姓名" prop="customerName">
+      <el-table-column align="center" min-width="100px" label="客姓名" prop="customerName">
       </el-table-column>
 
       <el-table-column align="center" min-width="80px" label="性别" prop="sexStr">
@@ -58,11 +58,11 @@
     <!-- 添加或修改对话框 -->
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="600px">
       <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="110px">
-        <el-form-item label="客编号" prop="customerCode">
-          <el-input v-model="dataForm.customerCode"></el-input>
+        <el-form-item label="客编号" prop="customerCode">
+          <el-input v-model="dataForm.customerCode" placeholder="请输入散客编号"></el-input>
         </el-form-item>
-        <el-form-item label="客名称" prop="customerName">
-          <el-input v-model="dataForm.customerName"></el-input>
+        <el-form-item label="客名称" prop="customerName">
+          <el-input v-model="dataForm.customerName" placeholder="请输入散客名称"></el-input>
         </el-form-item>
         <el-form-item label="性别" prop="sex">
           <el-radio-group v-model="dataForm.sex">
@@ -70,10 +70,10 @@
           </el-radio-group>
         </el-form-item>
         <el-form-item label="联系方式" prop="customerPhone">
-          <el-input v-model="dataForm.customerPhone"></el-input>
+          <el-input v-model="dataForm.customerPhone" placeholder="请输入联系方式"></el-input>
         </el-form-item>
         <el-form-item label="备注" prop="remarks">
-          <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入"
+          <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入备注"
             v-model="dataForm.remarks">
           </el-input>
         </el-form-item>
@@ -125,12 +125,16 @@ export default {
       dialogFormVisible: false,
       dialogStatus: '',
       textMap: {
-        update: '编辑',
-        create: '创建'
+        update: '编辑散客',
+        create: '添加散客'
       },
       rules: {
-        customerCode: [{ required: true, message: '客户编号不能为空', trigger: 'blur' }],
-        customerName: [{ required: true, message: '客户姓名不能为空', trigger: 'blur' }],
+        customerCode: [
+          { required: true, message: "散客编号不能为空", trigger: "blur" },
+          { min: 6, max: 6, message: "散客编号必须为7位", trigger: "blur" },
+          { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{7,}$/, message: "散客编号必须为6位字母加数字", trigger: "blur" }
+        ],
+        customerName: [{ required: true, message: '散客姓名不能为空', trigger: 'blur' }],
       },
     }
   },

+ 13 - 9
src/views/customer/vip.vue

@@ -85,10 +85,10 @@
     <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="600px">
       <el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="110px">
         <el-form-item label="会员编号" prop="customerCode">
-          <el-input v-model="dataForm.customerCode"></el-input>
+          <el-input v-model="dataForm.customerCode" placeholder="请输入会员编号"></el-input>
         </el-form-item>
         <el-form-item label="会员名称" prop="customerName">
-          <el-input v-model="dataForm.customerName"></el-input>
+          <el-input v-model="dataForm.customerName" placeholder="请输入会员名称"></el-input>
         </el-form-item>
         <el-form-item label="性别" prop="sex">
           <el-radio-group v-model="dataForm.sex">
@@ -96,7 +96,7 @@
           </el-radio-group>
         </el-form-item>
         <el-form-item label="注册渠道" prop="registerChannel">
-          <el-select v-model="dataForm.registerChannel" filterable placeholder="请选择" style="width: 100%">
+          <el-select v-model="dataForm.registerChannel" filterable placeholder="请选择注册渠道" style="width: 100%">
             <el-option :key="item.dictLabel" v-for="item in register_channel" :label="item.dictLabel" :value="item.dictLabel">
             </el-option>
           </el-select>
@@ -105,13 +105,13 @@
           <el-date-picker style="width: 100%;" v-model="dataForm.customerBirthday" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"></el-date-picker>
         </el-form-item>     
         <el-form-item label="会员等级" prop="customerLevel">
-          <el-input v-model="dataForm.customerLevel"></el-input>
+          <el-input v-model="dataForm.customerLevel" placeholder="请输入会员等级"></el-input>
         </el-form-item>
         <el-form-item label="积分余额" prop="pointsBalance">
-          <el-input v-model="dataForm.pointsBalance"></el-input>
+          <el-input v-model="dataForm.pointsBalance" placeholder="请输入积分余额" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')"></el-input>
         </el-form-item>
         <el-form-item label="备注" prop="remarks">
-          <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入"
+          <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入备注"
             v-model="dataForm.remarks">
           </el-input>
         </el-form-item>
@@ -181,11 +181,15 @@ export default {
       dialogFormVisible: false,
       dialogStatus: '',
       textMap: {
-        update: '编辑',
-        create: '创建'
+        update: '编辑会员',
+        create: '添加会员'
       },
       rules: {
-        customerCode: [{ required: true, message: '会员编号不能为空', trigger: 'blur' }],
+        customerCode: [
+          { required: true, message: "会员编号不能为空", trigger: "blur" },
+          { min: 14, max: 14, message: "会员编号必须为14位", trigger: "blur" },
+          { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{14,}$/, message: "会员编号必须为14位字母加数字", trigger: "blur" }
+        ],
         customerName: [{ required: true, message: '会员姓名不能为空', trigger: 'blur' }],
       },
     }

+ 1 - 1
src/views/goodsManage/goodsList.vue

@@ -317,7 +317,7 @@ export default {
                 productCode: [
                     { required: true, message: "请填写商品编号", trigger: "blur" },
                     { min: 14, max: 14, message: "商品编号必须为14位", trigger: "blur" },
-                    { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/, message: "商品编号必须为14位字母加数字", trigger: "blur" }
+                    { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{15,}$/, message: "商品编号必须为14位字母加数字", trigger: "blur" }
                 ],
                 categoryId: [{ required: true, message: "请选择商品类别", trigger: "blur" }],
                 price: [

+ 1 - 1
src/views/goodsManage/goodsTypeList.vue

@@ -158,7 +158,7 @@
           categoryCode: [
             { required: true, message: "商品类别编号不能为空", trigger: "blur" },
             { min: 10, max: 10, message: "商品类别编号必须为10位", trigger: "blur" },
-            { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/, message: "商品类别编号必须为10位字母加数字", trigger: "blur" }
+            { pattern: /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{11,}$/, message: "商品类别编号必须为10位字母加数字", trigger: "blur" }
           ]
         }
       };

+ 1 - 1
src/views/stock/assembly/assembly.vue

@@ -63,7 +63,7 @@
       <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button v-if="scope.row.isRunFinish == '1'" type="success" size="small" @click="handleExecute(scope.row)">组装</el-button>
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
+          <el-button v-if="scope.row.isRunFinish == '1'" type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
           <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
         </template>
       </el-table-column>

+ 2 - 2
src/views/stock/assembly/assemblyAdd.vue

@@ -67,11 +67,11 @@
                         {{ scope.row.createProductNumber }}
                     </template>
                 </el-table-column>
-                <el-table-column label="消耗">
+                <el-table-column label="消耗">
                     <template slot-scope="scope">
                         <el-form-item v-if="type !== 'detail'"
                             :prop="'inventoryOutInfos.' + scope.$index + '.updateNumber'"
-                            :rules="{ required: true, message: '消耗不能为空', trigger: 'blur' }" class="tableFormItem">
+                            :rules="{ required: true, message: '消耗不能为空', trigger: 'blur' }" class="tableFormItem">
                             <el-input-number v-model="scope.row.updateNumber" @change="handleChange(scope.row)"
                                 size="small" :min="1" :max="10000"></el-input-number>
                         </el-form-item>

+ 1 - 1
src/views/stock/disassembly/disassembly.vue

@@ -63,7 +63,7 @@
       <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button v-if="scope.row.isRunFinish == '1'" type="success" size="small" @click="handleExecute(scope.row)">拆卸</el-button>
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
+          <el-button v-if="scope.row.isRunFinish == '1'" type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
           <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
         </template>
       </el-table-column>

+ 2 - 2
src/views/stock/disassembly/disassemblyAdd.vue

@@ -67,11 +67,11 @@
                         {{ scope.row.createProductNumber }}
                     </template>
                 </el-table-column>
-                <el-table-column label="消耗">
+                <el-table-column label="入库量">
                     <template slot-scope="scope">
                         <el-form-item v-if="type !== 'detail'"
                             :prop="'inventoryEntryInfos.' + scope.$index + '.updateNumber'"
-                            :rules="{ required: true, message: '消耗不能为空', trigger: 'blur' }" class="tableFormItem">
+                            :rules="{ required: true, message: '入库量不能为空', trigger: 'blur' }" class="tableFormItem">
                             <el-input-number v-model="scope.row.updateNumber" @change="handleChange(scope.row)"
                                 size="small" :min="1" :max="10000"></el-input-number>
                         </el-form-item>

+ 1 - 1
src/views/stock/requisition/requisition.vue

@@ -69,7 +69,7 @@
       <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button v-if="scope.row.isDelivery == '1'" type="success" size="small" @click="handleExecute(scope.row)">发货</el-button>
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
+          <el-button v-if="scope.row.isDelivery == '1'" type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
           <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
         </template>
       </el-table-column>

+ 3 - 0
src/views/stock/requisition/requisitionAdd.vue

@@ -149,6 +149,9 @@ export default {
                 addHandlerId: [
                     { required: true, message: '请选择调入经手人', trigger: 'blur' }
                 ],
+                remarks: [
+                    { required: true, message: '请输入备注', trigger: 'blur' }
+                ],
             },
         }
     },

+ 1 - 1
src/views/stock/retrieval/retrieval.vue

@@ -62,7 +62,7 @@
       <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button v-if="scope.row.isRunFinish == '1'" type="success" size="small" @click="handleExecute(scope.row)">发货</el-button>
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
+          <el-button v-if="scope.row.isRunFinish == '1'" type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
           <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
         </template>
       </el-table-column>

+ 11 - 8
src/views/stock/retrieval/retrievalAdd.vue

@@ -1,15 +1,15 @@
 <template>
     <div class="app-container">
         <el-form ref="dataForm" :model="dataForm" :rules="rules" label-width="120px" inline>
-            <h3>通用出库单</h3>
-            <el-form-item label="出库时间" prop="serialDate">
+            <h3>通用要货单</h3>
+            <el-form-item label="要货时间" prop="serialDate">
                 <el-date-picker v-model="dataForm.serialDate" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"
                     placeholder="选择日期时间" style="width:200px" :disabled="type === 'detail'">
                 </el-date-picker>
             </el-form-item>
-            <el-form-item label="出库部门" prop="requireDepartmentId">
+            <el-form-item label="要货部门" prop="requireDepartmentId">
                 <treeselect class="filter-item" default-expand-all v-model="dataForm.requireDepartmentId" :options="deptOptions"
-                :normalizer="normalizer" placeholder="出库部门" style="width: 200px" :disabled="type === 'detail'"/>
+                :normalizer="normalizer" placeholder="要货部门" style="width: 200px" :disabled="type === 'detail'"/>
             </el-form-item>
             <el-form-item label="门店" prop="storeId">
                 <el-select v-model="dataForm.storeId" clearable placeholder="请选择" style="width: 200px;" :disabled="type === 'detail'">
@@ -29,7 +29,7 @@
                     placeholder="请输入备注 最大120字"></el-input>
             </el-form-item>
             <div class="mx">
-        <h3>出库明细</h3>
+        <h3>要货明细</h3>
         <el-button size="small" type="primary" v-if="type !== 'detail'"
           @click="handleSelectGoods" icon="el-icon-plus">商品/物料</el-button>
       </div>
@@ -55,7 +55,7 @@
                 {{ scope.row.createProductNumber }}
               </template>
             </el-table-column>
-            <el-table-column label="出库数量">
+            <el-table-column label="要货数量">
               <template slot-scope="scope">
                 <el-form-item v-if="type !== 'detail'" :prop="'inventoryOutInfos.'+scope.$index+'.updateNumber'" :rules="{ required: true, message: '入库数量不能为空', trigger: 'blur' }" class="tableFormItem">
                     <el-input-number v-model="scope.row.updateNumber" @change="handleChange(scope.row)" size="small" :min="1" :max="10000" placeholder="入库数量"></el-input-number>
@@ -131,14 +131,17 @@ export default {
             },
             rules: {
                 serialDate: [
-                    { required: true, message: '请选择出库时间', trigger: 'blur' }
+                    { required: true, message: '请选择要货时间', trigger: 'blur' }
                 ],
                 requireDepartmentId: [
-                    { required: true, message: '请选择出库部门', trigger: 'blur' }
+                    { required: true, message: '请选择要货部门', trigger: 'blur' }
                 ],
                 warehouseId: [
                     { required: true, message: '请选择仓库', trigger: 'blur' }
                 ],
+                remarks: [
+                    { required: true, message: '请输入备注', trigger: 'blur' }
+                ],
             },
         }
     },

+ 1 - 1
src/views/stock/swap/swap.vue

@@ -59,7 +59,7 @@
       <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button v-if="scope.row.isDelivery == '1'" type="success" size="small" @click="handleExecute(scope.row)">发货</el-button>
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
+          <el-button v-if="scope.row.isDelivery == '1'" type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
           <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
         </template>
       </el-table-column>

+ 1 - 1
src/views/stock/warehousing/warehousing.vue

@@ -55,7 +55,7 @@
       <el-table-column align="center" label="操作" width="240px" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button v-if="scope.row.isRunFinish == '1'" type="success" size="small" @click="handleExecute(scope.row)">入库</el-button>
-          <el-button type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
+          <el-button v-if="scope.row.isRunFinish == '1'" type="primary" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
           <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
         </template>
       </el-table-column>

+ 7 - 1
src/views/stock/warehousing/warehousingAdd.vue

@@ -37,7 +37,7 @@
                     placeholder="请输入采购说明 最大120字"></el-input>
             </el-form-item> -->
             <el-form-item label="附件:" prop="fileIds">
-                <el-upload :limit="1" :action="fileUrl" :file-list="dataForm.fileList" :on-success="handleFileSuccess"
+                <el-upload :limit="1" :action="fileUrl" :file-list="dataForm.fileList" :on-success="handleFileSuccess" :on-exceed="handleExceed"
                     :before-upload="beforeUploadFile" :on-remove="handleRemove">
                     <el-button size="small" type="primary" :disabled="type === 'detail'">点击上传</el-button>
                 </el-upload>
@@ -283,6 +283,12 @@ export default {
         }
         this.dataForm.fileIds = fileIds.join(",");
         },
+        handleExceed(files, fileList) {
+            this.$message.warning(
+                `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
+                } 个文件`
+            );
+        },
         beforeUploadFile(file) {
         console.log(file);
         const size = file.size / 1024 / 1024;

+ 2 - 2
src/views/sys/admin.vue

@@ -253,8 +253,8 @@ export default {
       dialogFormVisible: false,
       dialogStatus: '',
       textMap: {
-        update: '编辑',
-        create: '创建'
+        update: '编辑用户',
+        create: '添加用户'
       },
       rules: {
         username: [{ required: true, message: '用户不能为空', trigger: 'blur' }],

+ 5 - 2
src/views/sys/dept.vue

@@ -59,7 +59,7 @@
               @click="handleAdd(scope.row)"
             >添加</el-button>
             <el-button
-              v-if="scope.row.parentId != 0"
+              v-if="!scope.row.children"
               size="small"
               type="danger"
               @click="handleDelete(scope.row)"
@@ -248,7 +248,10 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.resetForm("queryForm");
+      this.queryParams = {
+        deptName: undefined,
+        status: undefined
+      };
       this.handleQuery();
     },
     /** 新增按钮操作 */

+ 2 - 2
src/views/sys/role.vue

@@ -94,8 +94,8 @@ export default {
       dialogFormVisible: false,
       dialogStatus: '',
       textMap: {
-        update: '编辑',
-        create: '创建'
+        update: '编辑角色',
+        create: '添加角色'
       },
       rules: {
         roleName: [