|  | @@ -1,6 +1,12 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <div class="app-container">
 | 
	
		
			
				|  |  | -    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
 | 
	
		
			
				|  |  | +    <el-form
 | 
	
		
			
				|  |  | +      :model="queryParams"
 | 
	
		
			
				|  |  | +      ref="queryForm"
 | 
	
		
			
				|  |  | +      :inline="true"
 | 
	
		
			
				|  |  | +      v-show="showSearch"
 | 
	
		
			
				|  |  | +      label-width="68px"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  |        <el-form-item label="编号" prop="fNo">
 | 
	
		
			
				|  |  |          <el-input
 | 
	
		
			
				|  |  |            v-model="queryParams.fNo"
 | 
	
	
		
			
				|  | @@ -91,12 +97,18 @@
 | 
	
		
			
				|  |  |              :value="dict.dictValue"
 | 
	
		
			
				|  |  |            />
 | 
	
		
			
				|  |  |          </el-select>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item>
 | 
	
		
			
				|  |  | -        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
 | 
	
		
			
				|  |  | -        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
 | 
	
		
			
				|  |  | +        <el-button
 | 
	
		
			
				|  |  | +          type="cyan"
 | 
	
		
			
				|  |  | +          icon="el-icon-search"
 | 
	
		
			
				|  |  | +          size="mini"
 | 
	
		
			
				|  |  | +          @click="handleQuery"
 | 
	
		
			
				|  |  | +          >搜索</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
 | 
	
		
			
				|  |  | +          >重置</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |      </el-form>
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -108,7 +120,8 @@
 | 
	
		
			
				|  |  |            size="mini"
 | 
	
		
			
				|  |  |            @click="handleAdd"
 | 
	
		
			
				|  |  |            v-hasPermi="['basicdata:goods:add']"
 | 
	
		
			
				|  |  | -        >新增</el-button>
 | 
	
		
			
				|  |  | +          >新增</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |        </el-col>
 | 
	
		
			
				|  |  |        <el-col :span="1.5">
 | 
	
		
			
				|  |  |          <el-button
 | 
	
	
		
			
				|  | @@ -118,7 +131,8 @@
 | 
	
		
			
				|  |  |            :disabled="single"
 | 
	
		
			
				|  |  |            @click="handleUpdate"
 | 
	
		
			
				|  |  |            v-hasPermi="['basicdata:goods:edit']"
 | 
	
		
			
				|  |  | -        >修改</el-button>
 | 
	
		
			
				|  |  | +          >修改</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |        </el-col>
 | 
	
		
			
				|  |  |        <el-col :span="1.5">
 | 
	
		
			
				|  |  |          <el-button
 | 
	
	
		
			
				|  | @@ -128,7 +142,8 @@
 | 
	
		
			
				|  |  |            :disabled="multiple"
 | 
	
		
			
				|  |  |            @click="handleDelete"
 | 
	
		
			
				|  |  |            v-hasPermi="['basicdata:goods:remove']"
 | 
	
		
			
				|  |  | -        >删除</el-button>
 | 
	
		
			
				|  |  | +          >删除</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |        </el-col>
 | 
	
		
			
				|  |  |        <el-col :span="1.5">
 | 
	
		
			
				|  |  |          <el-button
 | 
	
	
		
			
				|  | @@ -137,25 +152,75 @@
 | 
	
		
			
				|  |  |            size="mini"
 | 
	
		
			
				|  |  |            @click="handleExport"
 | 
	
		
			
				|  |  |            v-hasPermi="['basicdata:goods:export']"
 | 
	
		
			
				|  |  | -        >导出</el-button>
 | 
	
		
			
				|  |  | +          >导出</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  |        </el-col>
 | 
	
		
			
				|  |  | -      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
 | 
	
		
			
				|  |  | +      <right-toolbar
 | 
	
		
			
				|  |  | +        :showSearch.sync="showSearch"
 | 
	
		
			
				|  |  | +        @queryTable="getList"
 | 
	
		
			
				|  |  | +      ></right-toolbar>
 | 
	
		
			
				|  |  |      </el-row>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    <el-table v-loading="loading" :data="goodsList" @selection-change="handleSelectionChange">
 | 
	
		
			
				|  |  | +    <el-table
 | 
	
		
			
				|  |  | +      v-loading="loading"
 | 
	
		
			
				|  |  | +      :data="goodsList"
 | 
	
		
			
				|  |  | +      @selection-change="handleSelectionChange"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  |        <el-table-column type="selection" width="55" align="center" />
 | 
	
		
			
				|  |  | -      <el-table-column type="index" label="序号" align="center"/>
 | 
	
		
			
				|  |  | +      <el-table-column type="index" label="序号" align="center" />
 | 
	
		
			
				|  |  |        <!--<el-table-column label="存储id" align="center" prop="fTypeid" />--><!-- 后期添加 -->
 | 
	
		
			
				|  |  | -      <el-table-column label="编号" align="center" prop="fNo" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | -      <el-table-column label="名称" align="center" prop="fName" width="120" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | -      <el-table-column label="英文名称" align="center" prop="fEnam" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | -      <el-table-column label="商品类别" align="center" prop="fTypeid" :show-overflow-tooltip="true" :formatter="fTypeidFormat"/>
 | 
	
		
			
				|  |  | -      <el-table-column label="规格" align="center" prop="fSpecs" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | -      <el-table-column label="包装规格" align="center" prop="fPackagespecs" :show-overflow-tooltip="true"  />
 | 
	
		
			
				|  |  | -      <el-table-column label="颜色" align="center" prop="fColor" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | -      <el-table-column label="海关编码" align="center" prop="fHscode" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="编号"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        prop="fNo"
 | 
	
		
			
				|  |  | +        :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="名称"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        prop="fName"
 | 
	
		
			
				|  |  | +        width="120"
 | 
	
		
			
				|  |  | +        :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="英文名称"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        prop="fEnam"
 | 
	
		
			
				|  |  | +        :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="商品类别"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        prop="fTypeid"
 | 
	
		
			
				|  |  | +        :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +        :formatter="fTypeidFormat"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="规格"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        prop="fSpecs"
 | 
	
		
			
				|  |  | +        :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="包装规格"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        prop="fPackagespecs"
 | 
	
		
			
				|  |  | +        :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="颜色"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        prop="fColor"
 | 
	
		
			
				|  |  | +        :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="海关编码"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        prop="fHscode"
 | 
	
		
			
				|  |  | +        :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  |        <el-table-column label="包装类型" align="center" prop="fPackageid" />
 | 
	
		
			
				|  |  | -      <el-table-column label="状态" align="center" prop="fStatus" >
 | 
	
		
			
				|  |  | +      <el-table-column label="状态" align="center" prop="fStatus">
 | 
	
		
			
				|  |  |          <template slot-scope="scope">
 | 
	
		
			
				|  |  |            <el-switch
 | 
	
		
			
				|  |  |              v-model="scope.row.fStatus"
 | 
	
	
		
			
				|  | @@ -165,8 +230,18 @@
 | 
	
		
			
				|  |  |            ></el-switch>
 | 
	
		
			
				|  |  |          </template>
 | 
	
		
			
				|  |  |        </el-table-column>
 | 
	
		
			
				|  |  | -      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
 | 
	
		
			
				|  |  | -      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="备注"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        prop="remark"
 | 
	
		
			
				|  |  | +        :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +      <el-table-column
 | 
	
		
			
				|  |  | +        label="操作"
 | 
	
		
			
				|  |  | +        align="center"
 | 
	
		
			
				|  |  | +        class-name="small-padding fixed-width"
 | 
	
		
			
				|  |  | +        width="100"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  |          <template slot-scope="scope">
 | 
	
		
			
				|  |  |            <el-button
 | 
	
		
			
				|  |  |              size="mini"
 | 
	
	
		
			
				|  | @@ -174,20 +249,22 @@
 | 
	
		
			
				|  |  |              icon="el-icon-edit"
 | 
	
		
			
				|  |  |              @click="handleUpdate(scope.row)"
 | 
	
		
			
				|  |  |              v-hasPermi="['basicdata:goods:edit']"
 | 
	
		
			
				|  |  | -          >修改</el-button>
 | 
	
		
			
				|  |  | +            >修改</el-button
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  |            <el-button
 | 
	
		
			
				|  |  |              size="mini"
 | 
	
		
			
				|  |  |              type="text"
 | 
	
		
			
				|  |  |              icon="el-icon-delete"
 | 
	
		
			
				|  |  |              @click="handleDelete(scope.row)"
 | 
	
		
			
				|  |  |              v-hasPermi="['basicdata:goods:remove']"
 | 
	
		
			
				|  |  | -          >删除</el-button>
 | 
	
		
			
				|  |  | +            >删除</el-button
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  |          </template>
 | 
	
		
			
				|  |  |        </el-table-column>
 | 
	
		
			
				|  |  |      </el-table>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      <pagination
 | 
	
		
			
				|  |  | -      v-show="total>0"
 | 
	
		
			
				|  |  | +      v-show="total > 0"
 | 
	
		
			
				|  |  |        :total="total"
 | 
	
		
			
				|  |  |        :page.sync="queryParams.pageNum"
 | 
	
		
			
				|  |  |        :limit.sync="queryParams.pageSize"
 | 
	
	
		
			
				|  | @@ -198,18 +275,39 @@
 | 
	
		
			
				|  |  |      <el-dialog
 | 
	
		
			
				|  |  |        v-dialogDrag
 | 
	
		
			
				|  |  |        :fullscreen="dialogFull"
 | 
	
		
			
				|  |  | -      width="80%" :title="title"
 | 
	
		
			
				|  |  | +      width="80%"
 | 
	
		
			
				|  |  | +      :title="title"
 | 
	
		
			
				|  |  |        :visible.sync="open"
 | 
	
		
			
				|  |  |        :close-on-click-modal="false"
 | 
	
		
			
				|  |  | -      append-to-body>
 | 
	
		
			
				|  |  | +      append-to-body
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  |        <template slot="title">
 | 
	
		
			
				|  |  |          <div class="avue-crud__dialog__header">
 | 
	
		
			
				|  |  | -            <span class="el-dialog__title">
 | 
	
		
			
				|  |  | -            <span style="display:inline-block;width:3px;height:20px;margin-right:5px; float: left;margin-top:2px"></span>
 | 
	
		
			
				|  |  | +          <span class="el-dialog__title">
 | 
	
		
			
				|  |  | +            <span
 | 
	
		
			
				|  |  | +              style="
 | 
	
		
			
				|  |  | +                display: inline-block;
 | 
	
		
			
				|  |  | +                width: 3px;
 | 
	
		
			
				|  |  | +                height: 20px;
 | 
	
		
			
				|  |  | +                margin-right: 5px;
 | 
	
		
			
				|  |  | +                float: left;
 | 
	
		
			
				|  |  | +                margin-top: 2px;
 | 
	
		
			
				|  |  | +              "
 | 
	
		
			
				|  |  | +            ></span>
 | 
	
		
			
				|  |  |              添加商品详情
 | 
	
		
			
				|  |  | -            </span>
 | 
	
		
			
				|  |  | +          </span>
 | 
	
		
			
				|  |  |            <div class="avue-crud__dialog__menu enlarge" @click="full">
 | 
	
		
			
				|  |  | -            <i  style="cursor: pointer;display: block;width:12px;height:12px;border:1px solid #909399;border-top:3px solid #909399;margin-top: -3px;"></i>
 | 
	
		
			
				|  |  | +            <i
 | 
	
		
			
				|  |  | +              style="
 | 
	
		
			
				|  |  | +                cursor: pointer;
 | 
	
		
			
				|  |  | +                display: block;
 | 
	
		
			
				|  |  | +                width: 12px;
 | 
	
		
			
				|  |  | +                height: 12px;
 | 
	
		
			
				|  |  | +                border: 1px solid #909399;
 | 
	
		
			
				|  |  | +                border-top: 3px solid #909399;
 | 
	
		
			
				|  |  | +                margin-top: -3px;
 | 
	
		
			
				|  |  | +              "
 | 
	
		
			
				|  |  | +            ></i>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |        </template>
 | 
	
	
		
			
				|  | @@ -247,7 +345,10 @@
 | 
	
		
			
				|  |  |          <el-row>
 | 
	
		
			
				|  |  |            <el-col :span="12">
 | 
	
		
			
				|  |  |              <el-form-item label="包装规格" prop="fPackagespecs">
 | 
	
		
			
				|  |  | -              <el-input v-model="form.fPackagespecs" placeholder="请输入包装规格" />
 | 
	
		
			
				|  |  | +              <el-input
 | 
	
		
			
				|  |  | +                v-model="form.fPackagespecs"
 | 
	
		
			
				|  |  | +                placeholder="请输入包装规格"
 | 
	
		
			
				|  |  | +              />
 | 
	
		
			
				|  |  |              </el-form-item>
 | 
	
		
			
				|  |  |            </el-col>
 | 
	
		
			
				|  |  |            <el-col :span="12">
 | 
	
	
		
			
				|  | @@ -265,7 +366,10 @@
 | 
	
		
			
				|  |  |            </el-col>
 | 
	
		
			
				|  |  |            <el-col :span="12">
 | 
	
		
			
				|  |  |              <el-form-item label="包装类型" prop="fPackageid">
 | 
	
		
			
				|  |  | -              <el-input v-model="form.fPackageid" placeholder="请输入包装类型" />
 | 
	
		
			
				|  |  | +              <el-input
 | 
	
		
			
				|  |  | +                v-model="form.fPackageid"
 | 
	
		
			
				|  |  | +                placeholder="请输入包装类型"
 | 
	
		
			
				|  |  | +              />
 | 
	
		
			
				|  |  |              </el-form-item>
 | 
	
		
			
				|  |  |            </el-col>
 | 
	
		
			
				|  |  |          </el-row>
 | 
	
	
		
			
				|  | @@ -281,7 +385,8 @@
 | 
	
		
			
				|  |  |                    v-for="dict in statusOptions"
 | 
	
		
			
				|  |  |                    :key="dict.dictValue"
 | 
	
		
			
				|  |  |                    :label="dict.dictValue"
 | 
	
		
			
				|  |  | -                >{{dict.dictLabel}}</el-radio>
 | 
	
		
			
				|  |  | +                  >{{ dict.dictLabel }}</el-radio
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  |                </el-radio-group>
 | 
	
		
			
				|  |  |              </el-form-item>
 | 
	
		
			
				|  |  |            </el-col>
 | 
	
	
		
			
				|  | @@ -298,10 +403,23 @@
 | 
	
		
			
				|  |  |              </el-form-item>
 | 
	
		
			
				|  |  |            </el-col>
 | 
	
		
			
				|  |  |          </el-row>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          <el-form-item label="备注" prop="remark">
 | 
	
		
			
				|  |  | -          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
 | 
	
		
			
				|  |  | +          <el-input
 | 
	
		
			
				|  |  | +            v-model="form.remark"
 | 
	
		
			
				|  |  | +            type="textarea"
 | 
	
		
			
				|  |  | +            placeholder="请输入内容"
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  |          </el-form-item>
 | 
	
		
			
				|  |  | +        <el-row>
 | 
	
		
			
				|  |  | +          <el-col :span="12">
 | 
	
		
			
				|  |  | +            <el-form-item label="箱号">
 | 
	
		
			
				|  |  | +              <el-radio-group v-model="form.ifCntrno">
 | 
	
		
			
				|  |  | +                <el-radio label="1">是</el-radio>
 | 
	
		
			
				|  |  | +                <el-radio label="0">否</el-radio>
 | 
	
		
			
				|  |  | +              </el-radio-group>
 | 
	
		
			
				|  |  | +            </el-form-item>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +        </el-row>
 | 
	
		
			
				|  |  |        </el-form>
 | 
	
		
			
				|  |  |        <div slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  |          <el-button type="primary" @click="submitForm">确 定</el-button>
 | 
	
	
		
			
				|  | @@ -312,295 +430,312 @@
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  | -  import { listGoods, getGoods, delGoods, addGoods, updateGoods,changeGoodsStatus, exportGoods } from "@/api/basicdata/goods";
 | 
	
		
			
				|  |  | -  import Vue from 'vue'
 | 
	
		
			
				|  |  | -  Vue.directive('dialogDrag', {
 | 
	
		
			
				|  |  | -    bind(el, binding, vnode, oldVnode) {
 | 
	
		
			
				|  |  | -      const dialogHeaderEl = el.querySelector('.el-dialog__header')
 | 
	
		
			
				|  |  | -      const dragDom = el.querySelector('.el-dialog')
 | 
	
		
			
				|  |  | -      const enlarge = el.querySelector('.enlarge')
 | 
	
		
			
				|  |  | -      dialogHeaderEl.style.cursor = 'move'
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  listGoods,
 | 
	
		
			
				|  |  | +  getGoods,
 | 
	
		
			
				|  |  | +  delGoods,
 | 
	
		
			
				|  |  | +  addGoods,
 | 
	
		
			
				|  |  | +  updateGoods,
 | 
	
		
			
				|  |  | +  changeGoodsStatus,
 | 
	
		
			
				|  |  | +  exportGoods,
 | 
	
		
			
				|  |  | +} from "@/api/basicdata/goods";
 | 
	
		
			
				|  |  | +import Vue from "vue";
 | 
	
		
			
				|  |  | +Vue.directive("dialogDrag", {
 | 
	
		
			
				|  |  | +  bind(el, binding, vnode, oldVnode) {
 | 
	
		
			
				|  |  | +    const dialogHeaderEl = el.querySelector(".el-dialog__header");
 | 
	
		
			
				|  |  | +    const dragDom = el.querySelector(".el-dialog");
 | 
	
		
			
				|  |  | +    const enlarge = el.querySelector(".enlarge");
 | 
	
		
			
				|  |  | +    dialogHeaderEl.style.cursor = "move";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
 | 
	
		
			
				|  |  | -      const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)
 | 
	
		
			
				|  |  | -      if(enlarge){
 | 
	
		
			
				|  |  | -        enlarge.onclick = (e) => {
 | 
	
		
			
				|  |  | -          dragDom.style.top = '0px'
 | 
	
		
			
				|  |  | -          dragDom.style.left = '0px'
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      dialogHeaderEl.onmousedown = (e) => {
 | 
	
		
			
				|  |  | -        // 鼠标按下,计算当前元素距离可视区的距离
 | 
	
		
			
				|  |  | -        const disX = e.clientX - dialogHeaderEl.offsetLeft
 | 
	
		
			
				|  |  | -        const disY = e.clientY - dialogHeaderEl.offsetTop
 | 
	
		
			
				|  |  | +    // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
 | 
	
		
			
				|  |  | +    const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
 | 
	
		
			
				|  |  | +    if (enlarge) {
 | 
	
		
			
				|  |  | +      enlarge.onclick = (e) => {
 | 
	
		
			
				|  |  | +        dragDom.style.top = "0px";
 | 
	
		
			
				|  |  | +        dragDom.style.left = "0px";
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    dialogHeaderEl.onmousedown = (e) => {
 | 
	
		
			
				|  |  | +      // 鼠标按下,计算当前元素距离可视区的距离
 | 
	
		
			
				|  |  | +      const disX = e.clientX - dialogHeaderEl.offsetLeft;
 | 
	
		
			
				|  |  | +      const disY = e.clientY - dialogHeaderEl.offsetTop;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        // 获取到的值带px 正则匹配替换
 | 
	
		
			
				|  |  | -        let styL, styT
 | 
	
		
			
				|  |  | +      // 获取到的值带px 正则匹配替换
 | 
	
		
			
				|  |  | +      let styL, styT;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
 | 
	
		
			
				|  |  | -        if (sty.left.includes('%')) {
 | 
	
		
			
				|  |  | -          styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100)
 | 
	
		
			
				|  |  | -          styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100)
 | 
	
		
			
				|  |  | -        } else {
 | 
	
		
			
				|  |  | -          styL = +sty.left.replace(/\px/g, '')
 | 
	
		
			
				|  |  | -          styT = +sty.top.replace(/\px/g, '')
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +      // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
 | 
	
		
			
				|  |  | +      if (sty.left.includes("%")) {
 | 
	
		
			
				|  |  | +        styL =
 | 
	
		
			
				|  |  | +          +document.body.clientWidth * (+sty.left.replace(/\%/g, "") / 100);
 | 
	
		
			
				|  |  | +        styT =
 | 
	
		
			
				|  |  | +          +document.body.clientHeight * (+sty.top.replace(/\%/g, "") / 100);
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        styL = +sty.left.replace(/\px/g, "");
 | 
	
		
			
				|  |  | +        styT = +sty.top.replace(/\px/g, "");
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        document.onmousemove = function(e) {
 | 
	
		
			
				|  |  | -          // 通过事件委托,计算移动的距离
 | 
	
		
			
				|  |  | -          const l = e.clientX - disX
 | 
	
		
			
				|  |  | -          const t = e.clientY - disY
 | 
	
		
			
				|  |  | +      document.onmousemove = function (e) {
 | 
	
		
			
				|  |  | +        // 通过事件委托,计算移动的距离
 | 
	
		
			
				|  |  | +        const l = e.clientX - disX;
 | 
	
		
			
				|  |  | +        const t = e.clientY - disY;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          // 移动当前元素
 | 
	
		
			
				|  |  | +        // 移动当前元素
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -          if ((t + styT) >= 0){
 | 
	
		
			
				|  |  | -            dragDom.style.top = `${t + styT}px`
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -          dragDom.style.left = `${l + styL}px`
 | 
	
		
			
				|  |  | -          // 将此时的位置传出去
 | 
	
		
			
				|  |  | -          // binding.value({x:e.pageX,y:e.pageY})
 | 
	
		
			
				|  |  | +        if (t + styT >= 0) {
 | 
	
		
			
				|  |  | +          dragDom.style.top = `${t + styT}px`;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        dragDom.style.left = `${l + styL}px`;
 | 
	
		
			
				|  |  | +        // 将此时的位置传出去
 | 
	
		
			
				|  |  | +        // binding.value({x:e.pageX,y:e.pageY})
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        document.onmouseup = function(e) {
 | 
	
		
			
				|  |  | -          document.onmousemove = null
 | 
	
		
			
				|  |  | -          document.onmouseup = null
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  })
 | 
	
		
			
				|  |  | +      document.onmouseup = function (e) {
 | 
	
		
			
				|  |  | +        document.onmousemove = null;
 | 
	
		
			
				|  |  | +        document.onmouseup = null;
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +});
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  export default {
 | 
	
		
			
				|  |  | -    name: "Goods",
 | 
	
		
			
				|  |  | -    components: {
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    data() {
 | 
	
		
			
				|  |  | -      return {
 | 
	
		
			
				|  |  | -        //全屏放大
 | 
	
		
			
				|  |  | -        dialogFull:false,
 | 
	
		
			
				|  |  | -        // 遮罩层
 | 
	
		
			
				|  |  | -        loading: true,
 | 
	
		
			
				|  |  | -        // 选中数组
 | 
	
		
			
				|  |  | -        ids: [],
 | 
	
		
			
				|  |  | -        // 非单个禁用
 | 
	
		
			
				|  |  | -        single: true,
 | 
	
		
			
				|  |  | -        // 非多个禁用
 | 
	
		
			
				|  |  | -        multiple: true,
 | 
	
		
			
				|  |  | -        // 显示搜索条件
 | 
	
		
			
				|  |  | -        showSearch: true,
 | 
	
		
			
				|  |  | -        // 总条数
 | 
	
		
			
				|  |  | -        total: 0,
 | 
	
		
			
				|  |  | -        // 商品详情表格数据
 | 
	
		
			
				|  |  | -        goodsList: [],
 | 
	
		
			
				|  |  | -        // 弹出层标题
 | 
	
		
			
				|  |  | -        title: "",
 | 
	
		
			
				|  |  | -        // 是否显示弹出层
 | 
	
		
			
				|  |  | -        open: false,
 | 
	
		
			
				|  |  | -        // 备注字典
 | 
	
		
			
				|  |  | -        fIdOptions: [],
 | 
	
		
			
				|  |  | -        // 状态数据字典
 | 
	
		
			
				|  |  | -        statusOptions: [],
 | 
	
		
			
				|  |  | -        // 数据字典
 | 
	
		
			
				|  |  | -        fTypeidOptions: [],
 | 
	
		
			
				|  |  | -        // 删除状态字典
 | 
	
		
			
				|  |  | -        delFlagOptions: [],
 | 
	
		
			
				|  |  | -        // 查询参数
 | 
	
		
			
				|  |  | -        queryParams: {
 | 
	
		
			
				|  |  | -          pageNum: 1,
 | 
	
		
			
				|  |  | -          pageSize: 10,
 | 
	
		
			
				|  |  | -          fTypeid: null,
 | 
	
		
			
				|  |  | -          fNo: null,
 | 
	
		
			
				|  |  | -          fName: null,
 | 
	
		
			
				|  |  | -          fEnam: null,
 | 
	
		
			
				|  |  | -          fSpecs: null,
 | 
	
		
			
				|  |  | -          fPackagespecs: null,
 | 
	
		
			
				|  |  | -          fColor: null,
 | 
	
		
			
				|  |  | -          fHscode: null,
 | 
	
		
			
				|  |  | -          fPackageid: null,
 | 
	
		
			
				|  |  | -          fStatus: null,
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        // 表单参数
 | 
	
		
			
				|  |  | -        form: {},
 | 
	
		
			
				|  |  | -        // 表单校验
 | 
	
		
			
				|  |  | -        rules: {
 | 
	
		
			
				|  |  | -          /*fTypeid: [
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: "Goods",
 | 
	
		
			
				|  |  | +  components: {},
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      //全屏放大
 | 
	
		
			
				|  |  | +      dialogFull: false,
 | 
	
		
			
				|  |  | +      // 遮罩层
 | 
	
		
			
				|  |  | +      loading: true,
 | 
	
		
			
				|  |  | +      // 选中数组
 | 
	
		
			
				|  |  | +      ids: [],
 | 
	
		
			
				|  |  | +      // 非单个禁用
 | 
	
		
			
				|  |  | +      single: true,
 | 
	
		
			
				|  |  | +      // 非多个禁用
 | 
	
		
			
				|  |  | +      multiple: true,
 | 
	
		
			
				|  |  | +      // 显示搜索条件
 | 
	
		
			
				|  |  | +      showSearch: true,
 | 
	
		
			
				|  |  | +      // 总条数
 | 
	
		
			
				|  |  | +      total: 0,
 | 
	
		
			
				|  |  | +      // 商品详情表格数据
 | 
	
		
			
				|  |  | +      goodsList: [],
 | 
	
		
			
				|  |  | +      // 弹出层标题
 | 
	
		
			
				|  |  | +      title: "",
 | 
	
		
			
				|  |  | +      // 是否显示弹出层
 | 
	
		
			
				|  |  | +      open: false,
 | 
	
		
			
				|  |  | +      // 备注字典
 | 
	
		
			
				|  |  | +      fIdOptions: [],
 | 
	
		
			
				|  |  | +      // 状态数据字典
 | 
	
		
			
				|  |  | +      statusOptions: [],
 | 
	
		
			
				|  |  | +      // 数据字典
 | 
	
		
			
				|  |  | +      fTypeidOptions: [],
 | 
	
		
			
				|  |  | +      // 删除状态字典
 | 
	
		
			
				|  |  | +      delFlagOptions: [],
 | 
	
		
			
				|  |  | +      // 查询参数
 | 
	
		
			
				|  |  | +      queryParams: {
 | 
	
		
			
				|  |  | +        pageNum: 1,
 | 
	
		
			
				|  |  | +        pageSize: 10,
 | 
	
		
			
				|  |  | +        fTypeid: null,
 | 
	
		
			
				|  |  | +        fNo: null,
 | 
	
		
			
				|  |  | +        fName: null,
 | 
	
		
			
				|  |  | +        fEnam: null,
 | 
	
		
			
				|  |  | +        fSpecs: null,
 | 
	
		
			
				|  |  | +        fPackagespecs: null,
 | 
	
		
			
				|  |  | +        fColor: null,
 | 
	
		
			
				|  |  | +        fHscode: null,
 | 
	
		
			
				|  |  | +        fPackageid: null,
 | 
	
		
			
				|  |  | +        fStatus: null,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      // 表单参数
 | 
	
		
			
				|  |  | +      form: {},
 | 
	
		
			
				|  |  | +      // 表单校验
 | 
	
		
			
				|  |  | +      rules: {
 | 
	
		
			
				|  |  | +        /*fTypeid: [
 | 
	
		
			
				|  |  |              { required: true, message: "存储id 显示名称 下拉选择类别,一个商品名称对应一个类别,对应t_goodtype的f_id不能为空", trigger: "blur" }
 | 
	
		
			
				|  |  |            ],*/
 | 
	
		
			
				|  |  | -          fNo: [
 | 
	
		
			
				|  |  | -            { required: true, message: "编号不能为空", trigger: "blur" }
 | 
	
		
			
				|  |  | -          ],
 | 
	
		
			
				|  |  | -          fName: [
 | 
	
		
			
				|  |  | -            { required: true, message: "名称不能为空", trigger: "blur" }
 | 
	
		
			
				|  |  | -          ],
 | 
	
		
			
				|  |  | -          fTypeid: [
 | 
	
		
			
				|  |  | -            { required: true, message: "商品类别不能为空", trigger: "blur" }
 | 
	
		
			
				|  |  | -          ],
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      };
 | 
	
		
			
				|  |  | +        fNo: [{ required: true, message: "编号不能为空", trigger: "blur" }],
 | 
	
		
			
				|  |  | +        fName: [{ required: true, message: "名称不能为空", trigger: "blur" }],
 | 
	
		
			
				|  |  | +        fTypeid: [
 | 
	
		
			
				|  |  | +          { required: true, message: "商品类别不能为空", trigger: "blur" },
 | 
	
		
			
				|  |  | +        ],
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  created() {
 | 
	
		
			
				|  |  | +    this.getList();
 | 
	
		
			
				|  |  | +    this.getDicts("data_customer_category").then((response) => {
 | 
	
		
			
				|  |  | +      this.fIdOptions = response.data;
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    this.getDicts("data_delete_state").then((response) => {
 | 
	
		
			
				|  |  | +      this.delFlagOptions = response.data;
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    this.getDicts("sys_normal_disable").then((response) => {
 | 
	
		
			
				|  |  | +      this.statusOptions = response.data;
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    this.getDicts("data_goods_category").then((response) => {
 | 
	
		
			
				|  |  | +      this.fTypeidOptions = response.data;
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    full() {
 | 
	
		
			
				|  |  | +      this.dialogFull = !this.dialogFull;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    created() {
 | 
	
		
			
				|  |  | -      this.getList();
 | 
	
		
			
				|  |  | -      this.getDicts("data_customer_category").then(response => {
 | 
	
		
			
				|  |  | -        this.fIdOptions = response.data;
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -      this.getDicts("data_delete_state").then(response => {
 | 
	
		
			
				|  |  | -        this.delFlagOptions = response.data;
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -      this.getDicts("sys_normal_disable").then(response => {
 | 
	
		
			
				|  |  | -        this.statusOptions = response.data;
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -      this.getDicts("data_goods_category").then(response => {
 | 
	
		
			
				|  |  | -        this.fTypeidOptions = response.data;
 | 
	
		
			
				|  |  | +    /** 查询商品详情列表 */
 | 
	
		
			
				|  |  | +    getList() {
 | 
	
		
			
				|  |  | +      this.loading = true;
 | 
	
		
			
				|  |  | +      listGoods(this.queryParams).then((response) => {
 | 
	
		
			
				|  |  | +        this.goodsList = response.rows;
 | 
	
		
			
				|  |  | +        this.total = response.total;
 | 
	
		
			
				|  |  | +        this.loading = false;
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    methods: {
 | 
	
		
			
				|  |  | -      full(){
 | 
	
		
			
				|  |  | -        this.dialogFull = !this.dialogFull
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 查询商品详情列表 */
 | 
	
		
			
				|  |  | -      getList() {
 | 
	
		
			
				|  |  | -        this.loading = true;
 | 
	
		
			
				|  |  | -        listGoods(this.queryParams).then(response => {
 | 
	
		
			
				|  |  | -          this.goodsList = response.rows;
 | 
	
		
			
				|  |  | -          this.total = response.total;
 | 
	
		
			
				|  |  | -          this.loading = false;
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      // 名称字典翻译
 | 
	
		
			
				|  |  | -      fIdFormat(row, column) {
 | 
	
		
			
				|  |  | -        return this.selectDictLabel(this.fIdOptions, row.fId);
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      // 货物类别,字典翻译
 | 
	
		
			
				|  |  | -      fTypeidFormat(row, column) {
 | 
	
		
			
				|  |  | -        return this.selectDictLabel(this.fTypeidOptions, row.fTypeid)
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      // 删除状态字典翻译
 | 
	
		
			
				|  |  | -      delFlagFormat(row, column) {
 | 
	
		
			
				|  |  | -        return this.selectDictLabel(this.delFlagOptions, row.delFlag);
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      // 取消按钮
 | 
	
		
			
				|  |  | -      cancel() {
 | 
	
		
			
				|  |  | -        this.open = false;
 | 
	
		
			
				|  |  | -        this.reset();
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      // 表单重置
 | 
	
		
			
				|  |  | -      reset() {
 | 
	
		
			
				|  |  | -        this.form = {
 | 
	
		
			
				|  |  | -          fId: null,
 | 
	
		
			
				|  |  | -         /* fTypeid: null, 下拉框 后期修改  */
 | 
	
		
			
				|  |  | -          fNo: null,
 | 
	
		
			
				|  |  | -          fName: null,
 | 
	
		
			
				|  |  | -          fEnam: null,
 | 
	
		
			
				|  |  | -          fSpecs: null,
 | 
	
		
			
				|  |  | -          fPackagespecs: null,
 | 
	
		
			
				|  |  | -          fColor: null,
 | 
	
		
			
				|  |  | -          fHscode: null,
 | 
	
		
			
				|  |  | -          fPackageid: null,
 | 
	
		
			
				|  |  | -          fStatus: "0",
 | 
	
		
			
				|  |  | -          delFlag: null,
 | 
	
		
			
				|  |  | -          createBy: null,
 | 
	
		
			
				|  |  | -          createTime: null,
 | 
	
		
			
				|  |  | -          updateBy: null,
 | 
	
		
			
				|  |  | -          updateTime: null,
 | 
	
		
			
				|  |  | -          remark: null
 | 
	
		
			
				|  |  | -        };
 | 
	
		
			
				|  |  | -        this.resetForm("form");
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      // 状态修改
 | 
	
		
			
				|  |  | -      handleStatusChange(row) {
 | 
	
		
			
				|  |  | -        let text = row.fStatus === "0" ? "启用" : "停用";
 | 
	
		
			
				|  |  | -        this.$confirm('确认要"' + text + '""' + row.fName + '"吗?', "警告", {
 | 
	
		
			
				|  |  | -          confirmButtonText: "确定",
 | 
	
		
			
				|  |  | -          cancelButtonText: "取消",
 | 
	
		
			
				|  |  | -          type: "warning"
 | 
	
		
			
				|  |  | -        }).then(function() {
 | 
	
		
			
				|  |  | +    // 名称字典翻译
 | 
	
		
			
				|  |  | +    fIdFormat(row, column) {
 | 
	
		
			
				|  |  | +      return this.selectDictLabel(this.fIdOptions, row.fId);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 货物类别,字典翻译
 | 
	
		
			
				|  |  | +    fTypeidFormat(row, column) {
 | 
	
		
			
				|  |  | +      return this.selectDictLabel(this.fTypeidOptions, row.fTypeid);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 删除状态字典翻译
 | 
	
		
			
				|  |  | +    delFlagFormat(row, column) {
 | 
	
		
			
				|  |  | +      return this.selectDictLabel(this.delFlagOptions, row.delFlag);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 取消按钮
 | 
	
		
			
				|  |  | +    cancel() {
 | 
	
		
			
				|  |  | +      this.open = false;
 | 
	
		
			
				|  |  | +      this.reset();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 表单重置
 | 
	
		
			
				|  |  | +    reset() {
 | 
	
		
			
				|  |  | +      this.form = {
 | 
	
		
			
				|  |  | +        fId: null,
 | 
	
		
			
				|  |  | +        /* fTypeid: null, 下拉框 后期修改  */
 | 
	
		
			
				|  |  | +        fNo: null,
 | 
	
		
			
				|  |  | +        fName: null,
 | 
	
		
			
				|  |  | +        fEnam: null,
 | 
	
		
			
				|  |  | +        fSpecs: null,
 | 
	
		
			
				|  |  | +        fPackagespecs: null,
 | 
	
		
			
				|  |  | +        fColor: null,
 | 
	
		
			
				|  |  | +        fHscode: null,
 | 
	
		
			
				|  |  | +        fPackageid: null,
 | 
	
		
			
				|  |  | +        fStatus: "0",
 | 
	
		
			
				|  |  | +        delFlag: null,
 | 
	
		
			
				|  |  | +        createBy: null,
 | 
	
		
			
				|  |  | +        createTime: null,
 | 
	
		
			
				|  |  | +        updateBy: null,
 | 
	
		
			
				|  |  | +        updateTime: null,
 | 
	
		
			
				|  |  | +        remark: null,
 | 
	
		
			
				|  |  | +        ifCntrno:"0",
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      this.resetForm("form");
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 状态修改
 | 
	
		
			
				|  |  | +    handleStatusChange(row) {
 | 
	
		
			
				|  |  | +      let text = row.fStatus === "0" ? "启用" : "停用";
 | 
	
		
			
				|  |  | +      this.$confirm('确认要"' + text + '""' + row.fName + '"吗?', "警告", {
 | 
	
		
			
				|  |  | +        confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +        cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +        type: "warning",
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +        .then(function () {
 | 
	
		
			
				|  |  |            return changeGoodsStatus(row.fId, row.fStatus);
 | 
	
		
			
				|  |  | -        }).then(() => {
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .then(() => {
 | 
	
		
			
				|  |  |            this.msgSuccess(text + "成功");
 | 
	
		
			
				|  |  | -        }).catch(function() {
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .catch(function () {
 | 
	
		
			
				|  |  |            row.fStatus = row.fStatus === "0" ? "1" : "0";
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 搜索按钮操作 */
 | 
	
		
			
				|  |  | -      handleQuery() {
 | 
	
		
			
				|  |  | -        this.queryParams.pageNum = 1;
 | 
	
		
			
				|  |  | -        this.getList();
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 重置按钮操作 */
 | 
	
		
			
				|  |  | -      resetQuery() {
 | 
	
		
			
				|  |  | -        this.resetForm("queryForm");
 | 
	
		
			
				|  |  | -        this.handleQuery();
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      // 多选框选中数据
 | 
	
		
			
				|  |  | -      handleSelectionChange(selection) {
 | 
	
		
			
				|  |  | -        this.ids = selection.map(item => item.fId)
 | 
	
		
			
				|  |  | -        this.single = selection.length!==1
 | 
	
		
			
				|  |  | -        this.multiple = !selection.length
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 新增按钮操作 */
 | 
	
		
			
				|  |  | -      handleAdd() {
 | 
	
		
			
				|  |  | -        this.reset();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 搜索按钮操作 */
 | 
	
		
			
				|  |  | +    handleQuery() {
 | 
	
		
			
				|  |  | +      this.queryParams.pageNum = 1;
 | 
	
		
			
				|  |  | +      this.getList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 重置按钮操作 */
 | 
	
		
			
				|  |  | +    resetQuery() {
 | 
	
		
			
				|  |  | +      this.resetForm("queryForm");
 | 
	
		
			
				|  |  | +      this.handleQuery();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 多选框选中数据
 | 
	
		
			
				|  |  | +    handleSelectionChange(selection) {
 | 
	
		
			
				|  |  | +      this.ids = selection.map((item) => item.fId);
 | 
	
		
			
				|  |  | +      this.single = selection.length !== 1;
 | 
	
		
			
				|  |  | +      this.multiple = !selection.length;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 新增按钮操作 */
 | 
	
		
			
				|  |  | +    handleAdd() {
 | 
	
		
			
				|  |  | +      this.reset();
 | 
	
		
			
				|  |  | +      this.open = true;
 | 
	
		
			
				|  |  | +      this.title = "添加商品详情";
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 修改按钮操作 */
 | 
	
		
			
				|  |  | +    handleUpdate(row) {
 | 
	
		
			
				|  |  | +      this.reset();
 | 
	
		
			
				|  |  | +      const fId = row.fId || this.ids;
 | 
	
		
			
				|  |  | +      getGoods(fId).then((response) => {
 | 
	
		
			
				|  |  | +        this.form = response.data;
 | 
	
		
			
				|  |  |          this.open = true;
 | 
	
		
			
				|  |  | -        this.title = "添加商品详情";
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 修改按钮操作 */
 | 
	
		
			
				|  |  | -      handleUpdate(row) {
 | 
	
		
			
				|  |  | -        this.reset();
 | 
	
		
			
				|  |  | -        const fId = row.fId || this.ids
 | 
	
		
			
				|  |  | -        getGoods(fId).then(response => {
 | 
	
		
			
				|  |  | -          this.form = response.data;
 | 
	
		
			
				|  |  | -          this.open = true;
 | 
	
		
			
				|  |  | -          this.title = "修改商品详情";
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 提交按钮 */
 | 
	
		
			
				|  |  | -      submitForm() {
 | 
	
		
			
				|  |  | -        this.$refs["form"].validate(valid => {
 | 
	
		
			
				|  |  | -          if (valid) {
 | 
	
		
			
				|  |  | -            if (this.form.fId != null) {
 | 
	
		
			
				|  |  | -              updateGoods(this.form).then(response => {
 | 
	
		
			
				|  |  | -                this.msgSuccess("修改成功");
 | 
	
		
			
				|  |  | -                this.open = false;
 | 
	
		
			
				|  |  | -                this.getList();
 | 
	
		
			
				|  |  | -              });
 | 
	
		
			
				|  |  | -            } else {
 | 
	
		
			
				|  |  | -              addGoods(this.form).then(response => {
 | 
	
		
			
				|  |  | -                this.msgSuccess("新增成功");
 | 
	
		
			
				|  |  | -                this.open = false;
 | 
	
		
			
				|  |  | -                this.getList();
 | 
	
		
			
				|  |  | -              });
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +        this.title = "修改商品详情";
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 提交按钮 */
 | 
	
		
			
				|  |  | +    submitForm() {
 | 
	
		
			
				|  |  | +      this.$refs["form"].validate((valid) => {
 | 
	
		
			
				|  |  | +        if (valid) {
 | 
	
		
			
				|  |  | +          if (this.form.fId != null) {
 | 
	
		
			
				|  |  | +            updateGoods(this.form).then((response) => {
 | 
	
		
			
				|  |  | +              this.msgSuccess("修改成功");
 | 
	
		
			
				|  |  | +              this.open = false;
 | 
	
		
			
				|  |  | +              this.getList();
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            addGoods(this.form).then((response) => {
 | 
	
		
			
				|  |  | +              this.msgSuccess("新增成功");
 | 
	
		
			
				|  |  | +              this.open = false;
 | 
	
		
			
				|  |  | +              this.getList();
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 删除按钮操作 */
 | 
	
		
			
				|  |  | -      handleDelete(row) {
 | 
	
		
			
				|  |  | -        const fIds = row.fId || this.ids;
 | 
	
		
			
				|  |  | -        this.$confirm('是否确认删除商品详情编号为"' + fIds + '"的数据项?', "警告", {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 删除按钮操作 */
 | 
	
		
			
				|  |  | +    handleDelete(row) {
 | 
	
		
			
				|  |  | +      const fIds = row.fId || this.ids;
 | 
	
		
			
				|  |  | +      this.$confirm(
 | 
	
		
			
				|  |  | +        '是否确认删除商品详情编号为"' + fIds + '"的数据项?',
 | 
	
		
			
				|  |  | +        "警告",
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |            confirmButtonText: "确定",
 | 
	
		
			
				|  |  |            cancelButtonText: "取消",
 | 
	
		
			
				|  |  | -          type: "warning"
 | 
	
		
			
				|  |  | -        }).then(function() {
 | 
	
		
			
				|  |  | +          type: "warning",
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      )
 | 
	
		
			
				|  |  | +        .then(function () {
 | 
	
		
			
				|  |  |            return delGoods(fIds);
 | 
	
		
			
				|  |  | -        }).then(() => {
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .then(() => {
 | 
	
		
			
				|  |  |            this.getList();
 | 
	
		
			
				|  |  |            this.msgSuccess("删除成功");
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      /** 导出按钮操作 */
 | 
	
		
			
				|  |  | -      handleExport() {
 | 
	
		
			
				|  |  | -        const queryParams = this.queryParams;
 | 
	
		
			
				|  |  | -        this.$confirm('是否确认导出所有商品详情数据项?', "警告", {
 | 
	
		
			
				|  |  | -          confirmButtonText: "确定",
 | 
	
		
			
				|  |  | -          cancelButtonText: "取消",
 | 
	
		
			
				|  |  | -          type: "warning"
 | 
	
		
			
				|  |  | -        }).then(function() {
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /** 导出按钮操作 */
 | 
	
		
			
				|  |  | +    handleExport() {
 | 
	
		
			
				|  |  | +      const queryParams = this.queryParams;
 | 
	
		
			
				|  |  | +      this.$confirm("是否确认导出所有商品详情数据项?", "警告", {
 | 
	
		
			
				|  |  | +        confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +        cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +        type: "warning",
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +        .then(function () {
 | 
	
		
			
				|  |  |            return exportGoods(queryParams);
 | 
	
		
			
				|  |  | -        }).then(response => {
 | 
	
		
			
				|  |  | -          this.download(response.msg);
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  };
 | 
	
		
			
				|  |  | +        .then((response) => {
 | 
	
		
			
				|  |  | +          this.download(response.msg);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  <style lang="scss">
 | 
	
		
			
				|  |  |  .avue-crud__dialog__header {
 | 
	
	
		
			
				|  | @@ -615,7 +750,7 @@
 | 
	
		
			
				|  |  |    justify-content: space-between;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  .el-dialog__title {
 | 
	
		
			
				|  |  | -  color: rgba(0,0,0,.85);
 | 
	
		
			
				|  |  | +  color: rgba(0, 0, 0, 0.85);
 | 
	
		
			
				|  |  |    font-weight: 500;
 | 
	
		
			
				|  |  |    word-wrap: break-word;
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -627,7 +762,7 @@
 | 
	
		
			
				|  |  |    color: #909399;
 | 
	
		
			
				|  |  |    font-size: 15px;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | -.el-icon-full-screen{
 | 
	
		
			
				|  |  | +.el-icon-full-screen {
 | 
	
		
			
				|  |  |    cursor: pointer;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  .el-icon-full-screen:before {
 |