1
0

5 コミット fc5c48b0ea ... 9dbb418829

作者 SHA1 メッセージ 日付
  lxf 9dbb418829 1 1 年間 前
  lxf b4d8f1f522 1 1 年間 前
  lxf de65420fab 3 1 年間 前
  lxf 999554cd84 2 1 年間 前
  lxf e92c549801 1 1 年間 前

+ 371 - 255
src/components/process/order.vue

@@ -70,202 +70,220 @@
         <div style="width: 100%; padding: 0 20px">
         <div style="width: 100%; padding: 0 20px">
           <div style="margin-bottom: 10px" v-if="!formOption.disabled">
           <div style="margin-bottom: 10px" v-if="!formOption.disabled">
             <el-button type="primary" size="small" @click="clickAddProduct()">选择产品</el-button>
             <el-button type="primary" size="small" @click="clickAddProduct()">选择产品</el-button>
+            <el-button type="primary" size="small" @click="clickUploadProduct()">导入产品</el-button>
           </div>
           </div>
-          <div v-for="(item, index) in formData.data.orderSkuList" :key="index" style="margin-bottom: 20px">
-            <div style="border: 1px solid #edf0f5">
-              <el-table :data="[item]" :row-style="{ height: '35px' }" header-row-class-name="tableHeader" :cell-class-name="cellStyleName">
-                <el-table-column label="产品" width="280">
-                  <template #default="{ row }">
-                    <div style="width: 100%">
-                      <div style="line-height: 35px" v-if="!formOption.disabled">
-                        <span style="color: black; font-weight: 700">库存数量: </span>
-                        <span>{{ item.inventoryQuantity }}</span>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="color: black; font-weight: 700">商品名称: </span>
-                        <span>{{ item.wlnSkuName }}</span>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="color: black; font-weight: 700">品号: </span>
-                        <span>{{ item.code }}</span>
-                      </div>
-                      <div style="line-height: 35px; word-break: break-all">
-                        <span style="color: black; font-weight: 700">品名: </span>
-                        <span>{{ item.name }}</span>
-                      </div>
-                      <div style="line-height: 35px; display: flex">
-                        <span style="width: 37px; color: black; font-weight: 700">数量: </span>
-                        <el-form-item
-                          :prop="'orderSkuList.' + index + '.quantity'"
-                          :rules="rules.quantity"
-                          :inline-message="true"
-                          style="width: calc(100% - 37px)">
-                          <el-input-number
-                            onmousewheel="return false;"
-                            v-model="row.quantity"
-                            placeholder="数量"
-                            style="width: 100%"
-                            :controls="false"
-                            :min="0"
-                            :precision="0"
-                            @change="changeQuantity(index)" />
-                        </el-form-item>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="color: black; font-weight: 700">加工费: </span>
-                        <span>{{ item.customProcessingFee }}</span>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="color: black; font-weight: 700">代发费: </span>
-                        <span>{{ item.lssueFee }}</span>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="color: black; font-weight: 700">快递包材费: </span>
-                        <span>{{ item.deliveryMaterialsFee }}</span>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="color: black; font-weight: 700">包装人工费: </span>
-                        <span>{{ item.packingLabor }}</span>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="color: black; font-weight: 700">管理费: </span>
-                        <span>{{ item.managementFee }}</span>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="color: black; font-weight: 700">单价: </span>
-                        <span>{{ item.unitPrice }}</span>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="color: black; font-weight: 700">小计: </span>
-                        <span>{{ getSubtotal(item) }}</span>
-                      </div>
-                      <div style="line-height: 35px">
-                        <span style="width: 37px; color: black; font-weight: 700">打印: </span>
-                        <el-form-item
-                          :prop="'orderSkuList.' + index + '.printType'"
-                          :rules="rules.printType"
-                          :inline-message="true"
-                          style="width: calc(100% - 37px)">
-                          <el-radio-group v-model="item.printType" @change="changeQuantity(index)">
-                            <el-radio v-for="(itemType, index) in printType" :key="index" :label="itemType.dictKey">{{ itemType.dictValue }}</el-radio>
-                          </el-radio-group>
-                        </el-form-item>
-                      </div>
-                    </div>
-                  </template>
-                </el-table-column>
-                <el-table-column label="产品图稿" width="320">
-                  <template #default="{ row }">
-                    <div style="display: flex; width: 100%">
-                      <div style="width: 80px">设计图:</div>
-                      <div style="width: calc(100% - 80px)">
-                        <el-image
-                          fit="scale-down"
-                          style="width: 148px; height: 148px; margin-right: 10px; cursor: pointer"
-                          v-if="row.blueprint"
-                          :src="row.blueprint"
-                          @click="openFile(row.blueprint)" />
-                        <div style="display: flex" v-if="!formOption.disabled">
-                          <el-button type="primary" @click="clickDrawingFile(index)" text>选择图稿</el-button>
-                          <el-upload
-                            :show-file-list="false"
-                            action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                            :data="uploadImgData"
-                            :before-upload="uploadImgFile"
-                            :on-success="
-                              (response, uploadFile) => {
-                                return handleImgSuccess(uploadFile, index);
-                              }
-                            "
-                            style="width: 100%"
-                            accept=".docx,.jpg,.jpeg,.png,.GIF,.JPG,.PNG">
-                            <el-button type="primary" style="margin-left: 12px" text>上传图片</el-button>
-                          </el-upload>
+          <el-collapse v-model="activeNames">
+            <div v-for="(item, index) in formData.data.orderSkuList" :key="index" style="margin-bottom: 20px">
+              <div style="border: 1px solid #edf0f5">
+                <el-table :data="[item]" :row-style="{ height: '35px' }" header-row-class-name="tableHeader" :cell-class-name="cellStyleName">
+                  <el-table-column label="产品" width="300">
+                    <template #default="{ row }">
+                      <div style="width: 100%">
+                        <div style="line-height: 35px" v-if="!(route.query && route.query.detailId)">
+                          <span style="color: black; font-weight: 700">库存数量: </span>
+                          <span>{{ item.inventoryQuantity }}</span>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="color: black; font-weight: 700">商品名称: </span>
+                          <span>{{ item.wlnSkuName }}</span>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="color: black; font-weight: 700">品号: </span>
+                          <span>{{ item.code }}</span>
+                        </div>
+                        <div style="line-height: 35px; word-break: break-all">
+                          <span style="color: black; font-weight: 700">品名: </span>
+                          <span>{{ item.name }}</span>
+                        </div>
+                        <div style="line-height: 35px; display: flex">
+                          <span style="width: 90px; color: black; font-weight: 700">E10成品品号: </span>
+                          <el-form-item
+                            :prop="'orderSkuList.' + index + '.erpCode'"
+                            :rules="rules.erpCode"
+                            :inline-message="true"
+                            style="width: calc(100% - 90px)">
+                            <el-input v-model="row.erpCode" placeholder="请输入E10成品品号" style="width: 100%" />
+                          </el-form-item>
+                        </div>
+                        <div style="line-height: 35px; display: flex">
+                          <span style="width: 52px; color: black; font-weight: 700">特征码: </span>
+                          <el-form-item
+                            :prop="'orderSkuList.' + index + '.featureCode'"
+                            :rules="rules.featureCode"
+                            :inline-message="true"
+                            style="width: calc(100% - 52px)">
+                            <el-input v-model="row.featureCode" placeholder="请输入特征码" style="width: 100%" />
+                          </el-form-item>
+                        </div>
+                        <div style="line-height: 35px; display: flex">
+                          <span style="width: 37px; color: black; font-weight: 700">数量: </span>
+                          <el-form-item
+                            :prop="'orderSkuList.' + index + '.quantity'"
+                            :rules="rules.quantity"
+                            :inline-message="true"
+                            style="width: calc(100% - 37px)">
+                            <el-input-number
+                              onmousewheel="return false;"
+                              v-model="row.quantity"
+                              placeholder="数量"
+                              style="width: 100%"
+                              :controls="false"
+                              :min="0"
+                              :precision="0"
+                              @change="changeQuantity(index, true)" />
+                          </el-form-item>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="color: black; font-weight: 700">加工费: </span>
+                          <span>{{ item.customProcessingFee }}</span>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="color: black; font-weight: 700">代发费: </span>
+                          <span>{{ item.lssueFee }}</span>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="color: black; font-weight: 700">快递包材费: </span>
+                          <span>{{ computeSingleDeliveryMaterialsFee(index) }}</span>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="color: black; font-weight: 700">包装人工费: </span>
+                          <span>{{ item.packingLabor }}</span>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="color: black; font-weight: 700">管理费: </span>
+                          <span>{{ item.managementFee }}</span>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="color: black; font-weight: 700">单价: </span>
+                          <span>{{ item.unitPrice }}</span>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="color: black; font-weight: 700">小计: </span>
+                          <span>{{ getSubtotal(item) }}</span>
+                        </div>
+                        <div style="line-height: 35px">
+                          <span style="width: 37px; color: black; font-weight: 700">打印: </span>
+                          <el-form-item
+                            :prop="'orderSkuList.' + index + '.printType'"
+                            :rules="rules.printType"
+                            :inline-message="true"
+                            style="width: calc(100% - 37px)">
+                            <el-radio-group v-model="item.printType" @change="changeQuantity(index)">
+                              <el-radio v-for="(itemType, index) in printType" :key="index" :label="itemType.dictKey">{{ itemType.dictValue }}</el-radio>
+                            </el-radio-group>
+                          </el-form-item>
                         </div>
                         </div>
                       </div>
                       </div>
