yusheng пре 1 година
родитељ
комит
07b3ac9aca
18 измењених фајлова са 534 додато и 445 уклоњено
  1. 1 1
      src/BIZComponents/inventoryTable.vue
  2. 1 1
      src/BIZComponents/inventoryTableDetails.vue
  3. 2 2
      src/views/bpm/handleTask/components/businessOpportunity/saleGeneralityInventoryTable.vue
  4. 17 17
      src/views/bpm/handleTask/components/contact/contactDetailDialog.vue
  5. 17 17
      src/views/bpm/handleTask/components/contactQC/contactDetailDialog.vue
  6. 35 3
      src/views/bpm/handleTask/components/financialManage/invoiceManage/components/addOrEditDialog.vue
  7. 12 0
      src/views/bpm/handleTask/components/financialManage/invoiceManage/components/detailDialog.vue
  8. 149 123
      src/views/bpm/handleTask/components/financialManage/payableManage/components/detailDialog.vue
  9. 1 1
      src/views/bpm/handleTask/components/inquiryManage/inventoryTable.vue
  10. 2 2
      src/views/bpm/handleTask/components/purchaseNeedManage/detailDialog.vue
  11. 3 3
      src/views/bpm/handleTask/components/purchaseOrder/accountstatement/inventoryTable.vue
  12. 17 4
      src/views/bpm/handleTask/components/purchaseOrder/accountstatement/purchaseForm.vue
  13. 7 7
      src/views/bpm/handleTask/components/purchaseOrder/invoice/inventoryTable.vue
  14. 265 259
      src/views/bpm/handleTask/components/purchaseOrder/invoice/receiptInfo.vue
  15. 1 1
      src/views/bpm/handleTask/components/saleOrder/invoice/detailDialog.vue
  16. 1 1
      src/views/bpm/handleTask/components/saleOrder/invoice/inventoryTable.vue
  17. 2 2
      src/views/bpm/handleTask/components/saleOrder/returnGoods/inventoryTableReturn.vue
  18. 1 1
      src/views/bpm/handleTask/components/saleOrder/returnGoods/inventoryTableReturnDetail.vue

+ 1 - 1
src/BIZComponents/inventoryTable.vue

@@ -703,7 +703,7 @@
             width: 120,
             prop: 'produceType',
             align: 'center',
