|  |  | 
 |  |  |         :model="editConfig.infomation" | 
 |  |  |         :rules="rules" | 
 |  |  |         label-position="right" | 
 |  |  |         label-width="308px" | 
 |  |  |         label-width="168px" | 
 |  |  |         size="mini" | 
 |  |  |         style="height: 60vh; overflow-x: hidden" | 
 |  |  |       > | 
 |  |  | 
 |  |  |           <div class="basic-info-view"> | 
 |  |  |             <el-row> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="主题" prop="subject"> | 
 |  |  |                   <el-input v-model="editConfig.infomation.subject"></el-input> | 
 |  |  |                 <el-form-item label="发票编号" prop="number"> | 
 |  |  |                   <el-input | 
 |  |  |                     v-if=" | 
 |  |  |                       editConfig.title == '编辑' || | 
 |  |  |                       (editConfig.title == '新建' && codenumer && (explain != '' || isIdDisabled)) | 
 |  |  |                     " | 
 |  |  |                     :disabled="editConfig.title == '编辑'" | 
 |  |  |                     v-model="editConfig.infomation.number" | 
 |  |  |                     placeholder="请输入编码" | 
 |  |  |                   > | 
 |  |  |                   </el-input> | 
 |  |  |                   <span v-else-if="editConfig.title == '新建'" style="color: #f56c6c" | 
 |  |  |                     >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span | 
 |  |  |                   > | 
 |  |  |                   <!-- <WordInput | 
 |  |  |                     v-if="codenumer && (explain != '' || isIdDisabled)&&method == 0" | 
 |  |  |                     :codenumer="codenumer" | 
 |  |  |                     :sum="sum" | 
 |  |  |                     :disabled="isIdDisabled" | 
 |  |  |                     :inputValue="inputValue" | 
 |  |  |                     @codeList="codeList" | 
 |  |  |                   /> | 
 |  |  |                   <span v-else-if="method == 0" style="color: #f56c6c" | 
 |  |  |                     >请优先配置编码规范 | 
 |  |  |                     <el-button type="text"  @click="numberClick"> | 
 |  |  |                         配置规范 | 
 |  |  |                       </el-button | 
 |  |  |                     ></span | 
 |  |  |                   > | 
 |  |  |                   <span  v-else>自动生成</span> --> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="发票编号" prop="number"> | 
 |  |  |                   <el-input v-model="editConfig.infomation.number"></el-input> | 
 |  |  |                 <el-form-item label="主题" prop="subject"> | 
 |  |  |                   <el-input v-model="editConfig.infomation.subject" style="width: 100%"></el-input> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |  | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="客户名称" prop="client_name"> | 
 |  |  |                   <div class="custom-name"> | 
 |  |  | 
 |  |  |                       " | 
 |  |  |                       value-key="name" | 
 |  |  |                       @select="handleSelectClient('client', $event)" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     ></el-autocomplete> | 
 |  |  |                     <div class="common-select-btn" @click="selClientClick('client')"> | 
 |  |  |                       <i class="el-icon-circle-plus-outline" title="选择"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <div class="common-select-btn" @click="clearupClient('client')"> | 
 |  |  |                       <i class="el-icon-edit-outline" title="清除"></i> | 
 |  |  |                     <div | 
 |  |  |                       v-if="editConfig.infomation.client_name && editConfig.infomation.client_name.length > 0" | 
 |  |  |                       class="common-select-btn" | 
 |  |  |                       @click="clearupClient('client')" | 
 |  |  |                     > | 
 |  |  |                       <i class="el-icon-remove-outline" title="清除"></i> | 
 |  |  |                     </div> | 
 |  |  |                   </div> | 
 |  |  |                 </el-form-item> | 
 |  |  | 
 |  |  |                       placeholder="请选择" | 
 |  |  |                       class="common-select-sel" | 
 |  |  |                       size="mini" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     > | 
 |  |  |                       <el-option v-for="item in invoiceTypeOptions" :key="item.id" :label="item.name" :value="item.id"> | 
 |  |  |                       </el-option> | 
 |  |  | 
 |  |  |                       placeholder="请选择" | 
 |  |  |                       class="common-select-sel" | 
 |  |  |                       size="mini" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     > | 
 |  |  |                       <el-option | 
 |  |  |                         v-for="item in invoiceStatusOptions" | 
 |  |  | 
 |  |  |                     v-model="editConfig.infomation.principalId" | 
 |  |  |                     placeholder="请选择" | 
 |  |  |                     size="mini" | 
 |  |  |                     style="width: 63%" | 
 |  |  |                     style="width: 100%" | 
 |  |  |                   > | 
 |  |  |                     <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> | 
 |  |  |                     </el-option> | 
 |  |  | 
 |  |  |                         } | 
 |  |  |                       " | 
 |  |  |                       value-key="number" | 
 |  |  |                       :disabled="this.editCommonConfig.infomation.id ? true : false" | 
 |  |  |                       @select="handleSelectClient('serviceContract', $event)" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     ></el-autocomplete> | 
 |  |  |                     <div class="common-select-btn" @click="selClientClick('serviceContract')"> | 
 |  |  |                       <i class="el-icon-circle-plus-outline" title="选择"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <div class="common-select-btn" @click="clearupClient('serviceContract')"> | 
 |  |  |                       <i class="el-icon-edit-outline" title="清除"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <template v-if="!this.editCommonConfig.infomation.id"> | 
 |  |  |                       <div class="common-select-btn" @click="selClientClick('serviceContract')"> | 
 |  |  |                         <i class="el-icon-circle-plus-outline" title="选择"></i> | 
 |  |  |                       </div> | 
 |  |  |                       <div | 
 |  |  |                         v-if=" | 
 |  |  |                           editConfig.infomation.serviceContract_Number && | 
 |  |  |                           editConfig.infomation.serviceContract_Number.length > 0 | 
 |  |  |                         " | 
 |  |  |                         class="common-select-btn" | 
 |  |  |                         @click="clearupClient('serviceContract')" | 
 |  |  |                       > | 
 |  |  |                         <i class="el-icon-remove-outline" title="清除"></i> | 
 |  |  |                       </div> | 
 |  |  |                     </template> | 
 |  |  |                   </div> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  | 
 |  |  |                 <el-form-item label="合同订单"> | 
 |  |  |                   <div class="custom-name"> | 
 |  |  |                     <el-autocomplete | 
 |  |  |                       v-model="editConfig.infomation.number" | 
 |  |  |                       v-model="editConfig.infomation.contract_number" | 
 |  |  |                       :fetch-suggestions=" | 
 |  |  |                         (queryString, callback) => { | 
 |  |  |                           querySearchAsync(queryString, callback, 'contract') | 
 |  |  |                         } | 
 |  |  |                       " | 
 |  |  |                       value-key="number" | 
 |  |  |                       :disabled="this.editCommonConfig.infomation.id ? true : false" | 
 |  |  |                       @select="handleSelectClient('contract', $event)" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     ></el-autocomplete> | 
 |  |  |                     <div class="common-select-btn" @click="selClientClick('contract')"> | 
 |  |  |                       <i class="el-icon-circle-plus-outline" title="选择"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <div class="common-select-btn" @click="clearupClient('contract')"> | 
 |  |  |                       <i class="el-icon-edit-outline" title="清除"></i> | 
 |  |  |                     </div> | 
 |  |  |                     <template v-if="!this.editCommonConfig.infomation.id"> | 
 |  |  |                       <div class="common-select-btn" @click="selClientClick('contract')"> | 
 |  |  |                         <i class="el-icon-circle-plus-outline" title="选择"></i> | 
 |  |  |                       </div> | 
 |  |  |                       <div | 
 |  |  |                         v-if="editConfig.infomation.contract_number && editConfig.infomation.contract_number.length > 0" | 
 |  |  |                         class="common-select-btn" | 
 |  |  |                         @click="clearupClient('contract')" | 
 |  |  |                       > | 
 |  |  |                         <i class="el-icon-remove-outline" title="清除"></i> | 
 |  |  |                       </div> | 
 |  |  |                     </template> | 
 |  |  |                   </div> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="纳税识别号" prop="taxpayerIdNumber"> | 
 |  |  |                   <el-input v-model="editConfig.infomation.taxpayerIdNumber"></el-input> | 
 |  |  |                   <el-input v-model="editConfig.infomation.taxpayerIdNumber" style="width: 100%"></el-input> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |             </el-row> | 
 |  |  | 
 |  |  |                       placeholder="请选择" | 
 |  |  |                       class="common-select-sel" | 
 |  |  |                       size="mini" | 
 |  |  |                       style="width: 100%" | 
 |  |  |                     > | 
 |  |  |                       <el-option | 
 |  |  |                         v-for="item in courierCompanyOptions" | 
 |  |  | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="物流单号" prop="courierNumber"> | 
 |  |  |                   <el-input v-model="editConfig.infomation.courierNumber"></el-input> | 
 |  |  |                   <el-input v-model="editConfig.infomation.courierNumber" style="width: 100%"></el-input> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  | 
 |  |  |                     value-format="yyyy-MM-dd" | 
 |  |  |                     type="date" | 
 |  |  |                     placeholder="选择日期" | 
 |  |  |                     style="width: 100%" | 
 |  |  |                   > | 
 |  |  |                   </el-date-picker> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |               <el-col :span="12"> | 
 |  |  |                 <el-form-item label="发票号码" prop="invoiceNumber"> | 
 |  |  |                   <el-input v-model="editConfig.infomation.invoiceNumber"></el-input> | 
 |  |  |                   <el-input v-model="editConfig.infomation.invoiceNumber" style="width: 100%"></el-input> | 
 |  |  |                 </el-form-item> | 
 |  |  |               </el-col> | 
 |  |  |             </el-row> | 
 |  |  | 
 |  |  | import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" | 
 |  |  | import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog" | 
 |  |  | import { addInvoice, getInvoiceTypeList, getInvoiceStatusList, getCourierCompanyList } from "@/api/common/payment" | 
 |  |  | import codeMixin from "@/components/makepager/mixin/codeMixin" | 
 |  |  | export default { | 
 |  |  |   name: "AddSaleInvoiceDialog", | 
 |  |  |   mixins: [codeMixin], | 
 |  |  |   props: { | 
 |  |  |     editCommonConfig: { | 
 |  |  |       type: Object, | 
 |  |  | 
 |  |  |   }, | 
 |  |  |   data() { | 
 |  |  |     return { | 
 |  |  |       dialogWidth: "80%", | 
 |  |  |       dialogWidth: "50%", | 
 |  |  |       editConfig: this.editCommonConfig, | 
 |  |  |       rules: { | 
 |  |  |         number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }], | 
 |  |  |         subject: [{ required: true, message: "请输入主题", trigger: "blur" }], | 
 |  |  |         client_name: [{ required: true, message: "请选择客户名称", trigger: "change" }], | 
 |  |  |         invoiceTypeId: [{ required: true, message: "请选择票据类型", trigger: "change" }], | 
 |  |  | 
 |  |  |         show: true, | 
 |  |  |         total: true, | 
 |  |  |         sumProp: ["Amount", "Unit", "total"], | 
 |  |  |         mergeNumber: 3 | 
 |  |  |         mergeNumber: 2 | 
 |  |  |       }, | 
 |  |  |       editSelectClientConfig: { | 
 |  |  |         editVisible: false, | 
 |  |  | 
 |  |  |         infomation: {} | 
 |  |  |       }, | 
 |  |  |       clientId: this.editCommonConfig.infomation.client_id, | 
 |  |  |       SalesDetailsId: this.editCommonConfig.infomation.SalesDetailsId, | 
 |  |  |       SalesDetailsId: this.editCommonConfig.infomation.id, | 
 |  |  |       serviceContractId: this.editCommonConfig.infomation.id, | 
 |  |  |       tableData: [] | 
 |  |  |       tableData: [], | 
 |  |  |       productId: 1, | 
 |  |  |       isNoProduct: true | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   created() { | 
 |  |  | 
 |  |  |     this.$store.dispatch("geSalesDetails") | 
 |  |  |     this.setTableForm() | 
 |  |  |     this.getCommonData() | 
 |  |  |     this.formInfo() | 
 |  |  |   }, | 
 |  |  |   watch: { | 
 |  |  |     "editCommonConfig.visible"(val) { | 
 |  |  |       if (val) { | 
 |  |  |         this.formInfo() | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   methods: { | 
 |  |  |     formInfo() { | 
 |  |  |       this.objCode.type = "销售发票编码" | 
 |  |  |       this.objCode.codeStandID = "" | 
 |  |  |       if (this.editConfig.infomation.codeStandID) { | 
 |  |  |         this.objCode.codeStandID = this.editConfig.infomation.codeStandID | 
 |  |  |       } | 
 |  |  |       this.getRCodeStandardList() | 
 |  |  |     }, | 
 |  |  |     getCommonData() { | 
 |  |  |       getAllData().then((res) => { | 
 |  |  |         if (res.code === 200) { | 
 |  |  | 
 |  |  |       this.getInvoiceTypeList() | 
 |  |  |       this.getInvoiceStatusList() | 
 |  |  |       this.getCourierCompanyList() | 
 |  |  |       this.$set(this.editConfig.infomation, "serviceContract_Number", this.editCommonConfig.infomation.keyword) | 
 |  |  |       this.$set(this.editConfig.infomation, "contract_number", this.editCommonConfig.infomation.keyword) | 
 |  |  |     }, | 
 |  |  |     async getInvoiceTypeList() { | 
 |  |  |       await getInvoiceTypeList().then((res) => { | 
 |  |  |         console.log("票据类型") | 
 |  |  |         console.log(res.data) | 
 |  |  |         if (res.data.code === 200) { | 
 |  |  |           this.invoiceTypeOptions = res.data.data.data | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |       const res = await getInvoiceTypeList() | 
 |  |  |       if (res.code == 200) { | 
 |  |  |         this.invoiceTypeOptions = res.data.data | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     async getInvoiceStatusList() { | 
 |  |  |       await getInvoiceStatusList().then((res) => { | 
 |  |  |         console.log("票据状态") | 
 |  |  |         console.log(res.data) | 
 |  |  |         if (res.data.code === 200) { | 
 |  |  |           this.invoiceStatusOptions = res.data.data.data | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |       const res = await getInvoiceStatusList() | 
 |  |  |       if (res.code == 200) { | 
 |  |  |         this.invoiceStatusOptions = res.data.data | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     async getCourierCompanyList() { | 
 |  |  |       await getCourierCompanyList().then((res) => { | 
 |  |  |         console.log("物流公司") | 
 |  |  |         console.log(res.data) | 
 |  |  |         if (res.data.code === 200) { | 
 |  |  |           this.courierCompanyOptions = res.data.data.data | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |       const res = await getCourierCompanyList() | 
 |  |  |       if (res.code == 200) { | 
 |  |  |         this.courierCompanyOptions = res.data.data | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     // 保存 | 
 |  |  |     saveClick(formName) { | 
 |  |  |       this.$refs[formName].validate((valid) => { | 
 |  |  |         if (valid) { | 
 |  |  |           console.log(this.editConfig.infomation) | 
 |  |  |           const params = this.saveParams() | 
 |  |  |           console.log(params) | 
 |  |  |           if (this.editConfig.title === "新建") { | 
 |  |  |             addInvoice(params).then((res) => { | 
 |  |  |               console.log(res) | 
 |  |  |               this.editConfig.visible = false | 
 |  |  |               if (res.code === 200) { | 
 |  |  |                 this.$message.success("添加成功") | 
 |  |  |                 this.$parent.getData() | 
 |  |  |               } | 
 |  |  |             }) | 
 |  |  |           for (let i = 0; i < this.tableData.length; i++) { | 
 |  |  |             if (this.tableData[i].name.length === 0) { | 
 |  |  |               this.isNoProduct = true | 
 |  |  |               break | 
 |  |  |             } else { | 
 |  |  |               this.isNoProduct = false | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |           if (this.isNoProduct) { | 
 |  |  |             this.$message.error("产品名称不能为空") | 
 |  |  |           } else { | 
 |  |  |             // getUpdateServiceContract(params).then((res) => { | 
 |  |  |             //   console.log(res) | 
 |  |  |             //   this.editConfig.visible = false | 
 |  |  |             //   if (res.code === 200) { | 
 |  |  |             //     this.$message.success("编辑成功") | 
 |  |  |             //     this.$parent.getData() | 
 |  |  |             //   } | 
 |  |  |             // }) | 
 |  |  |             const params = this.saveParams() | 
 |  |  |             console.log(params) | 
 |  |  |             if (this.editConfig.title === "新建") { | 
 |  |  |               addInvoice(params).then((res) => { | 
 |  |  |                 console.log(res) | 
 |  |  |                 this.editConfig.visible = false | 
 |  |  |                 if (res.code === 200) { | 
 |  |  |                   this.$message.success("添加成功") | 
 |  |  |                   this.$parent.getData() | 
 |  |  |                 } | 
 |  |  |               }) | 
 |  |  |             } else { | 
 |  |  |               // getUpdateServiceContract(params).then((res) => { | 
 |  |  |               //   console.log(res) | 
 |  |  |               //   this.editConfig.visible = false | 
 |  |  |               //   if (res.code === 200) { | 
 |  |  |               //     this.$message.success("编辑成功") | 
 |  |  |               //     this.$parent.getData() | 
 |  |  |               //   } | 
 |  |  |               // }) | 
 |  |  |             } | 
 |  |  |           } | 
 |  |  |         } else { | 
 |  |  |           console.log("error submit") | 
 |  |  | 
 |  |  |         products: this.tableData, | 
 |  |  |         sourceId: this.editConfig.sourceType === 1 ? this.SalesDetailsId : this.serviceContractId, | 
 |  |  |         sourceType: this.editConfig.sourceType, | 
 |  |  |         number: data.number || "", | 
 |  |  |         subject: data.subject || "", | 
 |  |  |         taxpayerIdNumber: data.taxpayerIdNumber || "" | 
 |  |  |       } | 
 |  |  | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     selClient(row, value) { | 
 |  |  |       if (value === "contact") { | 
 |  |  |         this.editConfig.infomation.contact_name = row.name | 
 |  |  |       if (value === "client") { | 
 |  |  |         this.editConfig.infomation.client_name = row.name | 
 |  |  |         this.contactId = row.id | 
 |  |  |       } else if (value === "serviceContract") { | 
 |  |  |         this.editConfig.infomation.serviceContract_Number = row.number | 
 |  |  |         this.serviceContractId = row.id | 
 |  |  |       } else if (value === "contract") { | 
 |  |  |         this.editConfig.infomation.number = row.number | 
 |  |  |         this.editConfig.infomation.contract_number = row.number | 
 |  |  |         this.SalesDetailsId = row.id | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  | 
 |  |  |         this.editConfig.infomation.serviceContract_Number = "" | 
 |  |  |         this.serviceContractId = 0 | 
 |  |  |       } else if (value === "contract") { | 
 |  |  |         this.editConfig.infomation.number = "" | 
 |  |  |         this.editConfig.infomation.contract_number = "" | 
 |  |  |         this.SalesDetailsId = 0 | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  | 
 |  |  |     // 设置允许上传文件格式 | 
 |  |  |     setFormatClick() {}, | 
 |  |  |     setTableForm() { | 
 |  |  |       if (this.editConfig.title === "新建") { | 
 |  |  |       if (this.editConfig.title === "新建" || this.editConfig.infomation.products.length === 0) { | 
 |  |  |         this.tableData = [ | 
 |  |  |           { | 
 |  |  |             id: 1, | 
 |  |  |             Amount: 0, | 
 |  |  |             IsSale: true, | 
 |  |  |             MaterialMode: "", | 
 |  |  |             MinInventory: 0, | 
 |  |  |             Name: "", | 
 |  |  |             Number: "", | 
 |  |  |             PurchaseType: "", | 
 |  |  |             SalePrice: 0, | 
 |  |  |             Unit: "" | 
 |  |  |             productId: this.productId, | 
 |  |  |             id: 0, | 
 |  |  |             amount: 0, | 
 |  |  |             desc: "", | 
 |  |  |             name: "", | 
 |  |  |             number: "", | 
 |  |  |             price: 0, | 
 |  |  |             total: 0 | 
 |  |  |           } | 
 |  |  |         ] | 
 |  |  |       } else { | 
 |  |  |         this.tableData = this.editConfig.infomation.products | 
 |  |  |         this.tableData.map((item, index) => { | 
 |  |  |           item.productId = index + 1 | 
 |  |  |         }) | 
 |  |  |       } | 
 |  |  |       this.productTableList = { | 
 |  |  |         tableData: this.tableData, | 
 |  |  |         tableColumn: [ | 
 |  |  |           { label: "#", prop: "id", width: 40 }, | 
 |  |  |           { label: "产品名称", prop: "Name", input: true, isRequird: true }, | 
 |  |  |           { label: "产品编号", prop: "Number" }, | 
 |  |  |           { label: "数量", prop: "Amount", input: true, isRequird: true }, | 
 |  |  |           { label: "销售单价", prop: "Unit", input: true }, | 
 |  |  |           { label: "价税合计", prop: "total", input: true }, | 
 |  |  |           { label: "描述", prop: "other8" } | 
 |  |  |           { label: "#", prop: "productId", width: 40 }, | 
 |  |  |           { label: "产品名称", prop: "name", productName: true, isRequird: true }, | 
 |  |  |           { label: "产品编号", prop: "number" }, | 
 |  |  |           { label: "数量", prop: "amount", inputNumber: true, isRequird: true }, | 
 |  |  |           { label: "销售单价", prop: "price", inputFloat: true }, | 
 |  |  |           { label: "价税合计", prop: "total", inputFloat: true } | 
 |  |  |         ] | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     // 产品列表输入 | 
 |  |  |     inputContent(val, prop, row) { | 
 |  |  |       console.log("aaaaaaaa") | 
 |  |  |       console.log(val, prop) | 
 |  |  |       this.productId = row.id | 
 |  |  |       this.productId = row.productId | 
 |  |  |       this.tableData.map((item) => { | 
 |  |  |         if (item.id === row.id) { | 
 |  |  |         if (item.productId === row.productId) { | 
 |  |  |           item[prop] = val | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |       console.log(this.tableData) | 
 |  |  |     }, | 
 |  |  |     // 产品新增 | 
 |  |  |     addProductClick() { | 
 |  |  |       this.productId++ | 
 |  |  |       this.tableData.push({ | 
 |  |  |         id: this.productId, | 
 |  |  |         Amount: 0, | 
 |  |  |         IsSale: true, | 
 |  |  |         MaterialMode: "", | 
 |  |  |         MinInventory: 0, | 
 |  |  |         Name: "", | 
 |  |  |         Number: "", | 
 |  |  |         PurchaseType: "", | 
 |  |  |         SalePrice: 0, | 
 |  |  |         Unit: "" | 
 |  |  |         productId: this.productId, | 
 |  |  |         id: 0, | 
 |  |  |         amount: 0, | 
 |  |  |         desc: "", | 
 |  |  |         name: "", | 
 |  |  |         number: "", | 
 |  |  |         price: 0, | 
 |  |  |         total: 0 | 
 |  |  |       }) | 
 |  |  |       this.showSummary.show = true | 
 |  |  |     }, | 
 |  |  |     //  产品清空 | 
 |  |  |     emptyProductClick() { | 
 |  |  |       this.productId = 1 | 
 |  |  |       this.tableData = [ | 
 |  |  |         { | 
 |  |  |           productId: this.productId, | 
 |  |  |           id: 0, | 
 |  |  |           Amount: 0, | 
 |  |  |           IsSale: true, | 
 |  |  |           MaterialMode: "", | 
 |  |  |           MinInventory: 0, | 
 |  |  |           Name: "", | 
 |  |  |           Number: "", | 
 |  |  |           PurchaseType: "", | 
 |  |  |           SalePrice: 0, | 
 |  |  |           Unit: "" | 
 |  |  |           amount: 0, | 
 |  |  |           desc: "", | 
 |  |  |           name: "", | 
 |  |  |           number: "", | 
 |  |  |           price: 0, | 
 |  |  |           total: 0 | 
 |  |  |         } | 
 |  |  |       ] | 
 |  |  |       this.productTableList.tableData = this.tableData | 
 |  |  |     }, | 
 |  |  |     // 产品重算 | 
 |  |  |     recalculateProductClick() {} | 
 |  |  |     recalculateProductClick() {}, | 
 |  |  |     clearupProduct(data) { | 
 |  |  |       this.tableData = data | 
 |  |  |       this.productTableList.tableData = this.tableData | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | </script> |