-                    </div>
-                    <div style="display: flex; margin-top: 20px; width: 100%">
-                      <div style="width: 80px">图稿文件:</div>
-                      <div style="width: calc(100% - 80px)">
-                        <a
-                          style="color: #409eff; cursor: pointer; word-break: break-all; margin-right: 10px"
-                          @click="openFile(row.productionDocument)"
-                          v-if="row.productionDocument">
-                          {{ row.productionDocument }}
-                        </a>
-                        <div style="display: flex" v-if="!formOption.disabled">
-                          <el-button type="primary" @click="clickDrawingFile(index)" text>选择图稿</el-button>
-                          <el-upload
-                            :show-file-list="false"
-                            action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                            :data="uploadData"
-                            :before-upload="uploadFile"
-                            :on-success="
-                              (response, uploadFile) => {
-                                return handleSuccess(uploadFile, index);
-                              }
-                            "
-                            style="width: 100%">
-                            <el-button type="primary" style="margin-left: 12px" text>上传文件</el-button>
-                          </el-upload>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="产品图稿" width="400">
+                    <template #default="{ row }">
+                      <div style="display: flex; width: 100%">
+                        <div style="width: 80px">设计图:</div>
+                        <div style="width: calc(100% - 80px)">
+                          <el-image
+                            fit="scale-down"
+                            style="width: 148px; height: 148px; margin-right: 10px; cursor: pointer"
+                            v-if="row.blueprint"
+                            :src="row.blueprint"
+                            @click="openFile(row.blueprint)" />
+                          <div style="display: flex" v-if="!(route.query && route.query.detailId)">
+                            <el-button type="primary" @click="clickDrawingFile(index)" text>选择图稿</el-button>
+                            <el-upload
+                              :show-file-list="false"
+                              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
+                              :data="uploadImgData"
+                              :before-upload="uploadImgFile"
+                              :on-success="
+                                (response, uploadFile) => {
+                                  return handleImgSuccess(uploadFile, index);
+                                }
+                              "
+                              style="width: 100%"
+                              accept=".jpg,.jpeg,.png,.GIF,.JPG,.PNG">
+                              <el-button type="primary" style="margin-left: 12px" text>上传图片</el-button>
+                            </el-upload>
+                          </div>
                         </div>
                         </div>
                       </div>
                       </div>
