烟花爆竹实名登记前端
祖安之光
2026-01-28 189adc4d8bb6b228d49678bc98935b6977d72359
src/views/usermng/product.vue
@@ -37,7 +37,7 @@
          </el-option>
        </el-select>
        <el-button v-if="getBtnPermission('add')" class="filter-item" style="margin-left: 10px;" type="primary"
                   icon="el-icon-plus" @click="showCreateHandle">旧系统信息录入
                   icon="el-icon-plus" @click="showCreateHandle">万能码信息录入
        </el-button>
        <el-upload v-if="userType === 1"
            class="filter-item"
@@ -51,7 +51,7 @@
            :on-success="onSuccessHandler"
            :on-error="onErrorHandler"
            :auto-upload="true">
            <el-dropdown  @command="handleCommand" split-button trigger="hover" type="primary" style="margin-left: 10px;" icon="el-icon-plus" :disabled="uploadBtnControl">旧系统信息导入
            <el-dropdown  @command="handleCommand" split-button trigger="hover" type="primary" style="margin-left: 10px;" icon="el-icon-plus" :disabled="uploadBtnControl">万能码信息导入
                <el-button type="primary" slot="trigger" :disabled="uploadBtnControl"></el-button>
                <el-dropdown-menu slot="dropdown">
                    <el-dropdown-item icon="el-icon-plus"  command="download"  >下载模板</el-dropdown-item>
@@ -104,7 +104,7 @@
            <span>{{ scope.row.specification }}</span>
          </template>
        </el-table-column>
        <el-table-column label="箱含药量" prop="explosiveContent" align="center" sortable="custom">
        <el-table-column label="单个产品含药量" prop="explosiveContent" align="center" sortable="custom">
          <template slot-scope="scope">
            <span>{{ scope.row.explosiveContent }}</span>
          </template>
@@ -124,7 +124,7 @@
            <span>{{ scope.row.level }}</span>
          </template>
        </el-table-column>
        <el-table-column label="单个产品含量" prop="boxNumber" align="center" sortable="custom">
        <el-table-column label="箱含量" prop="boxNumber" align="center" sortable="custom">
          <template slot-scope="scope">
            <span>{{ scope.row.boxNumber }}</span>
          </template>
@@ -215,13 +215,13 @@
            <br>
          <span v-show="dialogStatus !== 'create'" style="font-size: 12px;color: red">(如单挂鞭炮2000发,则填2000)</span>
        </el-form-item>
        <el-form-item :label="dialogStatus === 'createNew' ? '最小单位含药量:':'含药量:'" prop="explosiveContent">
        <el-form-item :label="dialogStatus === 'createNew' ? '最小单位含药量:':'单个产品含药量:'" prop="explosiveContent">
          <el-input-number v-model.number="dataForm.explosiveContent" :controls="false" :disabled="dialogStatus==='editor'"/>
            <span>&nbsp;g</span>
            <br>
            <span v-show="dialogStatus !== 'create'" style="font-size: 12px;color: red">(箱含药量 = 最小单位含药量×规格×箱含量,如单发鞭炮含药量为0.5g,则填写0.5)</span>
            <span v-show="dialogStatus !== 'create'" style="font-size: 12px;color: red">(单个产品含药量 = 最小单位含药量×规格,如 最小单位含药量为0.5g,规格为100,则单个产品含药量为0.5*100=50g)</span>
        </el-form-item>
        <el-form-item label="单个产品含量:" prop="boxNumber">
        <el-form-item label="箱含量:" prop="boxNumber">
          <el-input-number v-model.number="dataForm.boxNumber" :controls="false" :disabled="dialogStatus==='editor'"/>
        </el-form-item>
        <el-form-item label="包装方式:" prop="packing">
@@ -240,7 +240,7 @@
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible = false">取消</el-button>
        <el-button type="primary" @click="submitHandle">确认</el-button>
        <el-button type="primary" @click="debouncedSubmit">确认</el-button>
      </div>
    </el-dialog>
    <div style="clear: both;"></div>
@@ -337,7 +337,10 @@
      ...mapGetters([
        'userType',
        'username'
      ])
      ]),
        debouncedSubmit() {
            return this.debounce(this.submitHandle, 1000);
        }
    },
    methods: {
      async selectChange(){
@@ -412,6 +415,15 @@
          parseError({error: error, vm: _this})
        })
      },
        debounce(func, wait) {
            let timeout;
            return (...args) => {
                clearTimeout(timeout);
                timeout = setTimeout(() => {
                    func.apply(this, args);
                }, wait);
            };
        },
      submitHandle:function(){
          if (this.dialogStatus === 'create') {
              this.createHandle();