-            label: '生产类型',
+            label: '属性类型',
             showOverflowTooltip: true,
             formatter: (row, column) => {
               return row.produceType && row.produceType.length

+ 1 - 1
src/BIZComponents/inventoryTableDetails.vue

@@ -346,7 +346,7 @@
             width: 120,
             prop: 'produceType',
             align: 'center',
-            label: '生产类型',
+            label: '属性类型',
             showOverflowTooltip: true,
             formatter: (row, column) => {
               return row?.produceType

+ 2 - 2
src/views/bpm/handleTask/components/businessOpportunity/saleGeneralityInventoryTable.vue

@@ -594,7 +594,7 @@
             width: 120,
             prop: 'produceType',
             align: 'center',
-            label: '生产类型',
+            label: '属性类型',
             showOverflowTooltip: true,
             formatter: (row, column) => {
               return row.produceType && row.produceType.length
@@ -996,7 +996,7 @@
           this.$set(parasm, 'pricingWay', 1);
 
           this.$set(parasm, 'imgCode', item.imgCode);
-          this.$set(parasm, 'produceType', item.produceType);
+          this.$set(parasm, 'produceType', item.componentAttribute);
           this.$set(parasm, 'approvalNumber', item.extField.approvalNumber);
           this.$set(
             parasm,

+ 17 - 17
src/views/bpm/handleTask/components/contact/contactDetailDialog.vue

@@ -563,13 +563,13 @@ export default {
         },
 
 
-        {
-          label: '创建人',
-          prop: 'createUserName',
-          slot: 'createUserName',
-          align: "center",
-          width: 120
-        },
+        // {
+        //   label: '创建人',
+        //   prop: 'createUserName',
+        //   slot: 'createUserName',
+        //   align: "center",
+        //   width: 120
+        // },
         {
           label: '创建时间',
           prop: 'createTime',
@@ -577,16 +577,16 @@ export default {
           align: "center",
           minWidth: 120
         },
-        {
-          label: '状态',
-          prop: 'approvalStatus',
-          slot: 'approvalStatus',
-          align: "center",
-          width: 120,
-          formatter: (_row, _column, cellValue) => {
-            return reviewStatus[_row.approvalStatus];
-          }
-        },
+        // {
+        //   label: '状态',
+        //   prop: 'approvalStatus',
+        //   slot: 'approvalStatus',
+        //   align: "center",
+        //   width: 120,
+        //   formatter: (_row, _column, cellValue) => {
+        //     return reviewStatus[_row.approvalStatus];
+        //   }
+        // },
         {
           label: '备注',
           prop: 'remark',

+ 17 - 17
src/views/bpm/handleTask/components/contactQC/contactDetailDialog.vue

@@ -563,13 +563,13 @@
             minWidth: 120
           },
 
-          {
-            label: '创建人',
-            prop: 'createUserName',
-            slot: 'createUserName',
-            align: 'center',
-            width: 120
-          },
+          // {
+          //   label: '创建人',
+          //   prop: 'createUserName',
+          //   slot: 'createUserName',
+          //   align: 'center',
+          //   width: 120
+          // },
           {
             label: '创建时间',
             prop: 'createTime',
@@ -577,16 +577,16 @@
             align: 'center',
             minWidth: 120
           },
-          {
-            label: '状态',
-            prop: 'approvalStatus',
-            slot: 'approvalStatus',
-            align: 'center',
-            width: 120,
-            formatter: (_row, _column, cellValue) => {
-              return reviewStatus[_row.approvalStatus];
-            }
-          },
+          // {
+          //   label: '状态',
+          //   prop: 'approvalStatus',
+          //   slot: 'approvalStatus',
+          //   align: 'center',
+          //   width: 120,
+          //   formatter: (_row, _column, cellValue) => {
+          //     return reviewStatus[_row.approvalStatus];
+          //   }
+          // },
           {
             label: '备注',
             prop: 'remark',

+ 35 - 3
src/views/bpm/handleTask/components/financialManage/invoiceManage/components/addOrEditDialog.vue

@@ -28,6 +28,8 @@
                 <el-option label="对账单" :value="1"></el-option>
                 <el-option label="合同" :value="2"></el-option>
                 <el-option label="订单" :value="3"></el-option>
+                <el-option label="应收" :value="5"></el-option>
+              <el-option label="应付" :value="4"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -46,6 +48,22 @@
               <el-input v-model="form.sourceCode" :disabled="true"></el-input>
             </el-form-item>
           </el-col>
+          <el-col :span="12" v-if="form.sourceType == 5">
+          <el-form-item label="应收" prop="sourceCode">
+            <el-input
+              v-model="form.sourceCode"
+              :disabled="true"
+            ></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12" v-if="form.sourceType == 4">
+          <el-form-item label="应付" prop="sourceCode">
+            <el-input
+              v-model="form.sourceCode"
+              :disabled="true"
+            ></el-input>
+          </el-form-item>
+        </el-col>
           <el-col :span="12">
             <el-form-item label="金额" prop="amount">
               <el-input-number
@@ -142,8 +160,18 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="发票类型" prop="category">
-            <el-radio :disabled="taskDefinitionKey != 'starter'" v-model="form.category" :label="2">增值税普通发票</el-radio>
-            <el-radio :disabled="taskDefinitionKey != 'starter'" v-model="form.category" :label="1">增值税专用发票</el-radio>
+            <el-radio
+              :disabled="taskDefinitionKey != 'starter'"
+              v-model="form.category"
+              :label="2"
+              >增值税普通发票</el-radio
+            >
+            <el-radio
+              :disabled="taskDefinitionKey != 'starter'"
+              v-model="form.category"
+              :label="1"
+              >增值税专用发票</el-radio
+            >
           </el-form-item>
         </el-col>
         <el-col :span="12">
@@ -389,7 +417,11 @@
         return new Promise((resolve, reject) => {
           this.$refs.form.validate(async (valid) => {
             if (!valid) return this.$message.warning('有必填项未填,请检查');
-            let tableData = await this.$refs.table.getTableValidate();
+            let tableData = {};
+            console.log(this.form.sourceType,'this.form.sourceType')
+            if (this.form.sourceType != 4 && this.form.sourceType != 5) {
+              tableData = await this.$refs.table.getTableValidate();
+            }
             this.form.link = tableData.link;
             this.form.detailList = tableData.detailList;
             const API = invoiceApplyUpdateAPI;

+ 12 - 0
src/views/bpm/handleTask/components/financialManage/invoiceManage/components/detailDialog.vue

@@ -24,6 +24,8 @@
                 <el-option label="对账单" :value="1"></el-option>
                 <el-option label="合同" :value="2"></el-option>
                 <el-option label="订单" :value="3"></el-option>
+                <el-option label="应收" :value="5"></el-option>
+                <el-option label="应付" :value="4"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -42,6 +44,16 @@
               <el-input v-model="form.sourceCode" :disabled="true"></el-input>
             </el-form-item>
           </el-col>
+          <el-col :span="12" v-if="form.sourceType == 5">
+            <el-form-item label="应收" prop="sourceCode">
+              <el-input v-model="form.sourceCode" :disabled="true"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" v-if="form.sourceType == 4">
+            <el-form-item label="应付" prop="sourceCode">
+              <el-input v-model="form.sourceCode" :disabled="true"></el-input>
+            </el-form-item>
+          </el-col>
           <el-col :span="12">
             <el-form-item
               label="金额"

+ 149 - 123
src/views/bpm/handleTask/components/financialManage/payableManage/components/detailDialog.vue

@@ -7,12 +7,14 @@
           <el-form-item
             label="应付日期"
             prop="payableDate"
-            style="margin-bottom: 22px">
+            style="margin-bottom: 22px"
+          >
             <el-date-picker
               style="width: 100%"
               v-model="form.payableDate"
               type="date"
-              value-format="yyyy-MM-dd">
+              value-format="yyyy-MM-dd"
+            >
             </el-date-picker>
           </el-form-item>
         </el-col>
@@ -20,10 +22,16 @@
           <el-form-item
             label="应付金额"
             prop="payableTotalPrice"
-            style="margin-bottom: 22px">
-            <el-input-number disabled v-model="form.payableTotalPrice" :precision="2" :controls="false"
-                             style="width: 100%"
-                             :min="0"></el-input-number>
+            style="margin-bottom: 22px"
+          >
+            <el-input-number
+              disabled
+              v-model="form.payableTotalPrice"
+              :precision="2"
+              :controls="false"
+              style="width: 100%"
+              :min="0"
+            ></el-input-number>
           </el-form-item>
         </el-col>
       </el-row>
@@ -32,7 +40,8 @@
           <el-form-item
             label="会计科目"
             prop="accountingSubjectId"
-            style="margin-bottom: 22px">
+            style="margin-bottom: 22px"
+          >
             <ele-tree-select
               clearable
               filterable
@@ -51,46 +60,55 @@
           <el-form-item
             label="发票编码"
             prop="invoiceCode"
-            style="margin-bottom: 22px">
+            style="margin-bottom: 22px"
+          >
             <el-input disabled v-model="form.invoiceCode"></el-input>
           </el-form-item>
         </el-col>
-
-
       </el-row>
       <el-row :gutter="12">
         <el-col :span="12">
           <el-form-item
             label="来源类型"
             prop="sourceType"
-            style="margin-bottom: 22px">
-            <el-input :value="form.sourceType==2?'合同':form.sourceType==3?'采购订单':'对账单'" disabled></el-input>
+            style="margin-bottom: 22px"
+          >
+            <el-input
+              :value="
+                form.sourceType == 2
+                  ? '合同'
+                  : form.sourceType == 3
+                  ? '采购订单'
+                  : '对账单'
+              "
+              disabled
+            ></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item
             label="来源编码"
             prop="sourceCode"
-            style="margin-bottom: 22px">
+            style="margin-bottom: 22px"
+          >
             <el-input v-model="form.sourceCode" disabled></el-input>
           </el-form-item>
         </el-col>
       </el-row>
 
-
       <el-row :gutter="12">
         <el-col :span="12">
           <el-form-item
             label="公司名称"
             prop="contactName"
-            style="margin-bottom: 22px">
+            style="margin-bottom: 22px"
+          >
             <el-input disabled v-model="form.contactName"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="附件">
-            <fileMain v-model="form.files" ></fileMain>
-
+            <fileMain v-model="form.files"></fileMain>
           </el-form-item>
         </el-col>
       </el-row>
@@ -99,126 +117,134 @@
 </template>
 
 <script>
-import {getFile} from '@/api/system/file';
-import dictMixins from '@/mixins/dictMixins';
-import fileUpload from "@/components/upload/fileUpload.vue";
-
-import personSelect from "@/components/CommomSelect/person-select.vue";
+  import { getFile } from '@/api/system/file';
+  import dictMixins from '@/mixins/dictMixins';
+  import fileUpload from '@/components/upload/fileUpload.vue';
 
-import {invoiceApplyInfoAPI} from "@/api/bpm/components/financialManage/invoiceManage";
-import tableInfo from "@/views/bpm/handleTask/components/financialManage/invoiceManage/components/tableInfo.vue";
-import {finPayableUpdateAPI, getFinPayableInfoAPI} from "@/api/bpm/components/financialManage/payableManage";
-import {getTreeByPid} from "@/api/classifyManage";
-import fileMain from "@/components/addDoc/index.vue";
+  import personSelect from '@/components/CommomSelect/person-select.vue';
 
+  import { invoiceApplyInfoAPI } from '@/api/bpm/components/financialManage/invoiceManage';
+  import tableInfo from '@/views/bpm/handleTask/components/financialManage/invoiceManage/components/tableInfo.vue';
+  import {
+    finPayableUpdateAPI,
+    getFinPayableInfoAPI
+  } from '@/api/bpm/components/financialManage/payableManage';
+  import { getTreeByPid } from '@/api/classifyManage';
+  import fileMain from '@/components/addDoc/index.vue';
 
-export default {
-  mixins: [dictMixins],
-  components: {
-    fileMain,
-    tableInfo,
-    personSelect,
-    fileUpload
-  },
-  data() {
-    return {
-      dialogType: '',
-      form: {
-        accountingSubjectCode: "",
-        accountingSubjectId: '',
-        accountingSubjectName: "",
-        contactId: '',
-        contactName: "",
-        files: [],
-        id: '',
-        invoiceCode: "",
-        payableDate: "",
-        payableTotalPrice: '',
-        receivedTotalPrice: '',
-        remark: "",
-        sourceCode: "",
-        sourceId: "",
-        sourceType: '',
-        unreceiveTotalPrice: 0
-      },
-      accountingSubjectList: [],
-      rules: {
-        accountingSubjectId: {required: true, message: '请选择', trigger: 'change'},
-        payableDate: {required: true, message: '请选择', trigger: 'change'},
-      }
-    };
-  },
-  props: {
-    businessId: {
-      default: ''
-    },
-    taskDefinitionKey: {
-      default: ''
+  export default {
+    mixins: [dictMixins],
+    components: {
+      fileMain,
+      tableInfo,
+      personSelect,
+      fileUpload
     },
-  },
-  async created() {
-    await this.getInfo(this.businessId)
-  },
-  methods: {
-    //获取详情
-    async getInfo(id) {
-      await this.getClassifyList(24, 'accountingSubjectList')
-      let data = await getFinPayableInfoAPI(id)
-      this.form = data
-      let invoiceData = await invoiceApplyInfoAPI(data.invoiceId)
-      this.form.accountingSubjectCode = invoiceData.accountingSubjectCode
-      this.form.accountingSubjectId = invoiceData.accountingSubjectId
-      this.form.accountingSubjectName = invoiceData.accountingSubjectName
+    data() {
+      return {
+        dialogType: '',
+        form: {
+          accountingSubjectCode: '',
+          accountingSubjectId: '',
+          accountingSubjectName: '',
+          contactId: '',
+          contactName: '',
+          files: [],
+          id: '',
+          invoiceCode: '',
+          payableDate: '',
+          payableTotalPrice: '',
+          receivedTotalPrice: '',
+          remark: '',
+          sourceCode: '',
+          sourceId: '',
+          sourceType: '',
+          unreceiveTotalPrice: 0
+        },
+        accountingSubjectList: [],
+        rules: {
+          accountingSubjectId: {
+            required: true,
+            message: '请选择',
+            trigger: 'change'
+          },
+          payableDate: { required: true, message: '请选择', trigger: 'change' }
+        }
+      };
     },
-    downloadFile(file) {
-      getFile({objectName: file.storePath}, file.name);
-    },
-
-    //获取分类管理中的数据
-    async getClassifyList(id, listName) {
-      let res = await getTreeByPid(id)
-      this[listName] = res.data
+    props: {
+      businessId: {
+        default: ''
+      },
+      taskDefinitionKey: {
+        default: ''
+      }
     },
-    //获取会计科目选中数据
-    changeSubjectInfo(val) {
-      if (!val) return this.form.accountingSubjectName = ''
-      let data = this.$refs.treeSelect?.$refs?.tree?.getCurrentNode() || {}
-      this.form.accountingSubjectName = data.name
+    async created() {
+      await this.getInfo(this.businessId);
     },
-    getTableValue() {
-      return new Promise((resolve, reject) => {
-        this.$refs.form.validate(async valid => {
-          if (!valid) return this.$message.warning('有必填项未填,请检查')
-          const API = finPayableUpdateAPI
-          const res = await API(this.form)
-          res.code == '0' ? resolve('1') : reject(new Error(data.message))
-        })
-      })
+    methods: {
+      //获取详情
+      async getInfo(id) {
+        await this.getClassifyList(24, 'accountingSubjectList');
+        let data = await getFinPayableInfoAPI(id);
+        this.form = data;
+        let invoiceData = {};
+        if (data.invoiceId) {
+          invoiceData = await invoiceApplyInfoAPI(data.invoiceId);
+        }
+        this.form.accountingSubjectCode = invoiceData.accountingSubjectCode;
+        this.form.accountingSubjectId = invoiceData.accountingSubjectId;
+        this.form.accountingSubjectName = invoiceData.accountingSubjectName;
+      },
+      downloadFile(file) {
+        getFile({ objectName: file.storePath }, file.name);
+      },
 
-    },
-    cancel() {
-      this.$emit('update:detailDialogFlag', false)
+      //获取分类管理中的数据
+      async getClassifyList(id, listName) {
+        let res = await getTreeByPid(id);
+        this[listName] = res.data;
+      },
+      //获取会计科目选中数据
+      changeSubjectInfo(val) {
+        if (!val) return (this.form.accountingSubjectName = '');
+        let data = this.$refs.treeSelect?.$refs?.tree?.getCurrentNode() || {};
+        this.form.accountingSubjectName = data.name;
+      },
+      getTableValue() {
+        return new Promise((resolve, reject) => {
+          this.$refs.form.validate(async (valid) => {
+            if (!valid) return this.$message.warning('有必填项未填,请检查');
+            const API = finPayableUpdateAPI;
+            const res = await API(this.form);
+            res.code == '0' ? resolve('1') : reject(new Error(data.message));
+          });
+        });
+      },
+      cancel() {
+        this.$emit('update:detailDialogFlag', false);
+      }
     }
-  }
-};
+  };
 </script>
 
 <style scoped lang="scss">
-.ele-dialog-form {
-  .el-form-item {
-    margin-bottom: 10px;
+  .ele-dialog-form {
+    .el-form-item {
+      margin-bottom: 10px;
+    }
   }
-}
 
-.headbox {
-  display: flex;
-  justify-content: flex-start;
-  align-items: center;
+  .headbox {
+    display: flex;
+    justify-content: flex-start;
+    align-items: center;
 
-  .amount {
-    font-size: 14px;
-    font-weight: bold;
-    margin-right: 20px;
+    .amount {
+      font-size: 14px;
+      font-weight: bold;
+      margin-right: 20px;
+    }
   }
-}
 </style>

+ 1 - 1
src/views/bpm/handleTask/components/inquiryManage/inventoryTable.vue

@@ -473,7 +473,7 @@
             minWidth: 120,
             prop: 'produceType',
             align: 'center',
-            label: '生产类型',
+            label: '属性类型',
             showOverflowTooltip: true,
             formatter: (row, column) => {
               return row.produceType && row.produceType.length

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

@@ -60,11 +60,11 @@
             {{ form.useTo }}
           </el-form-item>
         </el-col>
-        <el-col :span="12">
+        <!-- <el-col :span="12">
           <el-form-item label="完成日期:" prop="finishDate">
             {{ form.finishDate }}
           </el-form-item>
-        </el-col>
+        </el-col> -->
         <el-col :span="12">
           <el-form-item prop="remark" label="备注:">
             {{ form.remark }}

+ 3 - 3
src/views/bpm/handleTask/components/purchaseOrder/accountstatement/inventoryTable.vue

@@ -5,11 +5,11 @@
         <div style="margin-bottom: 10px;font-weight: bold;">
           <div>
             <el-divider direction="vertical"></el-divider>
-            <span>销售订单:</span>
+            <span>采购订单:</span>
             <span>{{ item.orderNo }}</span>
             <el-divider direction="vertical"></el-divider>
-            <span>计价方式:</span>
-            <span> {{ item.pricingWay == 1 ? '按数量计费' : '按重量计费' }}</span>
+            <!-- <span>计价方式:</span>
+            <span> {{ item.pricingWay == 1 ? '按数量计费' : '按重量计费' }}</span> -->
             <el-divider direction="vertical"></el-divider>
             <span>总金额:</span>
             <span>{{item.amountTotalPrice}}</span>

+ 17 - 4
src/views/bpm/handleTask/components/purchaseOrder/accountstatement/purchaseForm.vue

@@ -11,9 +11,11 @@
             v-model="dataForm.sourceType"
             @change="handleChange"
             placeholder="请选择">
-            <el-option label="供应商" :value="1"/>
-            <!--            <el-option label="项目" :value="2"/>-->
-            <el-option label="采购订单" :value="3"/>
+            <el-option label="供应商" :value="1" />
+            <!-- <el-option label="项目" :value="2"/> -->
+            <el-option label="合同" :value="4" />
+
+            <el-option label="采购订单" :value="3" />
           </el-select>
         </el-form-item>
       </el-col>
@@ -26,7 +28,18 @@
         <!--          <el-input :disabled="dialogType=='view'" v-model="dataForm.projectId" @click.native="handleGetOrd"></el-input>-->
         <!--        </el-form-item>-->
         <el-form-item label="选择订单" prop="orderId" v-if="dataForm.sourceType ==3">
-          <el-input :disabled="dialogType=='view'" v-model="dataForm.orderNo" @click.native="handleGetOrd"></el-input>
+          <el-input :disabled="dialogType=='view'" v-model="dataForm.sourceName" @click.native="handleGetOrd"></el-input>
+        </el-form-item>
+        <el-form-item
+          label="选择合同"
+          prop="contractId"
+          v-if="dataForm.sourceType == 4"
+        >
+          <el-input
+           :disabled="dialogType=='view'"
+            v-model="dataForm.sourceName"
+            @click.native="handleGetContract"
+          ></el-input>
         </el-form-item>
       </el-col>
     </el-row>

+ 7 - 7
src/views/bpm/handleTask/components/purchaseOrder/invoice/inventoryTable.vue

@@ -387,13 +387,13 @@ export default {
                 : '';
             }
           },
-        {
-          width: 80,
-          prop: 'deliveryDays',
-          label: '交期(天)',
-          slot: 'deliveryDays',
-          align: 'center'
-        },
+        // {
+        //   width: 80,
+        //   prop: 'deliveryDays',
+        //   label: '交期(天)',
+        //   slot: 'deliveryDays',
+        //   align: 'center'
+        // },
         {
           width: 160,
           prop: 'deliveryDeadline',

+ 265 - 259
src/views/bpm/handleTask/components/purchaseOrder/invoice/receiptInfo.vue

@@ -77,206 +77,211 @@
           </el-form-item> -->
       </el-row>
     </el-form>
-    <div class="fontSize" style="margin-bottom: 12px;">物品清单</div>
-    <ele-pro-table ref="table" :needPage="false" :columns="columns" :toolkit="[]" :datasource="detailData.productList"
-      row-key="id">
+    <div class="fontSize" style="margin-bottom: 12px">物品清单</div>
+    <ele-pro-table
+      ref="table"
+      :needPage="false"
+      :columns="columns"
+      :toolkit="[]"
+      :datasource="detailData.productList"
+      row-key="id"
+    >
       <template v-slot:technicalDrawings="{ row }">
         <fileMain v-model="row.receiveFiles" type="view"></fileMain>
       </template>
     </ele-pro-table>
     <!-- </el-card> -->
-
   </div>
 </template>
 
 <script>
-import { reviewStatusEnum } from '@/enum/dict';
-import dictMixins from '@/mixins/dictMixins';
+  import { reviewStatusEnum } from '@/enum/dict';
+  import dictMixins from '@/mixins/dictMixins';
 
-import fileMain from '@/components/addDoc/index.vue';
-export default {
-  components: { fileMain },
-  mixins: [dictMixins],
+  import fileMain from '@/components/addDoc/index.vue';
+  export default {
+    components: { fileMain },
+    mixins: [dictMixins],
 
-  props: {
-    form: { type: Object, default: () => { } },
-    detailData: { type: Object, default: () => { } },
-  },
+    props: {
+      form: { type: Object, default: () => {} },
+      detailData: { type: Object, default: () => {} }
+    },
 
-  data() {
-    return {
-      reviewStatusEnum,
-      columns: [
-        {
-          width: 45,
-          type: 'index',
-          columnKey: 'index',
-          align: 'center',
-          fixed: 'left'
-        },
-        {
-          width: 200,
-          prop: 'productName',
-          label: '名称',
-          slot: 'productName',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'productCode',
-          label: '编码',
-          slot: 'productCode',
-          align: 'center'
-        },
-        {
-          width: 200,
-          prop: 'productCategoryName',
-          label: '类型',
-          slot: 'productCategoryName',
-          align: 'center'
-        },
-        {
-          width: 160,
-          prop: 'productBrand',
-          label: '牌号',
-          slot: 'productBrand',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'modelType',
-          label: '型号',
-          slot: 'modelType',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'supplierMark',
-          label: '供应商代号',
-          slot: 'supplierMark',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'specification',
-          label: '规格',
-          slot: 'specification',
-          align: 'center'
-        },
-        {
-          width: 200,
-          prop: 'warehouseName',
-          label: '仓库名称',
-          slot: 'warehouseName',
-          align: 'center'
-        },
-        {
-          width: 80,
-          prop: 'totalCount',
-          label: '进货数量',
-          slot: 'totalCount',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'orderTotalCount',
-          label: '总数量',
-          slot: 'orderTotalCount',
-          align: 'center'
-        },
-        {
-          width: 80,
-          prop: 'measuringUnit',
-          label: '计量单位',
-          slot: 'measuringUnit',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'singleWeight',
-          label: '单重',
-          slot: 'singleWeight',
-          align: 'center'
-        },
-        {
-          width: 200,
-          prop: 'sendTotalWeight',
-          label: '发货总重',
-          slot: 'sendTotalWeight',
-          align: 'center',
-          headerSlot: 'headerTotalCount'
-        },
-        {
-          width: 100,
-          prop: 'receiveTotalWeight',
-          label: '收货总重',
-          slot: 'receiveTotalWeight',
-          align: 'center'
-        },
-        {
-          width: 100,
-          prop: 'increaseTotalWeight',
-          label: '增重重量',
-          slot: 'increaseTotalWeight',
-          align: 'center'
-        },
-        {
-          width: 100,
-          prop: 'weightUnit',
-          label: '重量单位',
-          slot: 'weightUnit',
-          align: 'center'
-        },
-        {
-          width: 160,
-          prop: 'pricingWay',
-          label: '计价方式',
-          slot: 'pricingWay',
-          align: 'center',
-          formatter: (row, column) => {
-            return row.pricingWay == 1
-              ? '按数量计费'
-              : row.pricingWay == 2
+    data() {
+      return {
+        reviewStatusEnum,
+        columns: [
+          {
+            width: 45,
+            type: 'index',
+            columnKey: 'index',
+            align: 'center',
+            fixed: 'left'
+          },
+          {
+            width: 200,
+            prop: 'productName',
+            label: '名称',
+            slot: 'productName',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'productCode',
+            label: '编码',
+            slot: 'productCode',
+            align: 'center'
+          },
+          {
+            width: 200,
+            prop: 'productCategoryName',
+            label: '类型',
+            slot: 'productCategoryName',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'productBrand',
+            label: '牌号',
+            slot: 'productBrand',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'modelType',
+            label: '型号',
+            slot: 'modelType',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'supplierMark',
+            label: '供应商代号',
+            slot: 'supplierMark',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'specification',
+            label: '规格',
+            slot: 'specification',
+            align: 'center'
+          },
+          {
+            width: 200,
+            prop: 'warehouseName',
+            label: '仓库名称',
+            slot: 'warehouseName',
+            align: 'center'
+          },
+          {
+            width: 80,
+            prop: 'totalCount',
+            label: '进货数量',
+            slot: 'totalCount',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'orderTotalCount',
+            label: '总数量',
+            slot: 'orderTotalCount',
+            align: 'center'
+          },
+          {
+            width: 80,
+            prop: 'measuringUnit',
+            label: '计量单位',
+            slot: 'measuringUnit',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'singleWeight',
+            label: '单重',
+            slot: 'singleWeight',
+            align: 'center'
+          },
+          {
+            width: 200,
+            prop: 'sendTotalWeight',
+            label: '发货总重',
+            slot: 'sendTotalWeight',
+            align: 'center',
+            headerSlot: 'headerTotalCount'
+          },
+          {
+            width: 100,
+            prop: 'receiveTotalWeight',
+            label: '收货总重',
+            slot: 'receiveTotalWeight',
+            align: 'center'
+          },
+          {
+            width: 100,
+            prop: 'increaseTotalWeight',
+            label: '增重重量',
+            slot: 'increaseTotalWeight',
+            align: 'center'
+          },
+          {
+            width: 100,
+            prop: 'weightUnit',
+            label: '重量单位',
+            slot: 'weightUnit',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'pricingWay',
+            label: '计价方式',
+            slot: 'pricingWay',
+            align: 'center',
+            formatter: (row, column) => {
+              return row.pricingWay == 1
+                ? '按数量计费'
+                : row.pricingWay == 2
                 ? '按重量计费'
                 : '';
-          }
-        },
-        {
-          width: 160,
-          prop: 'singlePrice',
-          label: '单价',
-          slot: 'singlePrice',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'taxRate',
-          label: '税率',
-          slot: 'taxRate',
-          align: 'center'
-        },
-        {
-          width: 160,
-          prop: 'discountSinglePrice',
-          label: '折后单价',
-          slot: 'discountSinglePrice',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'totalPrice',
-          label: '合计',
-          slot: 'totalPrice',
-          align: 'center'
-        },
-        {
-          width: 160,
-          prop: 'discountTotalPrice',
-          label: '折后合计',
-          slot: 'discountTotalPrice',
-          align: 'center'
-        },
-        {
+            }
+          },
+          {
+            width: 160,
+            prop: 'singlePrice',
+            label: '单价',
+            slot: 'singlePrice',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'taxRate',
+            label: '税率',
+            slot: 'taxRate',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'discountSinglePrice',
+            label: '折后单价',
+            slot: 'discountSinglePrice',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'totalPrice',
+            label: '合计',
+            slot: 'totalPrice',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'discountTotalPrice',
+            label: '折后合计',
+            slot: 'discountTotalPrice',
+            align: 'center'
+          },
+          {
             prop: 'provenance',
             label: '产地',
             slot: 'provenance',
@@ -291,80 +296,81 @@ export default {
                 : '';
             }
           },
-        {
-          width: 80,
-          prop: 'deliveryDays',
-          label: '交期(天)',
-          slot: 'deliveryDays',
-          align: 'center'
-        },
-        {
-          width: 160,
-          prop: 'deliveryDeadline',
-          label: '交期截止日期',
-          slot: 'deliveryDeadline',
-          align: 'center'
-        },
-        {
-          width: 200,
-          prop: 'guaranteePeriod',
-          label: '质保期',
-          slot: 'guaranteePeriod',
-          align: 'center'
-        },
-        {
-          width: 160,
-          prop: 'guaranteePeriodDeadline',
-          label: '质保截止日期',
-          slot: 'guaranteePeriodDeadline',
-          align: 'center'
-        },
-        {
-          width: 130,
-          prop: 'technicalAnswerName',
-          label: '技术答疑人',
-          slot: 'technicalAnswerName',
-          align: 'center'
-        },
-        {
-          width: 220,
-          prop: 'technicalParams',
-          label: '技术参数',
-          slot: 'technicalParams',
-          align: 'center'
-        },
-        {
-          width: 240,
-          prop: 'technicalDrawings',
-          label: '技术图纸',
-          slot: 'technicalDrawings',
-          align: 'center'
-        },
-        {
-          width: 220,
-          prop: 'remark',
-          label: '备注',
-          slot: 'remark',
-          align: 'center'
-        }
-      ]
-    };
-  },
-  created() {
-    console.log(this.detailData, 'detailData')
-    this.requestDict('产地');
-
-  },
-  methods: {
-
-
-  }
-};
+          // {
+          //   width: 80,
+          //   prop: 'deliveryDays',
+          //   label: '交期(天)',
+          //   slot: 'deliveryDays',
+          //   align: 'center'
+          // },
+          {
+            width: 160,
+            prop: 'deliveryDeadline',
+            label: '交期截止日期',
+            slot: 'deliveryDeadline',
+            align: 'center'
+          },
+          {
+            width: 200,
+            prop: 'guaranteePeriod',
+            label: '质保期',
+            slot: 'guaranteePeriod',
+            align: 'center',
+            formatter: (_row, _column, cellValue) => {
+              return (
+                (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName
+              );
+            }
+          },
+          {
+            width: 160,
+            prop: 'guaranteePeriodDeadline',
+            label: '质保截止日期',
+            slot: 'guaranteePeriodDeadline',
+            align: 'center'
+          },
+          {
+            width: 130,
+            prop: 'technicalAnswerName',
+            label: '技术答疑人',
+            slot: 'technicalAnswerName',
+            align: 'center'
+          },
+          {
+            width: 220,
+            prop: 'technicalParams',
+            label: '技术参数',
+            slot: 'technicalParams',
+            align: 'center'
+          },
+          {
+            width: 240,
+            prop: 'technicalDrawings',
+            label: '技术图纸',
+            slot: 'technicalDrawings',
+            align: 'center'
+          },
+          {
+            width: 220,
+            prop: 'remark',
+            label: '备注',
+            slot: 'remark',
+            align: 'center'
+          }
+        ]
+      };
+    },
+    created() {
+      console.log(this.detailData, 'detailData');
+      this.requestDict('产地');
+    },
+    methods: {}
+  };
 </script>
 
 <style scoped lang="scss">
-.fontSize {
-  font-size: 14px;
-  font-weight: bold;
-}
+  .fontSize {
+    font-size: 14px;
+    font-weight: bold;
+  }
 </style>

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

@@ -363,7 +363,7 @@
             width: 120,
             prop: 'produceType',
             align: 'center',
-            label: '生产类型',
+            label: '属性类型',
             formatter: (row, column) => {
               return row?.produceType
                 ?.map((item) => {

+ 1 - 1
src/views/bpm/handleTask/components/saleOrder/invoice/inventoryTable.vue

@@ -373,7 +373,7 @@
             width: 120,
             prop: 'produceType',
             align: 'center',
-            label: '生产类型',
+            label: '属性类型',
             formatter: (row, column) => {
               return row?.produceType
                 ?.map((item) => {

+ 2 - 2
src/views/bpm/handleTask/components/saleOrder/returnGoods/inventoryTableReturn.vue

@@ -737,7 +737,7 @@
             width: 120,
             prop: 'produceType',
             align: 'center',
-            label: '生产类型',
+            label: '属性类型',
             showOverflowTooltip: true,
             formatter: (row, column) => {
               return row.produceType && row.produceType.length
@@ -1286,7 +1286,7 @@
           this.$set(params, 'specification', item.specification);
           this.$set(params, 'weightUnit', item.weightUnit);
           this.$set(params, 'imgCode', item.imgCode);
-          this.$set(params, 'produceType', item.produceType);
+          this.$set(params, 'produceType', item.componentAttribute);
           this.$set(params, 'productionDays', item.productionDays);
           this.$set(params, 'approvalNumber', item.extField.approvalNumber);
           this.$set(params, 'singleWeight', item.roughWeight);

+ 1 - 1
src/views/bpm/handleTask/components/saleOrder/returnGoods/inventoryTableReturnDetail.vue

@@ -241,7 +241,7 @@
             width: 120,
             prop: 'produceType',
             align: 'center',
-            label: '生产类型',
+            label: '属性类型',
             showOverflowTooltip: true,
             formatter: (row, column) => {
               return row.produceType && row.produceType.length