Просмотр исходного кода

Merge branch 'master' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-wt into dengfei

695593266@qq.com 10 месяцев назад
Родитель
Сommit
869d346308

+ 5 - 0
src/BIZComponents/inventoryTable.vue

@@ -432,6 +432,7 @@
           <el-date-picker
             style="width: 140px"
             v-model="scope.row.produceDeliveryDeadline"
+             value-format="yyyy-MM-dd"
             @change="
               setDeliveryDays(scope.row, scope.$index, 'guaranteePeriod')
             "
@@ -456,6 +457,7 @@
           <el-date-picker
             style="width: 140px"
             v-model="scope.row.customerExpectDeliveryDeadline"
+             value-format="yyyy-MM-dd"
             @change="
               setDeliveryDays(scope.row, scope.$index, 'guaranteePeriod')
             "
@@ -473,6 +475,7 @@
           <el-date-picker
             style="width: 140px"
             v-model="scope.row.guaranteePeriodDeadline"
+             value-format="yyyy-MM-dd"
             type="date"
             placeholder="选择日期"
           >
@@ -1247,6 +1250,8 @@
       // 返回列表数据
       getTableValue() {
         let comitDatasource = copyObj(this.form.datasource);
+        console.log(comitDatasource, 'comitDatasource');
+        
         if (comitDatasource.length === 0) return [];
         comitDatasource.forEach((v) => {
           if (v.guaranteePeriodUnitCode) {

+ 3 - 2
src/utils/util.js

@@ -37,14 +37,15 @@ export function randomString(len) {
 export function copyObj(obj) {
   //变量先置空
   let newobj = null;
-
   //判断是否需要继续进行递归
   if (typeof obj == 'object' && obj !== null) {
     newobj = obj instanceof Array ? [] : {}; //进行下一层递归克隆
     for (const i in obj) {
       newobj[i] = copyObj(obj[i]);
     } //如果不是对象直接赋值
-  } else newobj = obj;
+  } else {
+    newobj = obj;
+  }
   return newobj;
 }
 

+ 161 - 3
src/views/bpm/doneTickets/maintenance/detail.vue

@@ -8,7 +8,7 @@
               type="primary"
               @click="
                 $router.push({
-                  path: '/tickets',
+                  path: '/doneTickets',
                   query: { title: '保养工单' }
                 })
               "
@@ -137,8 +137,8 @@
         </div> -->
 
         <!-- 巡点检、保养设备 -->
-        <div class="maintain_equipment_info">
-          <HeaderTitle title="巡点检设备" size="16px"></HeaderTitle>
+         <div class="maintain_equipment_info">
+          <HeaderTitle title="保养设备" size="16px"></HeaderTitle>
           <div class="maintain_equipment_info_content">
             <div
               class="equipment_item"
@@ -228,10 +228,40 @@
                       </div>
                     </template>
                   </el-table-column>
+                  <el-table-column
+                    label="现场照片"
+                    prop="photoList"
+                    width="300"
+                  >
+                    <template slot-scope="scope">
+                      <div>
+                        <el-image
+                          v-for="imgItem in scope.row.photoList"
+                          :key="imgItem"
+                          style="width: 100px; height: 100px"
+                          :src="imgItem"
+                          :preview-src-list="scope.row.photoList"
+                        >
+                        </el-image>
+                      </div>
+                    </template>
+                  </el-table-column>
                   <el-table-column label="结果" prop="result" width="200">
                   </el-table-column>
                 </el-table>
               </div>
+              <!-- <div class="matter_info">
+                <el-table :data="item.workItems || []" border>
+                  <el-table-column label="序号" align="center" width="80">
+                    <template slot-scope="scope">
+                      <span>{{ scope.$index + 1 }}</span>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="事项" prop="item" />
+                  <el-table-column label="内容" prop="content" />
+                  <el-table-column label="标准" prop="standard" />
+                </el-table>
+              </div> -->
             </div>
             <!-- <div class="btnbox" v-if="$route.query.isshow">
               <el-button class="confirm-btn" type="danger" plain @click="reject"
@@ -264,6 +294,134 @@
           </div>
         </div>
 
+
+        <!-- <div class="maintain_equipment_info">
+          <HeaderTitle title="巡点检设备" size="16px"></HeaderTitle>
+          <div class="maintain_equipment_info_content">
+            <div
+              class="equipment_item"
+              v-for="item in infoData.deviceList"
+              :key="item.id"
+            >
+              <div class="equipment_info" v-if="item.substance">
+                <div class="item_info">
+                  <span class="item_label">设备编码</span>
+                  <span class="item_value">{{ item.substance.code }}</span>
+                </div>
+                <div class="item_info">
+                  <span class="item_label">设备名称</span>
+                  <span class="item_value">{{ item.substance.name }}</span>
+                </div>
+                <div class="item_info">
+                  <span class="item_label">设备型号</span>
+                  <span class="item_value">{{ item.substance.model }}</span>
+                </div>
+                <div class="item_info">
+                  <span class="item_label">设备位置</span>
+                  <span class="item_value">{{
+                    item.substance.positionNames
+                  }}</span>
+                </div>
+              </div>
+              <p>操作事项</p>
+              <div class="ruleMatters_box">
+                <el-table :data="item.workItems" border>
+                  <el-table-column label="序号" width="50">
+                    <template slot-scope="scope">
+                      <span>{{ scope.$index + 1 }}</span>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="事项" prop="name" width="100">
+                    <template slot-scope="scope">
+                      <div>
+                        <span>{{ scope.row.name }}</span>
+                      </div>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="内容" prop="content" width="300">
+                    <template slot-scope="scope">
+                      <div>
+                        <span>{{ scope.row.content }}</span>
+                      </div>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="操作指导" prop="operationGuide">
+                    <template slot-scope="scope">
+                      <div class="operationGuide_box">
+                        <div class="left_content">
+                          <template v-if="scope.row.operationGuide">
+                            <div
+                              v-for="(item, index) in scope.row.operationGuide
+                                .toolList"
+                              :key="item.id"
+                              >{{ index + 1 }}.{{ item.name }}</div
+                            >
+                          </template>
+                        </div>
+                        <div class="line"></div>
+                        <div class="right_content">
+                          <template v-if="scope.row.operationGuide">
+                            <div
+                              v-for="(item, index) in scope.row.operationGuide
+                                .procedureList"
+                              :key="item.id"
+                              >{{ index + 1 }}.{{ item.content }}</div
+                            >
+                          </template>
+                        </div>
+                      </div>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="标准" prop="norm" width="100">
+                    <template slot-scope="scope">
+                      <div>
+                        <span>{{ scope.row.norm }}</span>
+                      </div>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="状态" prop="status" width="100">
+                    <template slot-scope="scope">
+                      <div>
+                        <span>{{ options[scope.row.status] }}</span>
+                      </div>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="结果" prop="result" width="200">
+                  </el-table-column>
+                </el-table>
+              </div>
+            </div> -->
+            <!-- <div class="btnbox" v-if="$route.query.isshow">
+              <el-button class="confirm-btn" type="danger" plain @click="reject"
+                >驳回</el-button
+              >
+              <el-button class="confirm-btn" type="success" plain @click="pass"
+                >通过</el-button
+              >
+              <el-button class="cancel-btn">关闭</el-button>
+            </div> -->
+            <!-- <div class="textbox" v-if="showtext">
+              <el-input
+                type="textarea"
+                placeholder="请输入驳回原因"
+                v-model="cause"
+                maxlength="30"
+                rows="5"
+                show-word-limit
+              >
+              </el-input>
+              <div class="textbtnbox">
+                <el-button size="small" round @click="cancelreject"
+                  >取消</el-button
+                >
+                <el-button size="small" round @click="surereject"
+                  >提交</el-button
+                >
+              </div>
+            </div> -->
+          <!-- </div>
+        </div> -->
+
         <!-- 巡点检、缺陷设备报修记录 -->
         <!-- <div class="repair_notes">
           <HeaderTitle title="缺陷设备报修记录" size="16px"></HeaderTitle>

+ 13 - 2
src/views/bpm/doneTickets/maintenance/index.vue

@@ -129,6 +129,16 @@
               转派
             </el-link>
           </template>
+          <!-- 工单编号slot -->
+          <template v-slot:code="{ row }">
+            <el-link
+              type="primary"
+              :underline="false"
+              @click="openDetail({ id: row.id })"
+            >
+              {{ row.code }}
+            </el-link>
+          </template>
         </ele-pro-table>
       </el-card>
     </div>
@@ -200,7 +210,8 @@
             prop: 'code',
             label: '工单编号',
             minWidth: '200',
-            align: 'center'
+            align: 'center',
+            slot: 'code'
           },
           {
             prop: 'planCode',
@@ -371,7 +382,7 @@
       },
       openDetail({ id }) {
         this.$router.push({
-          path: '/tickets/maintenance/detail',
+          path: '/doneTickets/maintenance/detail',
           query: {
             id
           }

+ 1 - 1
src/views/bpm/doneTickets/patrolInspection/detail.vue

@@ -8,7 +8,7 @@
               type="primary"
               @click="
                 $router.push({
-                  path: '/tickets',
+                  path: '/doneTickets',
                   query: { title: '巡点检工单' }
                 })
               "

+ 13 - 2
src/views/bpm/doneTickets/patrolInspection/index.vue

@@ -129,6 +129,16 @@
               转派
             </el-link>
           </template>
+          <!-- 工单编号slot -->
+          <template v-slot:code="{ row }">
+            <el-link
+              type="primary"
+              :underline="false"
+              @click="openDetail({ id: row.id })"
+            >
+              {{ row.code }}
+            </el-link>
+          </template>
         </ele-pro-table>
       </el-card>
     </div>
@@ -184,7 +194,8 @@
             prop: 'code',
             label: '工单编号',
             minWidth: '200',
-            align: 'center'
+            align: 'center',
+            slot: 'code'
           },
           {
             prop: 'planCode',
@@ -366,7 +377,7 @@
       },
       openDetail({ id }) {
         this.$router.push({
-          path: '/tickets/patrolInspection/detail',
+          path: '/doneTickets/patrolInspection/detail',
           query: {
             id
           }

+ 13 - 2
src/views/bpm/doneTickets/repair/index.vue

@@ -140,13 +140,23 @@
           >
             转派
           </el-link>
-          <el-link
+          <!-- <el-link
             type="primary"
             :underline="false"
             icon="el-icon-edit"
             @click="openDetail(row)"
           >
             详情
+          </el-link> -->
+        </template>
+        <!-- 工单编号列 -->
+        <template v-slot:code="{ row }">
+          <el-link 
+            type="primary" 
+            :underline="false"
+            @click="openDetail(row)"
+          >
+            {{ row.code }}
           </el-link>
         </template>
       </ele-pro-table>
@@ -203,7 +213,8 @@
             label: '工单编号',
             minWidth: '200',
             align: 'center',
-            showOverflowTooltip: true
+            showOverflowTooltip: true,
+            slot: 'code'
           },
           {
             prop: 'planCode',

+ 7 - 2
src/views/bpm/handleTask/components/cuttingPlan/detailDialog.vue

@@ -202,7 +202,7 @@
           },
           {
             prop: 'contractNum',
-            label: '合同数量',
+            label: '订单数量',
             align: 'center'
           },
           {
@@ -281,7 +281,12 @@
             action: 'requireDeliveryTime',
             align: 'center'
           },
-
+          {
+            label: '供应商',
+            slot: 'supplierName',
+            action: 'supplierName',
+            align: 'center'
+          },
           {
             label: '图纸',
             slot: 'imgUrl',

+ 289 - 273
src/views/bpm/handleTask/components/materialPlan/detailDialog.vue

@@ -1,8 +1,13 @@
 <template>
   <div>
-
     <headerTitle title="采购信息"></headerTitle>
-    <el-form :model="formData" ref="formRef" label-width="120px" class="ele-body" :rules="rules">
+    <el-form
+      :model="formData"
+      ref="formRef"
+      label-width="120px"
+      class="ele-body"
+      :rules="rules"
+    >
       <el-row :gutter="32">
         <el-col :span="12">
           <el-form-item label="配料计划名称" prop="name">
@@ -19,16 +24,31 @@
     </el-form>
 
     <el-form :model="formData" ref="tableForm">
-      <ele-pro-table ref="table" :needPage="false" :columns="columns" row-key="id">
+      <ele-pro-table
+        ref="table"
+        :needPage="false"
+        :columns="columns"
+        row-key="id"
+      >
         <!-- 展开内容 -->
         <template v-slot:expand="{ row }">
-          <div style="
+          <div
+            style="
               width: calc(100% - 95px);
               min-height: 60px;
               margin-left: 95px;
-            " v-if="row.materialList.length > 0">
-            <ele-pro-table :toolbar="false" toolsTheme="none" ref="table2" :need-page="false"
-              :datasource="row.materialList" :columns="columns2" row-key="id">
+            "
+            v-if="row.materialList.length > 0"
+          >
+            <ele-pro-table
+              :toolbar="false"
+              toolsTheme="none"
+              ref="table2"
+              :need-page="false"
+              :datasource="row.materialList"
+              :columns="columns2"
+              row-key="id"
+            >
               <template v-slot:sort="{ $index }">
                 {{ $index }}
               </template>
@@ -38,43 +58,47 @@
               </template>
 
               <template v-slot:requireDeliveryTime="{ row }">
-                <span v-if="row.deliveryMethod == 1">{{ row.requireDeliveryTime }}</span>
-
-
-                <el-link type="primary" :underline="false" v-if="row.deliveryMethod == 2"
-                  @click.native="handleMethod(row)">
+                <span v-if="row.deliveryMethod == 1">{{
+                  row.requireDeliveryTime
+                }}</span>
+
+                <el-link
+                  type="primary"
+                  :underline="false"
+                  v-if="row.deliveryMethod == 2"
+                  @click.native="handleMethod(row)"
+                >
                   设置分批时间
                 </el-link>
               </template>
 
-
-
-
-
-
-
-
               <template v-slot:imgUrl="{ row }">
                 <div v-if="row.imgUrl && row.imgUrl?.length">
-                  <el-link v-for="link in row.imgUrl" :key="link.id" type="primary" :underline="false"
-                    @click="downloadFile(link)">
-                    {{ link.name }}</el-link>
+                  <el-link
+                    v-for="link in row.imgUrl"
+                    :key="link.id"
+                    type="primary"
+                    :underline="false"
+                    @click="downloadFile(link)"
+                  >
+                    {{ link.name }}</el-link
+                  >
                 </div>
               </template>
 
               <template v-slot:files="{ row }">
                 <div v-if="row.files && row.files?.length">
-                  <el-link v-for="link in row.files" :key="link.id" type="primary" :underline="false"
-                    @click="downloadFile(link)">
-                    {{ link.name }}</el-link>
+                  <el-link
+                    v-for="link in row.files"
+                    :key="link.id"
+                    type="primary"
+                    :underline="false"
+                    @click="downloadFile(link)"
+                  >
+                    {{ link.name }}</el-link
+                  >
                 </div>
               </template>
-
-
-
-
-
-
             </ele-pro-table>
           </div>
         </template>
@@ -86,253 +110,245 @@
 </template>
 
 <script>
-import { getById } from '@/api/bpm/components/materialPlan/index';
-import { getFile } from '@/api/system/file';
-import timeDialog from './timeDialog'
-
-export default {
-  components: {
-    timeDialog
-  },
-  props: {
-    businessId: {
-      default: ''
-    }
-  },
-  mixins: [],
-
-  data() {
-    return {
-      visible: false,
-      title: '采购配料计划',
-
-      // 表格列配置
-      columns: [
-        {
-          width: 45,
-          type: 'expand',
-          columnKey: 'materialList',
-          align: 'center',
-          slot: 'expand'
-        },
-
-        {
-          width: 50,
-          label: '序号',
-          type: 'index',
-          align: 'center',
-          slot: 'index'
-        },
-
-        {
-          prop: 'salesOrderCode',
-          label: '销售订单号',
-          showOverflowTooltip: true,
-          align: 'center',
-          minWidth: 170
-        },
-        {
-          prop: 'customerName',
-          label: '客户名称',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'serialNo',
-          label: '客户代号',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'productCode',
-          label: '产品编码',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 140
-        },
-
-        {
-          prop: 'productName',
-          label: '产品名称',
-          align: 'center',
-          minWidth: 120
-        },
-
-        {
-          prop: 'model',
-          label: '型号',
-          align: 'center',
-          minWidth: 120
-        },
-
-        {
-          prop: 'brandNo',
-          label: '牌号',
-          align: 'center'
-        },
-
-        {
-          prop: 'deliveryTime',
-          label: '交付日期',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'contractNum',
-          label: '订单数量',
-          align: 'center'
-        },
-        {
-          prop: 'lackNum',
-          label: '欠交数量',
-          align: 'center'
-        },
-
-
-
-
-      ],
-
-      columns2: [
-        {
-          width: 50,
-          label: '序号',
-          prop: 'sort',
-          slot: 'sort',
-          align: 'center'
-        },
-
-        {
-          label: '物料名称',
-          prop: 'name',
-          align: 'center'
-        },
-
-        {
-          label: '物料编码',
-          prop: 'code',
-          align: 'center'
-        },
-        {
-          label: '牌号',
-          prop: 'brandNum',
-          align: 'center'
-        },
-        {
-          label: '型号',
-          prop: 'modelType',
-          align: 'center'
-        },
-
-        {
-          prop: 'inventoryQuantity',
-          label: '库存',
-          showOverflowTooltip: true,
-
-        },
-
-        {
-          prop: 'unit',
-          label: '计量单位',
-          showOverflowTooltip: true,
-          action: 'unit',
-        },
-
-        {
-          label: '需求数量',
-          prop: 'demandQuantity',
-          align: 'center',
-        },
-
-        // {
-        //   label: '采购数量',
-        //   prop: 'purchaseQuantity',
-        //   align: 'center'
-        // },
-
-        {
-          label: '到货方式',
-          slot: 'deliveryMethod',
-          action: 'deliveryMethod',
-          align: 'center'
-        },
-
-        {
-          label: '要求到货时间',
-          slot: 'requireDeliveryTime',
-          action: 'requireDeliveryTime',
-          align: 'center'
-        },
-
-
-
-        {
-          label: '图纸',
-          slot: 'imgUrl',
-          action: 'imgUrl',
-          align: 'center',
-        },
-
-
-        {
-          label: '附件',
-          slot: 'files',
-          action: ' files',
-          align: 'center',
-          minWidth: 140
-        },
-
-
-
-
-      ],
-
-      rules: {},
-
-      formData: {
-        name: '',
-        remark: '',
-        detailRemoveIds: [],
-        materialRemoveIds: []
-      }
-    };
-  },
-  created() {
-    this.getDetailData(this.businessId);
-  },
-  methods: {
-    downloadFile(file) {
-      getFile({ objectName: file.storePath }, file.name);
+  import { getById } from '@/api/bpm/components/materialPlan/index';
+  import { getFile } from '@/api/system/file';
+  import timeDialog from './timeDialog';
+
+  export default {
+    components: {
+      timeDialog
     },
-    async getDetailData(id) {
-      this.loading = true;
-      const res = await getById(id);
-      this.loading = false;
-      if (res) {
-        this.$set(this.formData, 'name', res.name);
-        this.$set(this.formData, 'remark', res.remark);
-        this.formData['id'] = res.id;
-        this.$refs.table.setData([...res.salesOrderList]);
-        this.$nextTick(() => {
-          this.$refs.table.toggleRowExpansionAll()
-          this.$forceUpdate()
-        })
+    props: {
+      businessId: {
+        default: ''
       }
     },
-
-    handleMethod(row) {
-      this.$refs.timeDialogRef.open(row)
+    mixins: [],
+
+    data() {
+      return {
+        visible: false,
+        title: '采购配料计划',
+
+        // 表格列配置
+        columns: [
+          {
+            width: 45,
+            type: 'expand',
+            columnKey: 'materialList',
+            align: 'center',
+            slot: 'expand'
+          },
+
+          {
+            width: 50,
+            label: '序号',
+            type: 'index',
+            align: 'center',
+            slot: 'index'
+          },
+
+          {
+            prop: 'salesOrderCode',
+            label: '销售订单号',
+            showOverflowTooltip: true,
+            align: 'center',
+            minWidth: 170
+          },
+          {
+            prop: 'customerName',
+            label: '客户名称',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'serialNo',
+            label: '客户代号',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'productCode',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 140
+          },
+
+          {
+            prop: 'productName',
+            label: '产品名称',
+            align: 'center',
+            minWidth: 120
+          },
+
+          {
+            prop: 'model',
+            label: '型号',
+            align: 'center',
+            minWidth: 120
+          },
+
+          {
+            prop: 'brandNo',
+            label: '牌号',
+            align: 'center'
+          },
+
+          {
+            prop: 'deliveryTime',
+            label: '交付日期',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'contractNum',
+            label: '订单数量',
+            align: 'center'
+          },
+          {
+            prop: 'lackNum',
+            label: '欠交数量',
+            align: 'center'
+          }
+        ],
+
+        columns2: [
+          {
+            width: 50,
+            label: '序号',
+            prop: 'sort',
+            slot: 'sort',
+            align: 'center'
+          },
+
+          {
+            label: '物料名称',
+            prop: 'name',
+            align: 'center'
+          },
+
+          {
+            label: '物料编码',
+            prop: 'code',
+            align: 'center'
+          },
+          {
+            label: '牌号',
+            prop: 'brandNum',
+            align: 'center'
+          },
+          {
+            label: '型号',
+            prop: 'modelType',
+            align: 'center'
+          },
+
+          {
+            prop: 'inventoryQuantity',
+            label: '库存',
+            showOverflowTooltip: true
+          },
+
+          {
+            prop: 'unit',
+            label: '计量单位',
+            showOverflowTooltip: true,
+            action: 'unit'
+          },
+
+          {
+            label: '需求数量',
+            prop: 'demandQuantity',
+            align: 'center'
+          },
+
+          // {
+          //   label: '采购数量',
+          //   prop: 'purchaseQuantity',
+          //   align: 'center'
+          // },
+
+          {
+            label: '到货方式',
+            slot: 'deliveryMethod',
+            action: 'deliveryMethod',
+            align: 'center'
+          },
+
+          {
+            label: '要求到货时间',
+            slot: 'requireDeliveryTime',
+            action: 'requireDeliveryTime',
+            align: 'center'
+          },
+
+          {
+            label: '供应商',
+            slot: 'supplierName',
+            action: 'supplierName',
+            align: 'center'
+          },
+
+          {
+            label: '图纸',
+            slot: 'imgUrl',
+            action: 'imgUrl',
+            align: 'center'
+          },
+
+          {
+            label: '附件',
+            slot: 'files',
+            action: ' files',
+            align: 'center',
+            minWidth: 140
+          }
+        ],
+
+        rules: {},
+
+        formData: {
+          name: '',
+          remark: '',
+          detailRemoveIds: [],
+          materialRemoveIds: []
+        }
+      };
     },
-  }
-};
+    created() {
+      this.getDetailData(this.businessId);
+    },
+    methods: {
+      downloadFile(file) {
+        getFile({ objectName: file.storePath }, file.name);
+      },
+      async getDetailData(id) {
+        this.loading = true;
+        const res = await getById(id);
+        this.loading = false;
+        if (res) {
+          this.$set(this.formData, 'name', res.name);
+          this.$set(this.formData, 'remark', res.remark);
+          this.formData['id'] = res.id;
+          this.$refs.table.setData([...res.salesOrderList]);
+          this.$nextTick(() => {
+            this.$refs.table.toggleRowExpansionAll();
+            this.$forceUpdate();
+          });
+        }
+      },
+
+      handleMethod(row) {
+        this.$refs.timeDialogRef.open(row);
+      }
+    }
+  };
 </script>
 
 <style lang="scss" scoped>
-:deep(.el-table__expanded-cell) {
-
-  padding-bottom: 30px !important;
-  border-bottom: 12px solid #CCFFCC !important;
-}
+  :deep(.el-table__expanded-cell) {
+    padding-bottom: 30px !important;
+    border-bottom: 12px solid #ccffcc !important;
+  }
 </style>
-
-

+ 5 - 7
src/views/bpm/handleTask/components/purchasePlanManage/detailDialog.vue

@@ -389,16 +389,14 @@
             prop: 'modelKey',
             label: '机型',
             showOverflowTooltip: true,
-            align: 'center',
-
+            align: 'center'
           },
           {
             minWidth: 120,
             prop: 'colorKey',
             showOverflowTooltip: true,
             label: '颜色',
-            align: 'center',
-
+            align: 'center'
           },
 
           {
@@ -473,9 +471,9 @@
         this.loading = false;
         if (data) {
           data.purchaseDate = data.createTime;
-          let codeList = data.detailList.map((item) => item.productCode);
+          let codeList = data.detailList?.map((item) => item.productCode) || [];
           let inventoryTotalList = await getInventoryTotalAPI(codeList);
-          data.detailList.forEach((item) => {
+          data.detailList?.forEach((item) => {
             let find =
               inventoryTotalList.find((key) => key.code == item.productCode) ||
               {};
@@ -500,7 +498,7 @@
         return {
           returnStorageData:
             this.$refs.inoutBoundRef &&
-            await this.$refs.inoutBoundRef.getReturnStorage()
+            (await this.$refs.inoutBoundRef.getReturnStorage())
         };
       }
     }

+ 6 - 0
src/views/bpm/handleTask/components/saleOrder/entrustedReceive/boxTabPage.vue

@@ -170,6 +170,12 @@
         const data = await getPSaleEntrustedReceiveDetailAPI(id);
         if (data) {
           this.form = deepClone(data);
+          this.form.supplierId = data.contactId;
+          this.form.supplierName = data.contactName;
+          this.form.productList = this.form.productList.map((item) => {
+            item.supplierMark = item.customerMark;
+            return item;
+          });
           console.log(this.form);
         }
       }

+ 21 - 21
src/views/bpm/handleTask/components/saleOrder/entrustedReceive/detailDialog.vue

@@ -170,13 +170,13 @@
             slot: 'productCode',
             align: 'center'
           },
-          {
-            minWidth: 100,
-            prop: 'productCategoryName',
-            label: '类型',
-            slot: 'productCategoryName',
-            align: 'center'
-          },
+          // {
+          //   minWidth: 100,
+          //   prop: 'productCategoryName',
+          //   label: '类型',
+          //   slot: 'productCategoryName',
+          //   align: 'center'
+          // },
           {
             width: 160,
             prop: 'productBrand',
@@ -229,13 +229,13 @@
             align: 'center'
           },
 
-          {
-            width: 110,
-            prop: 'orderTotalCount',
-            label: '订单总数量',
-            slot: 'orderTotalCount',
-            align: 'center'
-          },
+          // {
+          //   width: 110,
+          //   prop: 'orderTotalCount',
+          //   label: '订单总数量',
+          //   slot: 'orderTotalCount',
+          //   align: 'center'
+          // },
           {
             width: 120,
             prop: 'totalCount',
@@ -244,13 +244,13 @@
             headerSlot: 'headerTotalCount',
             align: 'center'
           },
-          {
-            width: 100,
-            prop: 'receiveTotalCount',
-            label: '已收货总数',
-            slot: 'receiveTotalCount',
-            align: 'center'
-          },
+          // {
+          //   width: 100,
+          //   prop: 'receiveTotalCount',
+          //   label: '已收货总数',
+          //   slot: 'receiveTotalCount',
+          //   align: 'center'
+          // },
           {
             width: 120,
             prop: 'measuringUnit',

+ 2 - 2
src/views/bpm/handleTask/components/saleOrder/invoice/detailDialog.vue

@@ -228,7 +228,7 @@
         detailData: {},
         childrenColumns: [
           {
-            width: 45,
+            width: 80,
             type: 'index',
             columnKey: 'index',
             align: 'center',
@@ -261,7 +261,7 @@
         let columnsVersion = this.columnsVersion;
         return [
           {
-            width: 45,
+            width: 65,
             type: 'index',
             columnKey: 'index',
             align: 'center',

+ 4 - 4
src/views/bpm/handleTask/components/saleOrder/returnGoods/detailDialog.vue

@@ -12,8 +12,8 @@
             {{ form.contactName }}
           </el-form-item>
           <el-form-item
-            label="退货类型:"
-            prop="contactName"
+            label="退货方式:"
+            prop="typeName"
             style="margin-bottom: 16px"
           >
             {{ form.typeName }}
@@ -116,10 +116,10 @@
     </ele-pro-table>
     <headerTitle
       title="退货物品明细"
-      v-show="['10', '20', '30'].includes(form.type)"
+      v-show="!['40', '50'].includes(form.type)"
     ></headerTitle>
     <ele-pro-table
-      v-show="['10', '20', '30'].includes(form.type)"
+      v-show="!['40', '50'].includes(form.type)"
       ref="table"
       :needPage="false"
       :columns="competAnalysisListcolumns"

+ 5 - 0
src/views/bpm/outgoingManagement/details.vue

@@ -53,6 +53,11 @@
                   <span>{{ infoData.fromUserPhone }}</span>
                 </el-form-item>
               </el-col>
+              <el-col :span="8">
+                <el-form-item label="出库时间">
+                  <span>{{ infoData.storageTime||infoData.createTime }}</span>
+                </el-form-item>
+              </el-col>
               <el-col :span="8">
                 <el-form-item label="出库登记人">
                   <span>{{ infoData.extInfo?.createUserName }}</span>

+ 38 - 0
src/views/bpm/outgoingManagement/outbound.vue

@@ -87,6 +87,16 @@
               </el-select> -->
             </el-form-item>
           </el-col>
+          <el-col :span="6">
+            <el-form-item label="出库时间">
+              <el-date-picker
+                v-model="formData.storageTime"
+                type="datetime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                placeholder="选择日期时间"
+              >
+              </el-date-picker></el-form-item
+          ></el-col>
           <el-col :span="6">
             <el-form-item label="出库登记人">
               <el-input
@@ -571,6 +581,7 @@
         qualityResults, // 质检结果
         treeList: [],
         formData: {
+          storageTime:"",
           extInfo: {
             assetType: [], //物品类型id
             assetTypeName: '', //物品类型名称
@@ -633,9 +644,36 @@
       this.getListItems();
       this.initDeptData().then(() => {
         this.initFormData();
+        this.getNowFormatDate()
+
       });
     },
     methods: {
+      // 获取当前时间函数
+      getNowDate() {
+        let date = new Date(),
+          obj = {
+            year: date.getFullYear(), //获取当前月份(0-11,0代表1月)
+            month: date.getMonth() + 1, //获取当前月份(0-11,0代表1月)
+            strDate: date.getDate(), // 获取当前日(1-31)
+            hour: date.getHours(), //获取当前小时(0 ~ 23)
+            minute: date.getMinutes(), //获取当前分钟(0 ~ 59)
+            second: date.getSeconds() //获取当前秒数(0 ~ 59)
+          };
+        Object.keys(obj).forEach((key) => {
+          if (obj[key] < 10) obj[key] = `0${obj[key]}`;
+        });
+        return obj;
+      },
+      // 赋值入库时间
+      getNowFormatDate() {
+        const obj = this.getNowDate();
+        const defaultTime = '00:00:00';
+        const currentTime = `${obj.hour}:${obj.minute}:${obj.second}`;
+
+        this.formData.storageTime = `${obj.year}-${obj.month}-${obj.strDate} ${currentTime}`;
+      },
+
       // 获取动态表头
       getFieldModel() {
         storageApi.fieldModel({ fieldModel: 't_main_category' }).then((res) => {

+ 2 - 2
src/views/bpm/stockManagement/storage.vue

@@ -1589,9 +1589,9 @@
                 brandNum: item.brandNum, // 牌号
                 batchNo: batchNo, // 批次号
                 supplierListOptions: supplierList[item.id], // 供应商列表
-                supplierId: this.form.supplierId, // 供应商id
+                supplierId:this.form.supplierId, // 供应商id
                 supplierCode:
-                  this.bizType == 2
+                  this.bizType == 2||this.bizType == 7
                     ? filtersItem.supplierMark
                     : item.supplierCode, // 供应商代号
                 supplierName: this.form.supplierName, // 供应商名称