-                    </div>
-                    <div style="font-weight: 700; margin-top: 20px">产品不干胶图稿</div>
-                    <div style="display: flex; width: 100%">
-                      <div style="width: 80px">不干胶图片:</div>
-                      <div style="width: calc(100% - 80px)">
-                        <el-image
-                          fit="scale-down"
-                          style="width: 148px; height: 148px; margin-right: 10px; cursor: pointer"
-                          v-if="row.selfAdhesiveStickerFile && row.selfAdhesiveStickerFile.fileUrl"
-                          :src="row.selfAdhesiveStickerFile.fileUrl"
-                          @click="openFile(row.selfAdhesiveStickerFile.fileUrl)" />
-                        <div style="display: flex" v-if="!formOption.disabled">
-                          <el-upload
-                            :show-file-list="false"
-                            action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
-                            :data="uploadAdhesiveData"
-                            :before-upload="uploadAdhesiveFile"
-                            :on-success="
-                              (response, uploadFile) => {
-                                return handleAdhesiveSuccess(uploadFile, index);
-                              }
-                            "
-                            style="width: 100%">
-                            <el-button type="primary" text>上传文件</el-button>
-                          </el-upload>
+                      <div style="display: flex; margin-top: 20px; width: 100%">
+                        <div style="width: 80px">图稿文件:</div>
+                        <div style="width: calc(100% - 80px)">
+                          <a
+                            style="color: #409eff; cursor: pointer; word-break: break-all; margin-right: 10px"
+                            @click="openFile(row.productionDocument)"
+                            v-if="row.productionDocument">
+                            {{ row.productionDocument }}
+                          </a>
+                          <div style="display: flex" v-if="!(route.query && route.query.detailId)">
+                            <el-button type="primary" @click="clickDrawingFile(index)" text>选择图稿</el-button>
+                            <el-upload
+                              :show-file-list="false"
+                              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
+                              :data="uploadData"
+                              :before-upload="uploadFile"
+                              :on-success="
+                                (response, uploadFile) => {
+                                  return handleSuccess(uploadFile, index);
+                                }
+                              "
+                              style="width: 100%">
+                              <el-button type="primary" style="margin-left: 12px" text>上传文件</el-button>
+                            </el-upload>
+                          </div>
                         </div>
                         </div>
                       </div>
                       </div>
-                    </div>
-                  </template>
-                </el-table-column>
-                <el-table-column label="包材配件/单品" min-width="600">
-                  <template #default="{ row }">
-                    <div style="width: 100%">
-                      <div style="margin-bottom: 10px" v-if="!formOption.disabled || route.query.processType == 10">
-                        <el-form label-width="0" :model="formData.data" v-if="route.query.processType == 10">
-                          <el-button type="primary" size="small" @click="clickPackingFittings(index)">选择包材配件</el-button>
-                        </el-form>
-                        <el-button type="primary" size="small" @click="clickPackingFittings(index)" v-else>选择包材配件</el-button>
+                      <div style="font-weight: 700; margin-top: 20px">产品不干胶图稿</div>
+                      <div style="display: flex; width: 100%">
+                        <div style="width: 80px">不干胶图片:</div>
+                        <div style="width: calc(100% - 80px)">
+                          <el-image
+                            fit="scale-down"
+                            style="width: 148px; height: 148px; margin-right: 10px; cursor: pointer"
+                            v-if="row.selfAdhesiveStickerFile && row.selfAdhesiveStickerFile.fileUrl"
+                            :src="row.selfAdhesiveStickerFile.fileUrl"
+                            @click="openFile(row.selfAdhesiveStickerFile.fileUrl)" />
+                          <div style="display: flex" v-if="!(route.query && route.query.detailId)">
+                            <el-upload
+                              :show-file-list="false"
+                              action="https://winfaster.obs.cn-south-1.myhuaweicloud.com"
+                              :data="uploadAdhesiveData"
+                              :before-upload="uploadAdhesiveFile"
+                              :on-success="
+                                (response, uploadFile) => {
+                                  return handleAdhesiveSuccess(uploadFile, index);
+                                }
+                              "
+                              style="width: 100%"
+                              accept=".jpg,.jpeg,.png,.GIF,.JPG,.PNG">
+                              <el-button type="primary" text>上传文件</el-button>
+                            </el-upload>
+                          </div>
+                        </div>
                       </div>
                       </div>
-                      <el-table :data="row.orderSkuBomList" :row-style="{ height: '35px' }" header-row-class-name="tableHeader">
-                        <el-table-column label="单价¥" width="70">
-                          <template #default="props">
-                            <div>
-                              <span>{{ moneyFormat(props.row.unitPrice, 2) }}</span>
-                            </div>
-                          </template>
-                        </el-table-column>
-                        <el-table-column label="数量" width="90">
-                          <template #default="props">
-                            <el-form label-width="0" :model="formData.data" v-if="route.query.processType == 10">
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="包材配件/单品" min-width="400">
+                    <template #default="{ row }">
+                      <div style="width: 100%">
+                        <div style="margin-bottom: 10px" v-if="!(route.query && route.query.detailId)">
+                          <el-button type="primary" @click="clickPackingFittings(index)">选择包材配件</el-button>
+                        </div>
+                        <el-table :data="row.orderSkuBomList" :row-style="{ height: '35px' }" header-row-class-name="tableHeader">
+                          <el-table-column label="单价¥" width="120">
+                            <template #default="props">
+                              <div>
+                                <span>{{ moneyFormat(props.row.unitPrice, 2) }}</span>
+                              </div>
+                            </template>
+                          </el-table-column>
+                          <el-table-column label="数量" width="100">
+                            <template #default="props">
                               <el-form-item
                               <el-form-item
                                 :prop="'orderSkuList.' + index + '.orderSkuBomList.' + props.$index + '.quantity'"
                                 :prop="'orderSkuList.' + index + '.orderSkuBomList.' + props.$index + '.quantity'"
                                 :rules="rules.quantity"
                                 :rules="rules.quantity"
                                 :inline-message="true"
                                 :inline-message="true"
-                                style="width: 100%"
-                                :disabled="true">
+                                style="width: 100%">
                                 <el-input-number
                                 <el-input-number
                                   onmousewheel="return false;"
                                   onmousewheel="return false;"
                                   v-model="props.row.quantity"
                                   v-model="props.row.quantity"
@@ -274,71 +292,59 @@
                                   :controls="false"
                                   :controls="false"
                                   :min="0" />
                                   :min="0" />
                               </el-form-item>
                               </el-form-item>
-                            </el-form>
-                            <el-form-item
-                              v-else
-                              :prop="'orderSkuList.' + index + '.orderSkuBomList.' + props.$index + '.quantity'"
-                              :rules="rules.quantity"
-                              :inline-message="true"
-                              style="width: 100%"
-                              :disabled="true">
-                              <el-input-number
-                                onmousewheel="return false;"
-                                v-model="props.row.quantity"
-                                placeholder="数量"
-                                style="width: 100%"
-                                :controls="false"
-                                :min="0" />
-                            </el-form-item>
-                          </template>
-                        </el-table-column>
-                        <el-table-column label="名称" prop="bomSpecName" min-width="130" />
-                        <el-table-column label="总量" width="70">
-                          <template #default="props">
-                            {{ computeQuantity(index, props.$index) }}
-                          </template>
-                        </el-table-column>
-                        <el-table-column label="小计¥" width="100">
-                          <template #default="props">
-                            {{ moneyFormat(computeMoney(index, props.$index), 2) }}
-                          </template>
-                        </el-table-column>
-                        <el-table-column label="操作" align="center" fixed="right" width="60" v-if="!formOption.disabled || route.query.processType == 10">
-                          <template #default="props">
-                            <el-form label-width="0" :model="formData.data" v-if="route.query.processType == 10">
+                            </template>
+                          </el-table-column>
+                          <el-table-column label="名称" prop="bomSpecName" min-width="150" />
+                          <el-table-column label="总量" width="80">
+                            <template #default="props">
+                              {{ computeQuantity(index, props.$index) }}
+                            </template>
+                          </el-table-column>
+                          <el-table-column label="小计¥" width="100">
+                            <template #default="props">
+                              {{ moneyFormat(computeMoney(index, props.$index), 2) }}
+                            </template>
+                          </el-table-column>
+                          <el-table-column label="操作" align="center" fixed="right" width="60" v-if="!(route.query && route.query.detailId)">
+                            <template #default="props">
                               <el-button type="danger" @click="clickDeletePackingFittings(index, props.$index)" text>删除</el-button>
                               <el-button type="danger" @click="clickDeletePackingFittings(index, props.$index)" text>删除</el-button>
-                            </el-form>
-                            <el-button type="danger" v-else @click="clickDeletePackingFittings(index, props.$index)" text>删除</el-button>
-                          </template>
-                        </el-table-column>
-                      </el-table>
-                    </div>
+                            </template>
+                          </el-table-column>
+                        </el-table>
+                      </div>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="操作" align="center" fixed="right" width="60" v-if="!(route.query && route.query.detailId)">
+                    <template #default="{}">
+                      <el-button type="danger" @click="clickDelete(index)" text>删除</el-button>
+                    </template>
+                  </el-table-column>
+                </el-table>
+                <el-collapse-item :name="index">
+                  <template #title>
+                    <span>包装</span>
                   </template>
                   </template>
-                </el-table-column>
-                <el-table-column label="包装要求" min-width="500">
-                  <template #default="{}">
-                    <div v-if="formOption.disabled">
-                      <div v-html="getStyle(item.packageRemark)"></div>
+                  <div style="display: flex; padding: 8px 10px 0px">
+                    <div style="flex: 1; padding: 0px 10px">
+                      <div>包装要求:</div>
+                      <div v-if="route.query && route.query.detailId">
+                        <div v-html="getStyle(item.packageRemark)"></div>
+                      </div>
+                      <Editor
+                        v-else
+                        :value="item.packageRemark"
+                        @updateValue="
+                          (val) => {
+                            return updatePackageRemark(val, index);
+                          }
+                        "
+                        :ref="'editor_' + index" />
                     </div>
                     </div>
-                    <Editor
-                      v-else
-                      :value="item.packageRemark"
-                      @updateValue="
-                        (val) => {
-                          return updatePackageRemark(val, index);
-                        }
-                      "
-                      :ref="'editor_' + index" />
-                  </template>
-                </el-table-column>
-                <el-table-column label="操作" align="center" fixed="right" width="60" v-if="!formOption.disabled">
-                  <template #default="{}">
-                    <el-button type="danger" @click="clickDelete(index)" text>删除</el-button>
-                  </template>
-                </el-table-column>
-              </el-table>
+                  </div>
+                </el-collapse-item>
+              </div>
             </div>
             </div>
-          </div>
+          </el-collapse>
         </div>
         </div>
       </template>
       </template>
       <template #deliveryTime>
       <template #deliveryTime>
@@ -359,13 +365,10 @@
               定制加工费: ¥{{ moneyFormat(calculatedAmount("customProcessingFee"), 2) }}
               定制加工费: ¥{{ moneyFormat(calculatedAmount("customProcessingFee"), 2) }}
             </span>
             </span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">代发费: ¥{{ moneyFormat(calculatedAmount("lssueFee"), 2) }}</span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">代发费: ¥{{ moneyFormat(calculatedAmount("lssueFee"), 2) }}</span>
-            <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">
-              快递包材费: ¥{{ moneyFormat(calculatedAmount("deliveryMaterialsFee"), 2) }}
-            </span>
+            <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">快递包材费: ¥{{ moneyFormat(computeDeliveryMaterialsFee(), 2) }} </span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包装人工费: ¥{{ moneyFormat(calculatedAmount("packingLabor"), 2) }}</span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包装人工费: ¥{{ moneyFormat(calculatedAmount("packingLabor"), 2) }}</span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包材费: ¥{{ moneyFormat(calculatedPackagingMaterialCost(), 2) }}</span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">包材费: ¥{{ moneyFormat(calculatedPackagingMaterialCost(), 2) }}</span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">管理费: ¥{{ moneyFormat(calculatedAmount("managementFee"), 2) }}</span>
             <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">管理费: ¥{{ moneyFormat(calculatedAmount("managementFee"), 2) }}</span>
-            <span style="font-weight: 700; color: #6c88f1; margin-left: 40px">外箱包装费: ¥{{ moneyFormat(calculatedOuterBoxPackingFee(), 2) }}</span>
           </div>
           </div>
           <div style="padding: 8px 0 0 0">
           <div style="padding: 8px 0 0 0">
             <span style="font-weight: 700; color: red">订单总金额(含税): ¥{{ moneyFormat(calculatedTotalAmount(), 2) }}</span>
             <span style="font-weight: 700; color: red">订单总金额(含税): ¥{{ moneyFormat(calculatedTotalAmount(), 2) }}</span>
@@ -416,6 +419,16 @@
         <el-button @click="openDrawingFile = false" size="large">关 闭</el-button>
         <el-button @click="openDrawingFile = false" size="large">关 闭</el-button>
       </template>
       </template>
     </el-dialog>
     </el-dialog>
+
+    <el-dialog title="导入产品" v-if="openUpload" v-model="openUpload" width="60%">
+      <el-upload class="upload-demo" :show-file-list="false" drag action="##" :http-request="giveawayServerLog" v-loading="loadingUpload">
+        <el-icon class="el-icon--upload"><upload-filled /></el-icon>
+        <div class="el-upload__text">拖拽文件进行上传</div>
+      </el-upload>
+      <template #footer>
+        <el-button @click="openUpload = false">关 闭</el-button>
+      </template>
+    </el-dialog>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -436,6 +449,7 @@ const props = defineProps({
 const route = useRoute();
 const route = useRoute();
 const submit = ref(null);
 const submit = ref(null);
 const departmentList = ref([]);
 const departmentList = ref([]);
+const activeNames = ref([]);
 const judgeStatus = () => {
 const judgeStatus = () => {
   if (route.query.processType == 20 || route.query.processType == 10) {
   if (route.query.processType == 20 || route.query.processType == 10) {
     return true;
     return true;
@@ -493,6 +507,13 @@ const formConfig = computed(() => {
       label: "事业部",
       label: "事业部",
       itemWidth: 25,
       itemWidth: 25,
     },
     },
+    {
+      type: "input",
+      prop: "wlnCode",
+      label: "E10单号",
+      itemType: "text",
+      itemWidth: 25,
+    },
     formOption.disabled
     formOption.disabled
       ? {}
       ? {}
       : {
       : {
@@ -593,6 +614,8 @@ const rules = ref({
   quantity: [{ required: true, message: "请输入数量", trigger: "blur" }],
   quantity: [{ required: true, message: "请输入数量", trigger: "blur" }],
   type: [{ required: true, message: "请选择订单类型", trigger: "change" }],
   type: [{ required: true, message: "请选择订单类型", trigger: "change" }],
   departmentId: [{ required: true, message: "请选择事业部", trigger: "change" }],
   departmentId: [{ required: true, message: "请选择事业部", trigger: "change" }],
+  wlnCode: [{ required: true, message: "请输入E10单号", trigger: "blur" }],
+  erpCode: [{ required: true, message: "请输入E10成品品号", trigger: "blur" }],
 });
 });
 const getDemandData = () => {
 const getDemandData = () => {
   proxy.post("/department/page", { pageNum: 1, pageSize: 999 }).then((res) => {
   proxy.post("/department/page", { pageNum: 1, pageSize: 999 }).then((res) => {
@@ -712,6 +735,8 @@ const pushProduct = async (res, SKU, row) => {
     skuSpecId: row.id,
     skuSpecId: row.id,
     bomSpecId: row.bomSpecId,
     bomSpecId: row.bomSpecId,
     quantity: undefined,
     quantity: undefined,
+    erpCode: "",
+    featureCode: "",
     customProcessingFee: "",
     customProcessingFee: "",
     customProcessingType: "",
     customProcessingType: "",
     lssueFee: "",
     lssueFee: "",
@@ -726,6 +751,7 @@ const pushProduct = async (res, SKU, row) => {
     productionDocument: row.sharedFolder,
     productionDocument: row.sharedFolder,
     artworkLibraryId: "0",
     artworkLibraryId: "0",
     inventoryQuantity: inventoryQuantity,
     inventoryQuantity: inventoryQuantity,
+    proofingFee: 0,
   });
   });
   ElMessage({ message: "添加成功", type: "success" });
   ElMessage({ message: "添加成功", type: "success" });
 };
 };
@@ -786,7 +812,7 @@ const changeQuantity = (index) => {
   }
   }
 };
 };
 const cellStyleName = ({ column, columnIndex }) => {
 const cellStyleName = ({ column, columnIndex }) => {
-  if (column.label === "操作" && columnIndex === 4) {
+  if (column.label === "操作" && columnIndex === 3) {
     return "vertical-align";
     return "vertical-align";
   }
   }
 };
 };
@@ -895,10 +921,9 @@ const calculatedTotalAmount = () => {
       (calculatedAmount("unitPrice") +
       (calculatedAmount("unitPrice") +
         calculatedAmount("customProcessingFee") +
         calculatedAmount("customProcessingFee") +
         calculatedAmount("lssueFee") +
         calculatedAmount("lssueFee") +
-        calculatedAmount("deliveryMaterialsFee") +
+        computeDeliveryMaterialsFee() +
         calculatedAmount("packingLabor") +
         calculatedAmount("packingLabor") +
         calculatedAmount("managementFee") +
         calculatedAmount("managementFee") +
-        calculatedOuterBoxPackingFee() +
         calculatedPackagingMaterialCost()) *
         calculatedPackagingMaterialCost()) *
         100
         100
     ) / 100
     ) / 100
@@ -978,12 +1003,12 @@ const handleSubmit = async (flag) => {
         formData.data.productTotalAmount = calculatedAmount("unitPrice");
         formData.data.productTotalAmount = calculatedAmount("unitPrice");
         formData.data.customProcessingFee = calculatedAmount("customProcessingFee");
         formData.data.customProcessingFee = calculatedAmount("customProcessingFee");
         formData.data.lssueFee = calculatedAmount("lssueFee");
         formData.data.lssueFee = calculatedAmount("lssueFee");
-        formData.data.deliveryMaterialsFee = calculatedAmount("deliveryMaterialsFee");
+        formData.data.deliveryMaterialsFee = computeDeliveryMaterialsFee();
         formData.data.packingLabor = calculatedAmount("packingLabor");
         formData.data.packingLabor = calculatedAmount("packingLabor");
         formData.data.managementFee = calculatedAmount("managementFee");
         formData.data.managementFee = calculatedAmount("managementFee");
-        formData.data.outerBoxPackingFee = calculatedOuterBoxPackingFee();
         formData.data.packagingMaterialCost = calculatedPackagingMaterialCost();
         formData.data.packagingMaterialCost = calculatedPackagingMaterialCost();
         formData.data.totalAmount = calculatedTotalAmount();
         formData.data.totalAmount = calculatedTotalAmount();
+        formData.data.proofingFee = 0;
         if (fileList.value && fileList.value.length > 0) {
         if (fileList.value && fileList.value.length > 0) {
           for (let i = 0; i < fileList.value.length; i++) {
           for (let i = 0; i < fileList.value.length; i++) {
             if (fileList.value[i].raw.uploadState) {
             if (fileList.value[i].raw.uploadState) {
@@ -1068,7 +1093,7 @@ const saveShippingPackage = (data) => {
   formData.data.orderPackageBomList = data.orderPackageBomList;
   formData.data.orderPackageBomList = data.orderPackageBomList;
   formData.data.outerBoxSelfAdhesiveStickerFile = data.outerBoxSelfAdhesiveStickerFile;
   formData.data.outerBoxSelfAdhesiveStickerFile = data.outerBoxSelfAdhesiveStickerFile;
 };
 };
-const calculatedOuterBoxPackingFee = () => {
+const computeDeliveryMaterialsFee = () => {
   let money = 0;
   let money = 0;
   if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
   if (formData.data.orderPackageBomList && formData.data.orderPackageBomList.length > 0) {
     for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
     for (let i = 0; i < formData.data.orderPackageBomList.length; i++) {
@@ -1081,6 +1106,86 @@ const calculatedOuterBoxPackingFee = () => {
   }
   }
   return money;
   return money;
 };
 };
+const computeSingleDeliveryMaterialsFee = (index) => {
+  let money = computeDeliveryMaterialsFee();
+  let list = formData.data.orderSkuList.filter((item) => item.quantity > 0);
+  let num = 0;
+  let singlePrice = 0;
+  if (list && list.length > 0) {
+    for (let i = 0; i < list.length; i++) {
+      num = Number(Math.round(num + list[i].quantity));
+    }
+    singlePrice = Number(Math.ceil((money / num) * 1000) / 1000);
+  }
+  formData.data.orderSkuList[index].deliveryMaterialsFee = singlePrice;
+  return formData.data.orderSkuList[index].deliveryMaterialsFee;
+};
+const openUpload = ref(false);
+const loadingUpload = ref(false);
+const clickUploadProduct = () => {
+  loadingUpload.value = false;
+  openUpload.value = true;
+};
+const giveawayServerLog = (params) => {
+  let file = params.file;
+  let formFile = new FormData();
+  formFile.append("file", file);
+  loadingUpload.value = true;
+  proxy.postUploadFile("/skuSpec/getSkuSpecListFromImport", formFile).then(
+    (res) => {
+      ElMessage({ message: "导入成功", type: "success" });
+      openUpload.value = false;
+      if (res.data && res.data.length > 0) {
+        for (let i = 0; i < res.data.length; i++) {
+          let list = formData.data.orderSkuList.filter((item) => item.skuSpecId === res.data[i].id && item.bomSpecId === res.data[i].bomSpecId);
+          if (!(list && list.length > 0)) {
+            let orderSkuBomList = [];
+            if (res.data[i].packagingMaterialList && res.data[i].packagingMaterialList.length > 0) {
+              orderSkuBomList = res.data[i].packagingMaterialList.map((item) => {
+                return {
+                  bomSpecId: item.bomSpecId,
+                  unitPrice: item.internalSellingPrice,
+                  quantity: item.quantity,
+                  bomSpecName: item.name,
+                };
+              });
+            }
+            formData.data.orderSkuList.push({
+              wlnSkuName: res.data[i].wlnSkuName,
+              skuId: res.data[i].skuId,
+              code: res.data[i].code,
+              name: res.data[i].name,
+              skuSpecId: res.data[i].id,
+              bomSpecId: res.data[i].bomSpecId,
+              quantity: undefined,
+              erpCode: "",
+              featureCode: "",
+              customProcessingFee: "",
+              customProcessingType: "",
+              lssueFee: "",
+              deliveryMaterialsFee: "",
+              packingLabor: "",
+              managementFee: "",
+              unitPrice: "",
+              printType: 1,
+              packageRemark: "",
+              orderSkuBomList: orderSkuBomList,
+              blueprint: res.data[i].designImgUrl,
+              productionDocument: res.data[i].sharedFolder,
+              artworkLibraryId: "0",
+              inventoryQuantity: res.data[i].inventoryQuantity,
+              proofingFee: 0,
+            });
+          }
+        }
+      }
+    },
+    (err) => {
+      console.log(err);
+      loadingUpload.value = false;
+    }
+  );
+};
 // 向父组件暴露
 // 向父组件暴露
 defineExpose({ getFormData, handleSubmit, saveShippingPackage });
 defineExpose({ getFormData, handleSubmit, saveShippingPackage });
 </script>
 </script>
@@ -1096,10 +1201,21 @@ defineExpose({ getFormData, handleSubmit, saveShippingPackage });
 :deep(.ql-editor) {
 :deep(.ql-editor) {
   height: auto;
   height: auto;
 }
 }
+:deep(.el-collapse-item__header) {
+  justify-content: center;
+}
+:deep(.el-collapse-item__arrow) {
+  margin: 0;
+}
 :deep(.el-table__cell) {
 :deep(.el-table__cell) {
   vertical-align: top;
   vertical-align: top;
 }
 }
 :deep(.vertical-align) {
 :deep(.vertical-align) {
   vertical-align: middle;
   vertical-align: middle;
 }
 }
+.shippingPackage {
+  .el-form-item {
+    margin-bottom: 0;
+  }
+}
 </style>
 </style>

+ 5 - 84
src/views/process/processApproval/index.vue

@@ -15,15 +15,7 @@
             type="primary"
             type="primary"
             size="small"
             size="small"
             @click="clickViewPackaging()"
             @click="clickViewPackaging()"
-            v-if="queryData.query.processType && queryData.query.processType == '20' && queryData.query.flowKey == 'order'"
-            v-preReClick>
-            包装配置
-          </el-button>
-          <el-button
-            type="primary"
-            size="small"
-            @click="handlePackagingConfiguration()"
-            v-if="queryData.query.processType && queryData.query.processType == '10' && queryData.query.flowKey == 'order'"
+            v-if="queryData.query.processType && ['10' , '20'].includes(queryData.query.processType) && queryData.query.flowKey == 'order'"
             v-preReClick>
             v-preReClick>
             包装配置
             包装配置
           </el-button>
           </el-button>
@@ -138,8 +130,7 @@
         <el-form :model="formShippingPackage.data" :rules="rulesShippingPackage" ref="shippingPackage">
         <el-form :model="formShippingPackage.data" :rules="rulesShippingPackage" ref="shippingPackage">
           <div style="font-weight: 700; margin: 20px 0 10px 0">发货包装</div>
           <div style="font-weight: 700; margin: 20px 0 10px 0">发货包装</div>
           <div style="margin-bottom: 10px">
           <div style="margin-bottom: 10px">
-            <el-button type="primary" size="small" @click="clickSelectAssembly()">选择常用组合</el-button>
-            <el-button type="primary" size="small" @click="clickExpressPacking()">选择快递物流包材</el-button>
+            <el-button type="primary" size="small" @click="clickExpressPacking()">选择包材</el-button>
           </div>
           </div>
           <el-table :data="formShippingPackage.data.orderPackageBomList" :row-style="{ height: '35px' }" header-row-class-name="tableHeader">
           <el-table :data="formShippingPackage.data.orderPackageBomList" :row-style="{ height: '35px' }" header-row-class-name="tableHeader">
             <el-table-column label="品号" prop="code" width="160" />
             <el-table-column label="品号" prop="code" width="160" />
@@ -206,38 +197,18 @@
         </el-form>
         </el-form>
       </div>
       </div>
       <template #footer>
       <template #footer>
-        <el-button type="primary" @click="clickSaveAssembly" v-preReClick>保存常用组合</el-button>
         <el-button @click="openShippingPackage = false">取 消</el-button>
         <el-button @click="openShippingPackage = false">取 消</el-button>
         <el-button type="primary" @click="clickSaveShippingPackage" v-preReClick>保 存</el-button>
         <el-button type="primary" @click="clickSaveShippingPackage" v-preReClick>保 存</el-button>
       </template>
       </template>
     </el-dialog>
     </el-dialog>
 
 
     <el-dialog title="选择快递包装" v-if="openExpressPacking" v-model="openExpressPacking" width="90%">
     <el-dialog title="选择快递包装" v-if="openExpressPacking" v-model="openExpressPacking" width="90%">
-      <SelectBOM :selectStatus="true" :expressStatus="true" @selectBOM="selectExpressPacking"></SelectBOM>
+      <SelectBOM :selectStatus="true" :bomClassifyIdList="[2, 3]" @selectBOM="selectExpressPacking"></SelectBOM>
       <template #footer>
       <template #footer>
         <el-button @click="openExpressPacking = false">关 闭</el-button>
         <el-button @click="openExpressPacking = false">关 闭</el-button>
       </template>
       </template>
     </el-dialog>
     </el-dialog>
 
 
-    <el-dialog title="保存常用组合" v-if="openAssembly" v-model="openAssembly" width="500">
-      <el-form :model="formShippingPackage.data" :rules="rulesAssembly" ref="assembly">
-        <el-form-item label="组合名称" prop="assemblyName">
-          <el-input v-model="formShippingPackage.data.assemblyName" placeholder="请输入组合名称" />
-        </el-form-item>
-      </el-form>
-      <template #footer>
-        <el-button @click="openAssembly = false">关 闭</el-button>
-        <el-button type="primary" @click="submitAssembly" v-preReClick>保 存</el-button>
-      </template>
-    </el-dialog>
-
-    <el-dialog title="选择常用组合" v-if="openSelectAssembly" v-model="openSelectAssembly" width="700">
-      <SelectAssembly @selectAssembly="selectAssembly"></SelectAssembly>
-      <template #footer>
-        <el-button @click="openSelectAssembly = false">关 闭</el-button>
-      </template>
-    </el-dialog>
-
     <el-dialog title="包装配置" v-if="openViewPackaging" v-model="openViewPackaging" width="80%">
     <el-dialog title="包装配置" v-if="openViewPackaging" v-model="openViewPackaging" width="80%">
       <div style="height: calc(100vh - 184px); overflow-y: auto; overflow-x: hidden">
       <div style="height: calc(100vh - 184px); overflow-y: auto; overflow-x: hidden">
         <div style="font-weight: 700; margin: 20px 0 10px 0">发货包装</div>
         <div style="font-weight: 700; margin: 20px 0 10px 0">发货包装</div>
@@ -289,7 +260,6 @@ import Purchase from "/src/components/process/purchase";
 import Order from "/src/components/process/order";
 import Order from "/src/components/process/order";
 import refreshStore from "/src/store/modules/refresh";
 import refreshStore from "/src/store/modules/refresh";
 import SelectBOM from "/src/views/group/BOM/management/index";
 import SelectBOM from "/src/views/group/BOM/management/index";
-import SelectAssembly from "/src/components/selectAssembly/index";
 // 删除订单
 // 删除订单
 import OrderDelete from "/src/components/process/order-delete";
 import OrderDelete from "/src/components/process/order-delete";
 import ReturnGoods from "/src/components/process/returnGoods.vue";
 import ReturnGoods from "/src/components/process/returnGoods.vue";
@@ -387,8 +357,8 @@ const handleSubmit = async (_type) => {
         if (valid) {
         if (valid) {
           if (queryData.query.flowKey == "order") {
           if (queryData.query.flowKey == "order") {
             ElMessageBox.confirm("请确认包装配置", "提示", {
             ElMessageBox.confirm("请确认包装配置", "提示", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
+              confirmButtonText: "确定",
+              cancelButtonText: "未确认",
               type: "warning",
               type: "warning",
             })
             })
               .then(() => {
               .then(() => {
@@ -622,55 +592,6 @@ const handleAdhesiveSuccess = (UploadFile) => {
 const openFile = (path) => {
 const openFile = (path) => {
   window.open(path);
   window.open(path);
 };
 };
-const openAssembly = ref(false);
-const rulesAssembly = ref({
-  assemblyName: [{ required: true, message: "请输入组合名称", trigger: "blur" }],
-});
-const clickSaveAssembly = () => {
-  if (formShippingPackage.data.orderPackageBomList && formShippingPackage.data.orderPackageBomList.length > 0) {
-    formShippingPackage.data.assemblyName = "";
-    openAssembly.value = true;
-  } else {
-    return ElMessage("请添加快递物流包材");
-  }
-};
-const submitAssembly = () => {
-  proxy.$refs.assembly.validate((valid) => {
-    if (valid) {
-      proxy
-        .post("/packagingAssembly/add", { name: formShippingPackage.data.assemblyName, packagingAssemblyBomList: formShippingPackage.data.orderPackageBomList })
-        .then(() => {
-          ElMessage({ message: "保存成功!", type: "success" });
-          openAssembly.value = false;
-        });
-    }
-  });
-};
-const openSelectAssembly = ref(false);
-const clickSelectAssembly = () => {
-  openSelectAssembly.value = true;
-};
-const selectAssembly = (item) => {
-  if (item.id) {
-    proxy.post("/packagingAssembly/getPackagingBomList", { id: item.id }).then((res) => {
-      if (res && res.length > 0) {
-        formShippingPackage.data.orderPackageBomList = res.map((resItem) => {
-          return {
-            bomSpecId: resItem.id,
-            code: resItem.code,
-            name: resItem.name,
-            internalSellingPrice: resItem.internalSellingPrice,
-            quantity: undefined,
-          };
-        });
-      }
-      ElMessage({ message: "选择完成", type: "success" });
-      openSelectAssembly.value = false;
-    });
-  } else {
-    return ElMessage("选择失败,请重新选择");
-  }
-};
 const clickSaveShippingPackage = () => {
 const clickSaveShippingPackage = () => {
   proxy.$refs.shippingPackage.validate((valid) => {
   proxy.$refs.shippingPackage.validate((valid) => {
     if (valid) {
     if (valid) {

+ 59 - 15
src/views/subsidiary/order/management/index.vue

@@ -62,6 +62,7 @@
 import byTable from "/src/components/byTable/index";
 import byTable from "/src/components/byTable/index";
 import { ElMessage, ElMessageBox } from "element-plus";
 import { ElMessage, ElMessageBox } from "element-plus";
 import refreshStore from "/src/store/modules/refresh";
 import refreshStore from "/src/store/modules/refresh";
+import { flowStatus } from "/src/utils/flowStatus";
 
 
 const { proxy } = getCurrentInstance();
 const { proxy } = getCurrentInstance();
 const sourceList = ref({
 const sourceList = ref({
@@ -135,6 +136,22 @@ const config = computed(() => {
         width: 140,
         width: 140,
       },
       },
     },
     },
+    judgeUserA8()
+      ? {
+          attrs: {
+            label: "流程状态",
+            prop: "flowStatus",
+            width: 120,
+          },
+          render(val) {
+            return proxy.dictKeyValue(val, flowStatus());
+          },
+        }
+      : {
+          attrs: {
+            width: 1,
+          },
+        },
     {
     {
       attrs: {
       attrs: {
         label: "订单状态",
         label: "订单状态",
@@ -389,12 +406,23 @@ const clickReset = () => {
   getList("", true);
   getList("", true);
 };
 };
 const clickAddOrder = () => {
 const clickAddOrder = () => {
-  proxy.$router.replace({
-    path: "/addOrder",
-    query: {
-      random: proxy.random(),
-    },
-  });
+  if (proxy.useUserStore().user.userId === "1689164615204569090") {
+    proxy.$router.replace({
+      path: "/platform_manage/process/processApproval",
+      query: {
+        flowKey: "order",
+        flowName: "新建订单流程",
+        random: proxy.random(),
+      },
+    });
+  } else {
+    proxy.$router.replace({
+      path: "/addOrder",
+      query: {
+        random: proxy.random(),
+      },
+    });
+  }
 };
 };
 const clickCode = (row) => {
 const clickCode = (row) => {
   proxy.$router.replace({
   proxy.$router.replace({
@@ -421,14 +449,27 @@ const clickDelete = (row) => {
     .catch(() => {});
     .catch(() => {});
 };
 };
 const clickUpdate = (row) => {
 const clickUpdate = (row) => {
-  proxy.$router.replace({
-    path: "/addOrder",
-    query: {
-      id: row.id,
-      text: "编辑订单",
-      random: proxy.random(),
-    },
-  });
+  if (proxy.useUserStore().user.userId === "1689164615204569090") {
+    proxy.$router.replace({
+      path: "/platform_manage/process/processApproval",
+      query: {
+        flowKey: "order",
+        flowName: "新建订单流程",
+        processType: "40",
+        id: row.id,
+        random: proxy.random(),
+      },
+    });
+  } else {
+    proxy.$router.replace({
+      path: "/addOrder",
+      query: {
+        id: row.id,
+        text: "编辑订单",
+        random: proxy.random(),
+      },
+    });
+  }
 };
 };
 const clickUpload = (row) => {
 const clickUpload = (row) => {
   proxy.$router.replace({
   proxy.$router.replace({
@@ -448,7 +489,7 @@ const judgeRoles = () => {
   let status = false;
   let status = false;
   if (proxy.useUserStore().user.roles && proxy.useUserStore().user.roles.length > 0) {
   if (proxy.useUserStore().user.roles && proxy.useUserStore().user.roles.length > 0) {
     // let list = proxy.useUserStore().user.roles.filter((item) => ["purchasingOfficer", "sypurchasing", "bzpurchasing"].includes(item.roleKey));
     // let list = proxy.useUserStore().user.roles.filter((item) => ["purchasingOfficer", "sypurchasing", "bzpurchasing"].includes(item.roleKey));
-    let list = proxy.useUserStore().user.roles.filter((item) => item.roleName.includes('采购'));
+    let list = proxy.useUserStore().user.roles.filter((item) => item.roleName.includes("采购"));
     if (list && list.length > 0) {
     if (list && list.length > 0) {
       status = true;
       status = true;
     }
     }
@@ -508,6 +549,9 @@ const clickSubmitUser = () => {
     }
     }
   });
   });
 };
 };
+const judgeUserA8 = () => {
+  return proxy.useUserStore().user.userId === "1689164615204569090";
+};
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>