Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-VUEUI
| | |
| | | "jsencrypt": "3.0.0-rc.1", |
| | | "moment": "^2.30.1", |
| | | "nprogress": "0.2.0", |
| | | "print-js": "^1.6.0", |
| | | "quill": "2.0.2", |
| | | "screenfull": "5.0.2", |
| | | "sortablejs": "^1.10.2", |
| | |
| | | |
| | | <script> |
| | | import ThemePicker from "@/components/ThemePicker" |
| | | require("@/utils/grhtml5-6.8-min"); |
| | | |
| | | export default { |
| | | name: "App", |
| | |
| | | title: "采购退料单列表(已入库)", |
| | | activeMenu: "purchase/postockInBack", |
| | | }, |
| | | } |
| | | }, |
| | | ], |
| | | }, |
| | | //#endregion |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | |
| | | //#region 器具主档 |
| | | { |
| | |
| | | ], |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | //#endregion |
| | | |
| | | //#region 器具仓存管理 |
| | | //#region 器具领用申请单列表 |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | |
| | | //#region 器具领用申请单 |
| | | { |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | |
| | | //#region 器具领用退库单列表 |
| | | { |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | //#endregion |
| | | //#endregion |
| | | |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | //#endregion |
| | | |
| | | //#region OA基础资料 |
| | |
| | | children: [ |
| | | { |
| | | path: "/basic/gy/gyCartypelist", |
| | | component: () => import("@/views/basic/gyCartypelist/gyCartypelist.vue"), |
| | | component: () => |
| | | import("@/views/basic/gyCartypelist/gyCartypelist.vue"), |
| | | name: "GyCartype", |
| | | meta: { title: "车型列表", activeMenu: "basic/gy" }, |
| | | }, |
| | |
| | | |
| | | //#region 费用基础资料 |
| | | //#region 费用项目列表 |
| | | {//src\views\basic\gyItemMoney\gyItemMoney.vue |
| | | { |
| | | //src\views\basic\gyItemMoney\gyItemMoney.vue |
| | | path: "/basic/gy/gyItemMoney", |
| | | component: Layout, |
| | | hidden: true, |
| | |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | |
| | | |
| | | //#region 辅助属性基础资料 |
| | | {//src\views\basic\gyItemMoney\gyItemMoney.vue |
| | | { |
| | | //src\views\basic\gyItemMoney\gyItemMoney.vue |
| | | path: "/basic", |
| | | component: Layout, |
| | | hidden: true, |
| | |
| | | component: () => import("@/views/component/printList/hBarPlanPrint"), |
| | | hidden: true, |
| | | }, |
| | | //#region 打印列表(网页) |
| | | { |
| | | path: "/hBarPlanPrintWeb", |
| | | component: () => import("@/views/component/printList/barcode.vue"), |
| | | hidden: true, |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | //#endregion |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="验收"> |
| | | <el-input v-model="form.HSecManagerName" placeholder="验收" style="width: calc(100% - 50px)" /> |
| | | <el-input v-model="form.HSecManagerName" placeholder="验收" style="width: calc(100% - 50px)" /> |
| | | <el-button type="primary" icon="el-icon-search" @click="showEmployeeDialog('inspector')"> |
| | | </el-button> |
| | | </el-form-item> |
| | |
| | | :dialog-type="currentDialogType" |
| | | :dialog-title="employeeDialogTitle" |
| | | @select="handleEmployeeSelect" |
| | | /> |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } |
| | | ], |
| | | selectedRows: [], |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/' |
| | | baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/' |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | } |
| | | console.log(`选择的${type}:`, data) |
| | | }, |
| | | |
| | | |
| | | |
| | | handleSupplierSelect(data, type) { |
| | | this.form.HSupID = data.HItemID |
| | |
| | | console.log('选择的供应商:', data) |
| | | }, |
| | | |
| | | |
| | | |
| | | // 表格操作 |
| | | handleAddLine() { |
| | | this.tableData.push({ |
| | |
| | | } |
| | | |
| | | // 确保表格数据中的仓库ID也有值 |
| | | const hasValidTableData = this.tableData.every(row => |
| | | row.HMaterID && row.HMaterID !== 0 && |
| | | const hasValidTableData = this.tableData.every(row => |
| | | row.HMaterID && row.HMaterID !== 0 && |
| | | row.HUnitID && row.HUnitID !== 0 |
| | | ) |
| | | |
| | | |
| | | if (!hasValidTableData) { |
| | | // this.$message.error('请完善表格中的物料和单位信息') |
| | | // return |
| | |
| | | // }) |
| | | // } |
| | | //const formData=JSON.stringify(this.form)+';'+JSON.stringify(this.tableData)+';'+this.operationType+';'+(sessionStorage['HUserName'] || 'admin'); |
| | | const submitData = |
| | | JSON.stringify(this.form) + ';' + |
| | | JSON.stringify(this.tableData) + ';' + |
| | | this.operationType + ';' + |
| | | const submitData = |
| | | JSON.stringify(this.form) + ';' + |
| | | JSON.stringify(this.tableData) + ';' + |
| | | this.operationType + ';' + |
| | | (sessionStorage['HUserName'] || 'admin') + ';' + |
| | | JSON.stringify({ main: this.form, table: this.tableData }) |
| | | console.log('提交的完整数据:', submitData) |
| | | |
| | | |
| | | const response = await axios.post(`${this.baseURL}/Kf_StepFoldOutBill/Kf_StepFoldOutBillEdit`, { |
| | | sMainSub: submitData |
| | | }) |
| | |
| | | .el-input-number { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | selectedRows: [], |
| | | currentFilterName: '', |
| | | activeCollapse: ['more'], |
| | | baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/" |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/" |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | } |
| | | console.log('请求参数:', requestParams) |
| | | const response = await axios.get(`${this.baseURL}/Gy_Employee/list`, { params: requestParams }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | this.tableData = response.data.data || [] |
| | | this.total = response.data.count || 0 |
| | | |
| | | |
| | | if (response.data.list.length > 0) { |
| | | this.setTableColumns(response.data.list) |
| | | } |
| | |
| | | return ` and ${col} ${com}` |
| | | } |
| | | |
| | | if (q.ColName && q.Comparator && q.Comparator !== '0' && q.ColContent) |
| | | if (q.ColName && q.Comparator && q.Comparator !== '0' && q.ColContent) |
| | | sWhereParts.push(buildComparator(q.ColName, q.Comparator, q.ColContent)) |
| | | if (q.ColName1 && q.Comparator1 && q.Comparator1 !== '0' && q.ColContent1) |
| | | if (q.ColName1 && q.Comparator1 && q.Comparator1 !== '0' && q.ColContent1) |
| | | sWhereParts.push(buildComparator(q.ColName1, q.Comparator1, q.ColContent1)) |
| | | if (q.ColName2 && q.Comparator2 && q.Comparator2 !== '0' && q.ColContent2) |
| | | if (q.ColName2 && q.Comparator2 && q.Comparator2 !== '0' && q.ColContent2) |
| | | sWhereParts.push(buildComparator(q.ColName2, q.Comparator2, q.ColContent2)) |
| | | |
| | | if (q.HNumber) sWhereParts.push(` and 职员代码 like '%${q.HNumber}%'`) |
| | |
| | | this.getEmployeeList(this.buildWhereClause()) |
| | | }, |
| | | |
| | | |
| | | |
| | | handleConfirm() { |
| | | if (this.selectedRows.length === 0) { |
| | | this.$message.warning('请选择职员') |
| | |
| | | this.$emit('update:visible', false) |
| | | }, |
| | | |
| | | |
| | | |
| | | handleCancel() { |
| | | this.$emit('update:visible', false) |
| | | }, |
| | |
| | | ::v-deep .el-table .cell { |
| | | padding: 8px 12px; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | }, |
| | | dialogType: { |
| | | type: String, |
| | | default: 'supplier' |
| | | default: 'supplier' |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | |
| | | |
| | | isVisible: this.visible, |
| | | dialogTitle: '选择供应商', |
| | | queryForm: { |
| | |
| | | selectedRows: [], |
| | | currentFilterName: '', |
| | | activeCollapse: ['more'], |
| | | baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/" |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/" |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | this.initDialog() |
| | | } |
| | | }, |
| | | |
| | | |
| | | isVisible(val) { |
| | | this.$emit('update:visible', val) |
| | | } |
| | |
| | | if (response.data.count === 1) { |
| | | this.organizations = response.data.data |
| | | // 设置默认组织 |
| | | const defaultOrg = sessionStorage.getItem('Organization') || |
| | | const defaultOrg = sessionStorage.getItem('Organization') || |
| | | sessionStorage.getItem('OrganizationID') |
| | | if (defaultOrg) { |
| | | this.queryForm.HUSEORGID = defaultOrg |
| | |
| | | } |
| | | console.log('请求参数:', params) |
| | | const response = await axios.get(`${this.baseURL}/Gy_Supplier/page`, { params }) |
| | | |
| | | |
| | | if (response.data.code == 1) { |
| | | this.tableData = response.data.data || [] |
| | | this.total = response.data.count || 0 |
| | | |
| | | |
| | | if ( response.data.list.length > 0) { |
| | | this.setTableColumns(response.data.list) |
| | | } |
| | |
| | | } |
| | | |
| | | // 添加过滤条件 |
| | | if (q.ColName && q.Comparator && q.Comparator !== '0' && q.ColContent) |
| | | if (q.ColName && q.Comparator && q.Comparator !== '0' && q.ColContent) |
| | | sWhereParts.push(buildComparator(q.ColName, q.Comparator, q.ColContent)) |
| | | if (q.ColName1 && q.Comparator1 && q.Comparator1 !== '0' && q.ColContent1) |
| | | if (q.ColName1 && q.Comparator1 && q.Comparator1 !== '0' && q.ColContent1) |
| | | sWhereParts.push(buildComparator(q.ColName1, q.Comparator1, q.ColContent1)) |
| | | if (q.ColName2 && q.Comparator2 && q.Comparator2 !== '0' && q.ColContent2) |
| | | if (q.ColName2 && q.Comparator2 && q.Comparator2 !== '0' && q.ColContent2) |
| | | sWhereParts.push(buildComparator(q.ColName2, q.Comparator2, q.ColContent2)) |
| | | |
| | | // 添加基本查询条件 |
| | |
| | | .dialog-footer { |
| | | text-align: right; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="验收"> |
| | | <el-input v-model="form.HSecManagerName" placeholder="验收" style="width: calc(100% - 50px)" /> |
| | | <el-input v-model="form.HSecManagerName" placeholder="验收" style="width: calc(100% - 50px)" /> |
| | | <el-button type="primary" icon="el-icon-search" @click="showEmployeeDialog('inspector')"> |
| | | </el-button> |
| | | </el-form-item> |
| | |
| | | :dialog-type="currentDialogType" |
| | | :dialog-title="employeeDialogTitle" |
| | | @select="handleEmployeeSelect" |
| | | /> |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } |
| | | ], |
| | | selectedRows: [], |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/' |
| | | baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/' |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | } |
| | | console.log(`选择的${type}:`, data) |
| | | }, |
| | | |
| | | |
| | | |
| | | handleSupplierSelect(data, type) { |
| | | this.form.HSupID = data.HItemID |
| | |
| | | console.log('选择的供应商:', data) |
| | | }, |
| | | |
| | | |
| | | |
| | | // 表格操作 |
| | | handleAddLine() { |
| | | this.tableData.push({ |
| | |
| | | } |
| | | |
| | | // 确保表格数据中的仓库ID也有值 |
| | | const hasValidTableData = this.tableData.every(row => |
| | | row.HMaterID && row.HMaterID !== 0 && |
| | | const hasValidTableData = this.tableData.every(row => |
| | | row.HMaterID && row.HMaterID !== 0 && |
| | | row.HUnitID && row.HUnitID !== 0 |
| | | ) |
| | | |
| | | |
| | | if (!hasValidTableData) { |
| | | // this.$message.error('请完善表格中的物料和单位信息') |
| | | // return |
| | |
| | | // }) |
| | | // } |
| | | //const formData=JSON.stringify(this.form)+';'+JSON.stringify(this.tableData)+';'+this.operationType+';'+(sessionStorage['HUserName'] || 'admin'); |
| | | const submitData = |
| | | JSON.stringify(this.form) + ';' + |
| | | JSON.stringify(this.tableData) + ';' + |
| | | this.operationType + ';' + |
| | | const submitData = |
| | | JSON.stringify(this.form) + ';' + |
| | | JSON.stringify(this.tableData) + ';' + |
| | | this.operationType + ';' + |
| | | (sessionStorage['HUserName'] || 'admin') + ';' + |
| | | JSON.stringify({ main: this.form, table: this.tableData }) |
| | | console.log('提交的完整数据:', submitData) |
| | | |
| | | |
| | | const response = await axios.post(`${this.baseURL}/Kf_StepFoldInBill/Kf_StepFoldInBillEdit`, { |
| | | sMainSub: submitData |
| | | }) |
| | |
| | | .el-input-number { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | <el-card> |
| | | <div class="card-body"> |
| | | <h1 style="text-align:center;margin-bottom:20px;"><b>客户资料</b></h1> |
| | | |
| | | |
| | | <el-tabs v-model="activeTab" type="card"> |
| | | <el-tab-pane label="基本信息" name="basic"> |
| | | <el-form ref="form" :model="formData" label-width="100px" :rules="rules"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="客户代码" prop="HNumber"> |
| | | <el-input |
| | | v-model="formData.HNumber" |
| | | <el-input |
| | | v-model="formData.HNumber" |
| | | placeholder="请输入客户代码" |
| | | :readonly="operationType === 3" |
| | | ></el-input> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="创建组织" prop="HCreateOrgID"> |
| | | <el-select |
| | | v-model="formData.HCreateOrgID" |
| | | <el-select |
| | | v-model="formData.HCreateOrgID" |
| | | placeholder="请选择创建组织" |
| | | :disabled="operationType !== 1" |
| | | style="width: 100%" |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="使用组织" prop="HUSEORGID"> |
| | | <el-select |
| | | v-model="formData.HUSEORGID" |
| | | <el-select |
| | | v-model="formData.HUSEORGID" |
| | | placeholder="请选择使用组织" |
| | | :disabled="operationType !== 1" |
| | | style="width: 100%" |
| | |
| | | </el-form> |
| | | </el-tab-pane> |
| | | |
| | | |
| | | |
| | | <el-tab-pane label="其他信息" name="other"> |
| | | <el-form ref="formOther" :model="formData" :rules="rules" label-width="100px"> |
| | | <el-row :gutter="20"> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="地区" prop="HAreaID"> |
| | | <el-input |
| | | v-model="formData.HAreaName" |
| | | <el-input |
| | | v-model="formData.HAreaName" |
| | | placeholder="请选择地区" |
| | | readonly |
| | | style="width: calc(100% - 50px)" |
| | | > |
| | | </el-input> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | style="margin-left: 10px;" |
| | | @click="openAreaDialog" |
| | | ></el-button> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="默认货币"> |
| | | <el-input |
| | | v-model="formData.HCurName" |
| | | <el-input |
| | | v-model="formData.HCurName" |
| | | placeholder="请选择默认货币" |
| | | readonly |
| | | style="width: calc(100% - 50px)" |
| | | > |
| | | </el-input> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | style="margin-left: 10px;" |
| | | @click="openCurrencyDialog" |
| | | ></el-button> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="结算方式"> |
| | | <el-input |
| | | v-model="formData.HSSName" |
| | | <el-input |
| | | v-model="formData.HSSName" |
| | | placeholder="请选择结算方式" |
| | | readonly |
| | | style="width: calc(100% - 50px)" |
| | | > |
| | | </el-input> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | style="margin-left: 10px;" |
| | | @click="openSettleStyleDialog" |
| | | ></el-button> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="客户分类"> |
| | | <el-input |
| | | v-model="formData.HCusTypeName" |
| | | <el-input |
| | | v-model="formData.HCusTypeName" |
| | | placeholder="请选择客户分类" |
| | | readonly |
| | | style="width: calc(100% - 50px)" |
| | | > |
| | | </el-input> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | style="margin-left: 10px;" |
| | | @click="openCustomerTypeDialog" |
| | | ></el-button> |
| | |
| | | </el-card> |
| | | </div> |
| | | |
| | | |
| | | |
| | | <!-- 地区tanchuang --> |
| | | <AreaDialog |
| | | <AreaDialog |
| | | :visible.sync="areaDialogVisible" |
| | | @selected="handleAreaSelected" |
| | | /> |
| | | |
| | | |
| | | |
| | | |
| | | <!-- 货币tanchuang --> |
| | | <CurrencyDialog |
| | | <CurrencyDialog |
| | | :visible.sync="currencyDialogVisible" |
| | | @selected="handleCurrencySelected" |
| | | /> |
| | | |
| | | <!-- 结算方式tanchuang --> |
| | | <SettleStyleDialog |
| | | <SettleStyleDialog |
| | | :visible.sync="settleStyleDialogVisible" |
| | | @selected="handleSettleStyleSelected" |
| | | /> |
| | | |
| | | <!-- 客户分类tanchuang --> |
| | | <CustomerTypeDialog |
| | | <CustomerTypeDialog |
| | | :visible.sync="customerTypeDialogVisible" |
| | | @selected="handleCustomerTypeSelected" |
| | | /> |
| | |
| | | return { |
| | | openEdit: true, |
| | | activeTab: 'basic', |
| | | |
| | | |
| | | // 表单数据 |
| | | formData: { |
| | | HNumber: '', |
| | |
| | | HMateOutEmp: '', |
| | | HCreateOrgID: '', |
| | | HUSEORGID: '', |
| | | |
| | | |
| | | // 其他信息 |
| | | HLinkMan: '', |
| | | HLinkPhone: '', |
| | |
| | | HCusStatus: '', |
| | | HCusTypeName: '', |
| | | HCusTypeID: '0', |
| | | |
| | | |
| | | // 系统信息 |
| | | HCreator: '', |
| | | HCreateDate: '', |
| | |
| | | HDeleteMan: '', |
| | | HDeleteDate: '' |
| | | }, |
| | | |
| | | |
| | | // 验证 |
| | | rules: { |
| | | HNumber: [ |
| | |
| | | { required: true, message: '请选择使用组织', trigger: 'change' } |
| | | ] |
| | | }, |
| | | |
| | | |
| | | organizationList: [], |
| | | |
| | | |
| | | |
| | | |
| | | areaDialogVisible: false, |
| | | currencyDialogVisible: false, |
| | | settleStyleDialogVisible: false, |
| | | customerTypeDialogVisible: false, |
| | | |
| | | |
| | | saveDisabled: false, |
| | | auditDisabled: false, |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/', |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/', |
| | | user: 'admin' |
| | | } |
| | | }, |
| | |
| | | this.formData.HCreator = this.user |
| | | this.formData.HCreateDate = new Date().toLocaleString() |
| | | }, |
| | | |
| | | |
| | | loadOrganizations() { |
| | | axios.get(`${this.baseURL}/Web/GetOrganizations`) |
| | | .then(response => { |
| | |
| | | this.$modal.msgError('加载组织数据失败!') |
| | | }) |
| | | }, |
| | | |
| | | |
| | | handleOperationType() { |
| | | switch (this.operationType) { |
| | | case 1: // 新增 |
| | |
| | | break |
| | | } |
| | | }, |
| | | |
| | | |
| | | |
| | | handleAddNew() { |
| | | this.auditDisabled = true |
| | | this.getMaxBillID() |
| | | }, |
| | | |
| | | |
| | | |
| | | handleSerialAdd() { |
| | | this.formData.HCusTypeName = this.HCusClsName |
| | |
| | | this.setHNumber(this.HCusTypeID) |
| | | this.auditDisabled = true |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | handleEdit() { |
| | | this.loadEditData(this.linterid) |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | handleCopy() { |
| | | this.loadEditData(this.linterid) |
| | | this.auditDisabled = true |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | getMaxBillID() { |
| | | axios.get(`${this.baseURL}/Gy_Customer/GetMAXBillID`) |
| | | .then(response => { |
| | |
| | | console.error('获取最大单据ID失败:', error) |
| | | }) |
| | | }, |
| | | |
| | | |
| | | // 设置流水号 |
| | | setHNumber(typeID) { |
| | | axios.get(`${this.baseURL}/Gy_Customer/getMaxNum`, { |
| | |
| | | this.$modal.msgError('获取流水号失败!') |
| | | }) |
| | | }, |
| | | |
| | | |
| | | loadEditData(interId) { |
| | | axios.get(`${this.baseURL}/Gy_Customer/xg_extendCheckEmp`, { |
| | | params: { HInterID: interId } |
| | |
| | | if (response.data.data && response.data.data.length > 0) { |
| | | const data = response.data.data[0] |
| | | this.populateFormData(data) |
| | | |
| | | |
| | | if (data.审核人 && data.审核人 !== '') { |
| | | this.saveDisabled = true |
| | | this.auditDisabled = true |
| | |
| | | this.$modal.msgError('加载客户数据失败!') |
| | | }) |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | populateFormData(data) { |
| | | this.formData = { |
| | | ...this.formData, |
| | |
| | | HChecker: data.审核人 || '', |
| | | HCheckDate: data.审核日期 || '' |
| | | } |
| | | |
| | | |
| | | this.formData.HUpDater = this.user |
| | | this.formData.HUpDateDate = new Date().toLocaleString() |
| | | }, |
| | | |
| | | |
| | | // 保存 |
| | | async handleSave() { |
| | | const validMain = await new Promise(resolve => { |
| | |
| | | if (this.operationType === 3) { |
| | | // 编辑保存 |
| | | url = `${this.baseURL}/Gy_Customer/AddBill1` |
| | | params = { |
| | | params = { |
| | | oMain: JSON.stringify(formData) + ';' + this.linterid + ';' + this.user + ';Gy_Customer_Edit' |
| | | } |
| | | } |
| | |
| | | |
| | | return callback() |
| | | }, |
| | | |
| | | |
| | | // 表单验证 |
| | | validateForm() { |
| | | if (!this.formData.HNumber) { |
| | | this.$modal.msgWarning('请输入客户代码!') |
| | | return false |
| | | } |
| | | |
| | | |
| | | if (!this.formData.HName) { |
| | | this.$modal.msgWarning('请输入客户名称!') |
| | | return false |
| | | } |
| | | |
| | | |
| | | // 增值税率验证 |
| | | const taxRate = this.formData.HTaxRate |
| | | // if (taxRate && taxRate.substring(taxRate.length - 1) === '.') { |
| | |
| | | this.$modal.msgWarning('增值税率请输入正确数字!') |
| | | return false |
| | | } |
| | | |
| | | |
| | | return true |
| | | }, |
| | | |
| | | |
| | | // 审核 |
| | | handleAudit() { |
| | | axios.get(`${this.baseURL}/Gy_Customer/AuditGy_Customer`, { |
| | |
| | | this.$modal.msgError('审核失败!') |
| | | }) |
| | | }, |
| | | |
| | | |
| | | // 退出 |
| | | handleExit() { |
| | | this.openEdit = false |
| | | this.$emit('editClose', false) |
| | | }, |
| | | |
| | | |
| | | // 关闭对话框 |
| | | handleClose(done) { |
| | | this.$confirm('确认关闭?') |
| | |
| | | }) |
| | | .catch(_ => {}) |
| | | }, |
| | | |
| | | |
| | | // 保存配置 |
| | | saveConfig() { |
| | | const config = { |
| | |
| | | } |
| | | localStorage.setItem('Gy_Customer_Edit', JSON.stringify(config)) |
| | | }, |
| | | |
| | | |
| | | // 打开对话框方法 |
| | | openAreaDialog() { |
| | | this.areaDialogVisible = true |
| | | }, |
| | | |
| | | |
| | | openCurrencyDialog() { |
| | | this.currencyDialogVisible = true |
| | | }, |
| | | |
| | | |
| | | openSettleStyleDialog() { |
| | | this.settleStyleDialogVisible = true |
| | | }, |
| | | |
| | | |
| | | openCustomerTypeDialog() { |
| | | this.customerTypeDialogVisible = true |
| | | }, |
| | | |
| | | |
| | | // 对话框选择回调 |
| | | handleAreaSelected(data) { |
| | | this.formData.HAreaName = data.地区名称 |
| | | this.formData.HAreaID = data.HItemID |
| | | }, |
| | | |
| | | |
| | | handleCurrencySelected(data) { |
| | | this.formData.HCurName = data.货币名称 |
| | | this.formData.HCurID = data.HItemID |
| | | }, |
| | | |
| | | |
| | | handleSettleStyleSelected(data) { |
| | | this.formData.HSSName = data.结算方式名称 |
| | | this.formData.HSSID = data.HItemID |
| | | }, |
| | | |
| | | |
| | | handleCustomerTypeSelected(data) { |
| | | this.formData.HCusTypeName = data.客户分类名称 |
| | | this.formData.HCusTypeID = data.HItemID |
| | |
| | | .el-button-group { |
| | | margin-bottom: 10px; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | uploadData: [], |
| | | uploadTableLoading: false, |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/", |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/", |
| | | user: "admin", |
| | | }; |
| | | }, |
| | |
| | | this.getTreeData(); |
| | | this.getList(); |
| | | this.getDefaultFilterScheme(); |
| | | |
| | | |
| | | }, |
| | | |
| | | getTreeData() { |
| | |
| | | .filter-collapse { |
| | | margin-top: 10px; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | linterid: 0, |
| | | HSouceBillType: '', |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/' |
| | | baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/' |
| | | } |
| | | }, |
| | | |
| | |
| | | }, |
| | | methods: { |
| | | async initData() { |
| | | |
| | | |
| | | const params = this.$route ? this.$route.query : {} |
| | | if (this.propOperationType !== null && this.propOperationType !== undefined) { |
| | | this.OperationType = this.propOperationType |
| | |
| | | this.$set(this.form, 'HGroupName', sessionStorage.HGroup || '') |
| | | this.$set(this.form, 'HEmpID', sessionStorage.HEmpID || 0) |
| | | this.$set(this.form, 'HEmpName', sessionStorage.HEmpName || '') |
| | | } |
| | | } |
| | | |
| | | } catch (error) { |
| | | |
| | |
| | | return true |
| | | }, |
| | | |
| | | |
| | | |
| | | handleRemove(file, fileList) { |
| | | console.log(file, fileList) |
| | | }, |
| | |
| | | .el-table { |
| | | margin-top: 10px; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | <el-card class="search-card"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>查询条件</span> |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | type="text" |
| | | @click="toggleCollapse" |
| | | > |
| | | {{ collapse ? '展开' : '收起' }} |
| | | </el-button> |
| | | </div> |
| | | |
| | | |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="地区代码"> |
| | | <el-input |
| | | v-model="queryParams.HNumber" |
| | | <el-input |
| | | v-model="queryParams.HNumber" |
| | | placeholder="请输入地区代码" |
| | | clearable |
| | | /> |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="地区名称"> |
| | | <el-input |
| | | v-model="queryParams.HName" |
| | | <el-input |
| | | v-model="queryParams.HName" |
| | | placeholder="请输入地区名称" |
| | | clearable |
| | | /> |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="内容"> |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | placeholder="请输入内容" |
| | | clearable |
| | | /> |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column |
| | | <el-table-column |
| | | v-for="column in tableColumns" |
| | | :key="column.field" |
| | | :prop="column.field" |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | |
| | | |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | |
| | | dialogVisible: false, |
| | | collapse: false, |
| | | loading: false, |
| | | |
| | | |
| | | // 查询参数 |
| | | queryParams: { |
| | | HNumber: '', |
| | |
| | | Comparator: '0', |
| | | ColContent: '' |
| | | }, |
| | | |
| | | |
| | | // 表格数据 |
| | | tableData: [], |
| | | tableColumns: [], |
| | | selectedRow: null, |
| | | multipleSelection: [], |
| | | |
| | | |
| | | // 分页 |
| | | pagination: { |
| | | page: 1, |
| | | size: 50, |
| | | total: 0 |
| | | }, |
| | | |
| | | |
| | | // 隐藏字段 |
| | | hiddenFields: ["HItemID", "短代码", "父级ID", "等级", "末级标志", "助记码", "创建组织", "英文名称"], |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/', |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/', |
| | | user: 'admin', |
| | | HModName: 'Gy_AreaSet' |
| | | } |
| | |
| | | initData() { |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | async loadTableData() { |
| | | this.loading = true |
| | | try { |
| | | const sWhere = this.buildQueryCondition() |
| | | |
| | | |
| | | const response = await axios.get(`${this.baseURL}/Gy_BadReason/Gy_AreaSetList`, { |
| | | params: { |
| | | sWhere: sWhere, |
| | |
| | | size: this.pagination.size |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | this.tableData = response.data.data |
| | | this.pagination.total = response.data.total || response.data.data.length |
| | |
| | | this.loading = false |
| | | } |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | buildQueryCondition() { |
| | | let sWhere = "" |
| | | |
| | | |
| | | |
| | | if (this.queryParams.HNumber) { |
| | | sWhere += ` and 地区代码 like '%${this.queryParams.HNumber}%'` |
| | |
| | | sWhere += ` and 地区名称 like '%${this.queryParams.HName}%'` |
| | | } |
| | | |
| | | if (this.queryParams.ColName && this.queryParams.ColName !== "0" && |
| | | if (this.queryParams.ColName && this.queryParams.ColName !== "0" && |
| | | this.queryParams.Comparator && this.queryParams.Comparator !== "0") { |
| | | let com = "" |
| | | switch (this.queryParams.Comparator) { |
| | |
| | | } |
| | | sWhere += ` and ${this.queryParams.ColName} ${com}` |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | sWhere += this.addSWhereByOpenType() |
| | | |
| | | |
| | | return sWhere |
| | | }, |
| | | |
| | | |
| | | |
| | | addSWhereByOpenType() { |
| | | |
| | | return " and 禁用标志 = '否' and 审核人 != ''" |
| | | }, |
| | | |
| | | |
| | | |
| | | generateTableColumns(columnList) { |
| | | this.tableColumns = [] |
| | | |
| | | |
| | | |
| | | this.tableColumns.push({ type: 'selection', fixed: 'left' }) |
| | | |
| | | |
| | | |
| | | if (columnList && columnList.length > 0) { |
| | | columnList.forEach(item => { |
| | |
| | | sortable: true, |
| | | width: 200 |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if (item.ColmType === 'DateTime') { |
| | | column.formatter = this.formatDate |
| | | } |
| | | |
| | | |
| | | this.tableColumns.push(column) |
| | | } |
| | | }) |
| | |
| | | this.tableColumns = [...this.tableColumns, ...defaultColumns] |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 查询 |
| | | handleQuery() { |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 重置查询 |
| | | handleReset() { |
| | | this.queryParams = { |
| | |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 刷新 |
| | | handleRefresh() { |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 切换折叠状态 |
| | | toggleCollapse() { |
| | | this.collapse = !this.collapse |
| | | }, |
| | | |
| | | |
| | | // 行双击事件 |
| | | handleRowDblClick(row) { |
| | | this.selectedRow = row |
| | | this.confirmSelection() |
| | | }, |
| | | |
| | | |
| | | // 行点击事件 |
| | | handleRowClick(row) { |
| | | this.$refs.table.toggleRowSelection(row) |
| | | this.selectedRow = row |
| | | }, |
| | | |
| | | |
| | | // 选择变化 |
| | | handleSelectionChange(selection) { |
| | | this.multipleSelection = selection |
| | |
| | | this.selectedRow = selection[0] |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 确认选择 |
| | | confirmSelection() { |
| | | if (this.selectedRow) { |
| | |
| | | this.$message.warning('请选择一条数据') |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 退出 |
| | | handleExit() { |
| | | this.dialogVisible = false |
| | | }, |
| | | |
| | | |
| | | // 关闭对话框 |
| | | handleClose(done) { |
| | | this.$confirm('确认关闭?') |
| | |
| | | }) |
| | | .catch(_ => {}) |
| | | }, |
| | | |
| | | |
| | | // 分页大小改变 |
| | | handleSizeChange(size) { |
| | | this.pagination.size = size |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 当前页改变 |
| | | handleCurrentChange(page) { |
| | | this.pagination.page = page |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 格式化日期 |
| | | formatDate(dateString) { |
| | | if (!dateString) return '' |
| | |
| | | allColumns: [], |
| | | selectedColumns: [], |
| | | selectedRows: [], |
| | | baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/" |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/" |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | |
| | | const hmainid = record.hmainid || record.HInterID |
| | | const billNo = record.单据号 || record.HBillNo |
| | | |
| | | |
| | | |
| | | |
| | | let billTypeDesc = '' |
| | | switch (record.单据类型 || '') { |
| | | case '1201': billTypeDesc = '外购入库单'; break |
| | |
| | | this.loading = true |
| | | try { |
| | | const sWhere = `${HInterID},'${HBillType}','${HBillNo}'` |
| | | |
| | | |
| | | const url = `${this.baseURL}/Kf_ICStockInOutBill/Kf_BarCodeDetailQuery` |
| | | const params = { sWhere } |
| | | |
| | | |
| | | const response = await axios.get(url, { params }) |
| | | const data = response.data |
| | | |
| | |
| | | const columns = [] |
| | | const allColumns = [] |
| | | |
| | | |
| | | |
| | | columns.push({ |
| | | type: 'selection', |
| | | width: 55, |
| | |
| | | sortable: true |
| | | } |
| | | |
| | | |
| | | |
| | | switch (colName) { |
| | | case 'HItemID': |
| | | columnConfig.hide = true |
| | |
| | | |
| | | |
| | | handleCellEdit(row, field, value) { |
| | | const ref = /^\d+(\.\d+)?$/ |
| | | const ref = /^\d+(\.\d+)?$/ |
| | | |
| | | switch (field) { |
| | | case 'HMaterialJQty': |
| | |
| | | |
| | | |
| | | validateData() { |
| | | const ref = /^\d+(\.\d+)?$/ |
| | | const ref = /^\d+(\.\d+)?$/ |
| | | |
| | | for (let i = 0; i < this.tableData.length; i++) { |
| | | const row = this.tableData[i] |
| | | |
| | | |
| | | |
| | | const weight = row.HMaterialJQty + '' |
| | | if (!ref.test(weight)) { |
| | | this.$message.warning(`第${i + 1}行:重量维护请输入不小于0的数字!`) |
| | |
| | | |
| | | applyColumnSettings() { |
| | | this.tableColumns = [ |
| | | this.tableColumns[0], |
| | | this.tableColumns[0], |
| | | ...this.allColumns.filter(col => this.selectedColumns.includes(col.field)) |
| | | ] |
| | | this.columnDialogVisible = false |
| | | |
| | | |
| | | |
| | | |
| | | this.saveColumnSettings() |
| | | }, |
| | | |
| | |
| | | |
| | | |
| | | saveColumnSettings() { |
| | | |
| | | |
| | | }, |
| | | |
| | | // 合计行计算 |
| | | getSummaries(param) { |
| | | const { columns, data } = param |
| | | const sums = [] |
| | | |
| | | |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = '合计' |
| | | return |
| | | } |
| | | |
| | | |
| | | const values = data.map(item => Number(item[column.property])) |
| | | if (!values.every(value => isNaN(value))) { |
| | | sums[index] = values.reduce((prev, curr) => { |
| | |
| | | :deep(.el-card__body) { |
| | | padding: 12px; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | <el-card class="search-card"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>查询条件</span> |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | type="text" |
| | | @click="toggleCollapse" |
| | | > |
| | | {{ collapse ? '展开' : '收起' }} |
| | | </el-button> |
| | | </div> |
| | | |
| | | |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="货币代码"> |
| | | <el-input |
| | | v-model="queryParams.HNumber" |
| | | <el-input |
| | | v-model="queryParams.HNumber" |
| | | placeholder="请输入货币代码" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="货币名称"> |
| | | <el-input |
| | | v-model="queryParams.HName" |
| | | <el-input |
| | | v-model="queryParams.HName" |
| | | placeholder="请输入货币名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="内容"> |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | placeholder="请输入内容" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column |
| | | <el-table-column |
| | | v-for="column in tableColumns" |
| | | :key="column.field" |
| | | :prop="column.field" |
| | |
| | | Comparator: '0', |
| | | ColContent: '' |
| | | }, |
| | | |
| | | |
| | | tableData: [], |
| | | tableColumns: [], |
| | | selectedRow: null, |
| | | multipleSelection: [], |
| | | |
| | | |
| | | pagination: { |
| | | page: 1, |
| | | size: 50, |
| | | total: 0 |
| | | }, |
| | | |
| | | |
| | | currentFilterScheme: '', |
| | | HInterID_Choose: 0, |
| | | |
| | | |
| | | hiddenFields: ["HItemID"], |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/', |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/', |
| | | user: 'admin', |
| | | HModName: 'Gy_Currency', |
| | | HModuleName: '货币列表维护' |
| | |
| | | this.loadTableData() |
| | | this.getDefaultFilterScheme() |
| | | }, |
| | | |
| | | |
| | | async loadTableData() { |
| | | this.loading = true |
| | | try { |
| | | const sWhere = this.buildQueryCondition() |
| | | |
| | | |
| | | const response = await axios.get(`${this.baseURL}/Gy_Currency/list1`, { |
| | | params: { |
| | | sWhere: sWhere, |
| | |
| | | size: this.pagination.size |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | this.tableData = response.data.data |
| | | this.pagination.total = response.data.total || response.data.data.length |
| | |
| | | this.loading = false |
| | | } |
| | | }, |
| | | |
| | | |
| | | buildQueryCondition() { |
| | | let sWhere = "" |
| | | |
| | | |
| | | if (this.queryParams.HNumber) { |
| | | sWhere += ` and 货币代码 like '%${this.queryParams.HNumber}%'` |
| | | } |
| | | if (this.queryParams.HName) { |
| | | sWhere += ` and 货币名称 like '%${this.queryParams.HName}%'` |
| | | } |
| | | |
| | | if (this.queryParams.ColName && this.queryParams.ColName !== "0" && |
| | | |
| | | if (this.queryParams.ColName && this.queryParams.ColName !== "0" && |
| | | this.queryParams.Comparator && this.queryParams.Comparator !== "0") { |
| | | let com = "" |
| | | switch (this.queryParams.Comparator) { |
| | |
| | | } |
| | | sWhere += ` and ${this.queryParams.ColName} ${com}` |
| | | } |
| | | |
| | | |
| | | sWhere += this.addSWhereByOpenType() |
| | | |
| | | |
| | | return sWhere |
| | | }, |
| | | |
| | | |
| | | addSWhereByOpenType() { |
| | | |
| | | return " and 禁用标记 = '' and 审核人 != ''" |
| | | }, |
| | | |
| | | |
| | | // 生成表格列 |
| | | generateTableColumns(columnList) { |
| | | this.tableColumns = [] |
| | | |
| | | |
| | | // 添加选择列 |
| | | this.tableColumns.push({ type: 'selection', fixed: 'left' }) |
| | | |
| | | |
| | | // 动态生成列 |
| | | if (columnList && columnList.length > 0) { |
| | | columnList.forEach(item => { |
| | |
| | | sortable: true, |
| | | width: 200 |
| | | } |
| | | |
| | | |
| | | if (item.ColmType === 'DateTime') { |
| | | column.formatter = this.formatDate |
| | | } |
| | | |
| | | |
| | | this.tableColumns.push(column) |
| | | } |
| | | }) |
| | |
| | | this.tableColumns = [...this.tableColumns, ...defaultColumns] |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 查询 |
| | | handleQuery() { |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 重置查询 |
| | | handleReset() { |
| | | this.queryParams = { |
| | |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 刷新 |
| | | handleRefresh() { |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 切换折叠状态 |
| | | toggleCollapse() { |
| | | this.collapse = !this.collapse |
| | | }, |
| | | |
| | | |
| | | // 行双击事件 |
| | | handleRowDblClick(row) { |
| | | this.selectedRow = row |
| | | this.confirmSelection() |
| | | }, |
| | | |
| | | |
| | | // 行点击事件 |
| | | handleRowClick(row) { |
| | | this.$refs.table.toggleRowSelection(row) |
| | | this.selectedRow = row |
| | | }, |
| | | |
| | | |
| | | handleCurrencyCodeClick(row) { |
| | | console.log('点击货币代码:', row) |
| | | this.selectedRow = row |
| | | this.confirmSelection() |
| | | }, |
| | | |
| | | |
| | | // 选择变化 |
| | | handleSelectionChange(selection) { |
| | | this.multipleSelection = selection |
| | |
| | | this.selectedRow = selection[0] |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 确认选择 |
| | | confirmSelection() { |
| | | if (this.selectedRow) { |
| | |
| | | this.$message.warning('请选择一条数据') |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 退出 |
| | | handleExit() { |
| | | this.dialogVisible = false |
| | | }, |
| | | |
| | | |
| | | // 关闭对话框 |
| | | handleClose(done) { |
| | | this.$confirm('确认关闭?') |
| | |
| | | }) |
| | | .catch(_ => {}) |
| | | }, |
| | | |
| | | |
| | | // 分页大小改变 |
| | | handleSizeChange(size) { |
| | | this.pagination.size = size |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 当前页改变 |
| | | handleCurrentChange(page) { |
| | | this.pagination.page = page |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 格式化日期 |
| | | formatDate(dateString) { |
| | | if (!dateString) return '' |
| | |
| | | return dateString |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 获取默认过滤方案 |
| | | async getDefaultFilterScheme() { |
| | | try { |
| | |
| | | Type: "Default" |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | const data = response.data.data[0] |
| | | this.HInterID_Choose = data.hmainid |
| | | this.currentFilterScheme = `当前过滤方案:${data.方案名称} (${data.备注})` |
| | | |
| | | |
| | | // 应用过滤条件 |
| | | this.applyFilterConditions(response.data.data) |
| | | } |
| | |
| | | console.error('获取过滤方案失败:', error) |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 应用过滤条件 |
| | | applyFilterConditions(filterData) { |
| | | filterData.forEach(item => { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | // 保存过滤方案 |
| | | handleSaveScheme() { |
| | | // 实现保存过滤方案的逻辑 |
| | | this.$message.info('保存方案功能') |
| | | }, |
| | | |
| | | |
| | | // 读取过滤方案 |
| | | handleReadScheme() { |
| | | // 实现读取过滤方案的逻辑 |
| | |
| | | color: #fc9393; |
| | | margin: 10px 0; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | <el-card class="search-card"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>查询条件</span> |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | type="text" |
| | | @click="toggleCollapse" |
| | | > |
| | | {{ collapse ? '展开' : '收起' }} |
| | | </el-button> |
| | | </div> |
| | | |
| | | |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="客户分类代码"> |
| | | <el-input |
| | | v-model="queryParams.HNumber" |
| | | <el-input |
| | | v-model="queryParams.HNumber" |
| | | placeholder="请输入客户分类代码" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="客户分类名称"> |
| | | <el-input |
| | | v-model="queryParams.HName" |
| | | <el-input |
| | | v-model="queryParams.HName" |
| | | placeholder="请输入客户分类名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="内容"> |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | placeholder="请输入内容" |
| | | clearable |
| | | /> |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="内容"> |
| | | <el-input |
| | | v-model="queryParams.ColContent1" |
| | | <el-input |
| | | v-model="queryParams.ColContent1" |
| | | placeholder="请输入内容" |
| | | clearable |
| | | /> |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="内容"> |
| | | <el-input |
| | | v-model="queryParams.ColContent2" |
| | | <el-input |
| | | v-model="queryParams.ColContent2" |
| | | placeholder="请输入内容" |
| | | clearable |
| | | /> |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column |
| | | <el-table-column |
| | | v-for="column in tableColumns" |
| | | :key="column.field" |
| | | :prop="column.field" |
| | |
| | | collapse: false, |
| | | loading: false, |
| | | treeLoading: false, |
| | | |
| | | |
| | | // 查询参数 |
| | | queryParams: { |
| | | HNumber: '', |
| | |
| | | Comparator2: '0', |
| | | ColContent2: '' |
| | | }, |
| | | |
| | | |
| | | // 树形数据 |
| | | treeData: [], |
| | | treeProps: { |
| | | children: 'children', |
| | | label: 'title' |
| | | }, |
| | | |
| | | |
| | | // 表格数据 |
| | | tableData: [], |
| | | tableColumns: [], |
| | | selectedRow: null, |
| | | multipleSelection: [], |
| | | |
| | | |
| | | // 分页 |
| | | pagination: { |
| | | page: 1, |
| | | size: 50, |
| | | total: 0 |
| | | }, |
| | | |
| | | |
| | | // 过滤方案 |
| | | currentFilterScheme: '', |
| | | HInterID_Choose: 0, |
| | | |
| | | |
| | | // 隐藏字段 |
| | | hiddenFields: ["HItemID"], |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/', |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/', |
| | | user: 'admin', |
| | | HModName: 'Gy_CusType', |
| | | HModuleName: '客户分类列表维护' |
| | |
| | | this.loadTableData() |
| | | this.getDefaultFilterScheme() |
| | | }, |
| | | |
| | | |
| | | // 加载树形数据 |
| | | async loadTreeData() { |
| | | this.treeLoading = true |
| | | try { |
| | | const response = await axios.get(`${this.baseURL}/Gy_BadReason/Gy_CusTypeTreeListByLevel`) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | this.treeData = JSON.parse(response.data.data) |
| | | } else { |
| | |
| | | this.treeLoading = false |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 加载表格数据 |
| | | async loadTableData() { |
| | | this.loading = true |
| | | try { |
| | | const sWhere = this.buildQueryCondition() |
| | | |
| | | |
| | | const response = await axios.get(`${this.baseURL}/Gy_BadReason/Gy_CusTypeList`, { |
| | | params: { |
| | | sWhere: sWhere, |
| | |
| | | size: this.pagination.size |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | this.tableData = response.data.data |
| | | this.pagination.total = response.data.total || response.data.data.length |
| | |
| | | this.loading = false |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 构建查询条件 |
| | | buildQueryCondition() { |
| | | let sWhere = "" |
| | | |
| | | |
| | | // 基本查询条件 |
| | | if (this.queryParams.HNumber) { |
| | | sWhere += ` and 客户分类代码 like '%${this.queryParams.HNumber}%'` |
| | |
| | | if (this.queryParams.HName) { |
| | | sWhere += ` and 客户分类名称 like '%${this.queryParams.HName}%'` |
| | | } |
| | | |
| | | |
| | | // 处理三组过滤条件 |
| | | const filterGroups = [ |
| | | { colName: this.queryParams.ColName, comparator: this.queryParams.Comparator, content: this.queryParams.ColContent }, |
| | | { colName: this.queryParams.ColName1, comparator: this.queryParams.Comparator1, content: this.queryParams.ColContent1 }, |
| | | { colName: this.queryParams.ColName2, comparator: this.queryParams.Comparator2, content: this.queryParams.ColContent2 } |
| | | ] |
| | | |
| | | |
| | | filterGroups.forEach(filter => { |
| | | if (filter.colName && filter.colName !== "0" && |
| | | if (filter.colName && filter.colName !== "0" && |
| | | filter.comparator && filter.comparator !== "0") { |
| | | let com = "" |
| | | switch (filter.comparator) { |
| | |
| | | sWhere += ` and ${filter.colName} ${com}` |
| | | } |
| | | }) |
| | | |
| | | |
| | | // 添加打开类型的过滤条件 |
| | | sWhere += this.addSWhereByOpenType() |
| | | |
| | | |
| | | return sWhere |
| | | }, |
| | | |
| | | |
| | | // 根据打开类型添加条件 |
| | | addSWhereByOpenType() { |
| | | // 这里可以根据需要添加特定的过滤条件 |
| | | return " and 禁用标志 = '否' and 审核人 != ''" |
| | | }, |
| | | |
| | | |
| | | // 生成表格列 |
| | | generateTableColumns(columnList) { |
| | | this.tableColumns = [] |
| | | |
| | | |
| | | // 添加选择列 |
| | | this.tableColumns.push({ type: 'selection', fixed: 'left' }) |
| | | |
| | | |
| | | // 动态生成列 |
| | | if (columnList && columnList.length > 0) { |
| | | columnList.forEach(item => { |
| | |
| | | sortable: true, |
| | | width: 200 |
| | | } |
| | | |
| | | |
| | | // 根据字段类型设置不同的模板 |
| | | if (item.ColmType === 'DateTime') { |
| | | column.formatter = this.formatDate |
| | | } |
| | | |
| | | |
| | | this.tableColumns.push(column) |
| | | } |
| | | }) |
| | |
| | | this.tableColumns = [...this.tableColumns, ...defaultColumns] |
| | | } |
| | | }, |
| | | |
| | | |
| | | handleTreeNodeClick(data) { |
| | | let sWhere = "" |
| | | if (data.id !== '0') { |
| | |
| | | } |
| | | this.loadTableDataWithCondition(sWhere) |
| | | }, |
| | | |
| | | |
| | | async loadTableDataWithCondition(sWhere) { |
| | | this.loading = true |
| | | try { |
| | |
| | | user: this.user |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | this.tableData = response.data.data |
| | | this.pagination.total = response.data.total || response.data.data.length |
| | |
| | | this.loading = false |
| | | } |
| | | }, |
| | | |
| | | |
| | | handleQuery() { |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | handleReset() { |
| | | this.queryParams = { |
| | | HNumber: '', |
| | |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 刷新 |
| | | handleRefresh() { |
| | | this.loadTreeData() |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | |
| | | toggleCollapse() { |
| | | this.collapse = !this.collapse |
| | | }, |
| | | |
| | | |
| | | // 行双击事件 |
| | | handleRowDblClick(row) { |
| | | this.selectedRow = row |
| | | this.confirmSelection() |
| | | }, |
| | | |
| | | |
| | | // 行点击事件 |
| | | handleRowClick(row) { |
| | | this.$refs.table.toggleRowSelection(row) |
| | | this.selectedRow = row |
| | | }, |
| | | |
| | | |
| | | handleCustomerTypeCodeClick(row) { |
| | | console.log('点击客户分类代码:', row) |
| | | this.selectedRow = row |
| | | this.confirmSelection() |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | handleSelectionChange(selection) { |
| | | this.multipleSelection = selection |
| | | if (selection.length === 1) { |
| | | this.selectedRow = selection[0] |
| | | } |
| | | }, |
| | | |
| | | |
| | | |
| | | confirmSelection() { |
| | | if (this.selectedRow) { |
| | |
| | | this.$message.warning('请选择一条数据') |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 退出 |
| | | handleExit() { |
| | | this.dialogVisible = false |
| | | }, |
| | | |
| | | |
| | | // 关闭对话框 |
| | | handleClose(done) { |
| | | this.$confirm('确认关闭?') |
| | |
| | | }) |
| | | .catch(_ => {}) |
| | | }, |
| | | |
| | | |
| | | // 分页大小改变 |
| | | handleSizeChange(size) { |
| | | this.pagination.size = size |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 当前页改变 |
| | | handleCurrentChange(page) { |
| | | this.pagination.page = page |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 格式化日期 |
| | | formatDate(dateString) { |
| | | if (!dateString) return '' |
| | |
| | | return dateString |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 获取默认过滤方案 |
| | | async getDefaultFilterScheme() { |
| | | try { |
| | |
| | | Type: "Default" |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | const data = response.data.data[0] |
| | | this.HInterID_Choose = data.hmainid |
| | | this.currentFilterScheme = `当前过滤方案:${data.方案名称} (${data.备注})` |
| | | |
| | | |
| | | // 应用过滤条件 |
| | | this.applyFilterConditions(response.data.data) |
| | | } |
| | |
| | | console.error('获取过滤方案失败:', error) |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 应用过滤条件 |
| | | applyFilterConditions(filterData) { |
| | | filterData.forEach(item => { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | // 保存过滤方案 |
| | | handleSaveScheme() { |
| | | this.$message.info('保存方案功能') |
| | | }, |
| | | |
| | | |
| | | // 读取过滤方案 |
| | | handleReadScheme() { |
| | | this.$message.info('读取方案功能') |
| | | }, |
| | | |
| | | |
| | | // 列设置 |
| | | handleColumnSetting() { |
| | | this.$message.info('列设置功能') |
| | |
| | | .el-tree >>> .el-tree-node.is-current > .el-tree-node__content { |
| | | background-color: #aef0f7; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | loading: false, //页面加载动画显示标记 |
| | | dialogVisible: false, //包装容器出入库明细数据显示标记 |
| | | columnDialogVisible: false, //列设置按钮显示标记 |
| | | |
| | | |
| | | tableData: [], //表格数据 |
| | | tableColumns: [], //表格列数据 |
| | | allColumns: [], |
| | | allColumns: [], |
| | | selectedColumns: [], |
| | | selectedRows: [], |
| | | baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/" |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/" |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | |
| | | const hmainid = record.hmainid || record.HInterID |
| | | const billNo = record.单据号 || record.HBillNo |
| | | |
| | | |
| | | |
| | | |
| | | let billTypeDesc = '' |
| | | switch (record.单据类型 || '') { |
| | | case '1201': billTypeDesc = '外购入库单'; break |
| | |
| | | this.loading = true |
| | | try { |
| | | const sWhere = " and hmainid = " + `${HInterID}` ; |
| | | |
| | | |
| | | const url = `${this.baseURL}/Kf_ICStockInOutBill/Kf_PackStockDetailQuery` |
| | | const params = { sWhere } |
| | | |
| | | |
| | | const response = await axios.get(url, { params }) |
| | | const data = response.data |
| | | |
| | |
| | | const columns = [] |
| | | const allColumns = [] |
| | | |
| | | |
| | | |
| | | columns.push({ |
| | | type: 'selection', |
| | | width: 55, |
| | |
| | | sortable: true |
| | | } |
| | | |
| | | |
| | | |
| | | switch (colName) { |
| | | case 'HItemID': |
| | | columnConfig.hide = true |
| | |
| | | |
| | | applyColumnSettings() { |
| | | this.tableColumns = [ |
| | | this.tableColumns[0], |
| | | this.tableColumns[0], |
| | | ...this.allColumns.filter(col => this.selectedColumns.includes(col.field)) |
| | | ] |
| | | this.columnDialogVisible = false |
| | | |
| | | |
| | | |
| | | |
| | | this.saveColumnSettings() |
| | | }, |
| | | |
| | |
| | | |
| | | |
| | | saveColumnSettings() { |
| | | |
| | | |
| | | }, |
| | | |
| | | //#endregion |
| | |
| | | getSummaries(param) { |
| | | const { columns, data } = param |
| | | const sums = [] |
| | | |
| | | |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = '合计' |
| | | return |
| | | } |
| | | |
| | | |
| | | const values = data.map(item => Number(item[column.property])) |
| | | if (!values.every(value => isNaN(value))) { |
| | | sums[index] = values.reduce((prev, curr) => { |
| | |
| | | <el-card class="search-card"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>查询条件</span> |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | type="text" |
| | | @click="toggleCollapse" |
| | | > |
| | | {{ collapse ? '展开' : '收起' }} |
| | | </el-button> |
| | | </div> |
| | | |
| | | |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="代码"> |
| | | <el-input |
| | | v-model="queryParams.HNumber" |
| | | <el-input |
| | | v-model="queryParams.HNumber" |
| | | placeholder="请输入代码" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="名称"> |
| | | <el-input |
| | | v-model="queryParams.HName" |
| | | <el-input |
| | | v-model="queryParams.HName" |
| | | placeholder="请输入名称" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="结算方式代码"> |
| | | <el-input |
| | | v-model="queryParams.HNumber2" |
| | | <el-input |
| | | v-model="queryParams.HNumber2" |
| | | placeholder="请输入结算方式代码" |
| | | clearable |
| | | style="width: 190px" |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="内容"> |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | placeholder="请输入内容" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column |
| | | <el-table-column |
| | | v-for="column in tableColumns" |
| | | :key="column.field" |
| | | :prop="column.field" |
| | |
| | | dialogVisible: false, |
| | | collapse: false, |
| | | loading: false, |
| | | |
| | | |
| | | // 查询参数 |
| | | queryParams: { |
| | | HNumber: '', |
| | |
| | | Comparator: '0', |
| | | ColContent: '' |
| | | }, |
| | | |
| | | |
| | | // 表格数据 |
| | | tableData: [], |
| | | tableColumns: [], |
| | | selectedRow: null, |
| | | multipleSelection: [], |
| | | |
| | | |
| | | // 分页 |
| | | pagination: { |
| | | page: 1, |
| | | size: 50, |
| | | total: 0 |
| | | }, |
| | | |
| | | |
| | | // 过滤方案 |
| | | currentFilterScheme: '', |
| | | HInterID_Choose: 0, |
| | | |
| | | |
| | | // 隐藏字段 |
| | | hiddenFields: ["HItemID", "HUSEORGID", "HCREATEORGID", "父级ID"], |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/', |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/', |
| | | user: 'admin', |
| | | HModName: 'Gy_SettleStyle', |
| | | HModuleName: '结算方式维护', |
| | |
| | | this.loadTableData() |
| | | this.getDefaultFilterScheme() |
| | | }, |
| | | |
| | | |
| | | // 加载表格数据 |
| | | async loadTableData() { |
| | | this.loading = true |
| | | try { |
| | | const sWhere = this.buildQueryCondition() |
| | | |
| | | |
| | | const response = await axios.get(`${this.baseURL}/Gy_SettleStyle/SettleStyleList`, { |
| | | params: { |
| | | sWhere: sWhere, |
| | |
| | | Organization: this.Organization |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | this.tableData = response.data.data |
| | | console.log('结算方式数据:', this.tableData) |
| | |
| | | this.loading = false |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 构建查询条件 |
| | | buildQueryCondition() { |
| | | let sWhere = "" |
| | | |
| | | |
| | | // 基本查询条件 |
| | | if (this.queryParams.HNumber) { |
| | | sWhere += ` and 结算方式代码 like '%${this.queryParams.HNumber}%'` |
| | |
| | | if (this.queryParams.HName) { |
| | | sWhere += ` and 结算方式名称 like '%${this.queryParams.HName}%'` |
| | | } |
| | | |
| | | |
| | | // 高级过滤条件 |
| | | if (this.queryParams.ColName && this.queryParams.ColName !== "0" && |
| | | if (this.queryParams.ColName && this.queryParams.ColName !== "0" && |
| | | this.queryParams.Comparator && this.queryParams.Comparator !== "0") { |
| | | let com = "" |
| | | switch (this.queryParams.Comparator) { |
| | |
| | | } |
| | | sWhere += ` and ${this.queryParams.ColName} ${com}` |
| | | } |
| | | |
| | | |
| | | // 添加打开类型的过滤条件 |
| | | sWhere += this.addSWhereByOpenType() |
| | | |
| | | |
| | | return sWhere |
| | | }, |
| | | |
| | | |
| | | // 根据打开类型添加条件 |
| | | addSWhereByOpenType() { |
| | | // 这里可以根据需要添加特定的过滤条件 |
| | | return " and 禁用标记 = ''" |
| | | }, |
| | | |
| | | |
| | | // 生成表格列 |
| | | generateTableColumns(columnList) { |
| | | this.tableColumns = [] |
| | | |
| | | |
| | | // 添加选择列 |
| | | this.tableColumns.push({ type: 'selection', fixed: 'left' }) |
| | | |
| | | |
| | | // 动态生成列 |
| | | if (columnList && columnList.length > 0) { |
| | | columnList.forEach(item => { |
| | |
| | | sortable: true, |
| | | width: 200 |
| | | } |
| | | |
| | | |
| | | // 根据字段类型设置不同的模板 |
| | | if (item.ColmType === 'DateTime') { |
| | | column.formatter = this.formatDate |
| | | } |
| | | |
| | | |
| | | this.tableColumns.push(column) |
| | | } |
| | | }) |
| | |
| | | this.tableColumns = [...this.tableColumns, ...defaultColumns] |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 查询 |
| | | handleQuery() { |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 重置查询 |
| | | handleReset() { |
| | | this.queryParams = { |
| | |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 重新同步 |
| | | async handleResCnz() { |
| | | if (!this.queryParams.HNumber2) { |
| | | this.$message.warning('请输入结算方式代码') |
| | | return |
| | | } |
| | | |
| | | |
| | | try { |
| | | const response = await axios.get(`${this.baseURL}/Gy_SettleStyle/Gy_SettleStyleViewApi`, { |
| | | params: { |
| | |
| | | Type: 'JSFS' |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | this.$message.success(response.data.Message) |
| | | this.loadTableData() // 重新加载数据 |
| | |
| | | this.$message.error('重新同步失败') |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 刷新 |
| | | handleRefresh() { |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 切换折叠状态 |
| | | toggleCollapse() { |
| | | this.collapse = !this.collapse |
| | | }, |
| | | |
| | | |
| | | // 行双击事件 |
| | | handleRowDblClick(row) { |
| | | this.selectedRow = row |
| | | this.confirmSelection() |
| | | }, |
| | | |
| | | |
| | | // 行点击事件 |
| | | handleRowClick(row) { |
| | | this.$refs.table.toggleRowSelection(row) |
| | | this.selectedRow = row |
| | | }, |
| | | |
| | | |
| | | // 选择变化 |
| | | handleSelectionChange(selection) { |
| | | this.multipleSelection = selection |
| | |
| | | this.selectedRow = selection[0] |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 确认选择 |
| | | confirmSelection() { |
| | | if (this.selectedRow) { |
| | |
| | | this.$message.warning('请选择一条数据') |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 退出 |
| | | handleExit() { |
| | | this.dialogVisible = false |
| | | }, |
| | | |
| | | |
| | | // 关闭对话框 |
| | | handleClose(done) { |
| | | this.$confirm('确认关闭?') |
| | |
| | | }) |
| | | .catch(_ => {}) |
| | | }, |
| | | |
| | | |
| | | // 分页大小改变 |
| | | handleSizeChange(size) { |
| | | this.pagination.size = size |
| | | this.pagination.page = 1 |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 当前页改变 |
| | | handleCurrentChange(page) { |
| | | this.pagination.page = page |
| | | this.loadTableData() |
| | | }, |
| | | |
| | | |
| | | // 格式化日期 |
| | | formatDate(dateString) { |
| | | if (!dateString) return '' |
| | |
| | | return dateString |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 获取默认过滤方案 |
| | | async getDefaultFilterScheme() { |
| | | try { |
| | |
| | | Type: "Default" |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | const data = response.data.data[0] |
| | | this.HInterID_Choose = data.hmainid |
| | | this.currentFilterScheme = `当前过滤方案:${data.方案名称} (${data.备注})` |
| | | |
| | | |
| | | // 应用过滤条件 |
| | | this.applyFilterConditions(response.data.data) |
| | | } |
| | |
| | | console.error('获取过滤方案失败:', error) |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 应用过滤条件 |
| | | applyFilterConditions(filterData) { |
| | | filterData.forEach(item => { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | // 保存过滤方案 |
| | | handleSaveScheme() { |
| | | this.$message.info('保存方案功能') |
| | | }, |
| | | |
| | | |
| | | // 读取过滤方案 |
| | | handleReadScheme() { |
| | | this.$message.info('读取方案功能') |
| | | }, |
| | | |
| | | |
| | | // 列设置 |
| | | handleColumnSetting() { |
| | | this.$message.info('列设置功能') |
| | |
| | | color: #fc9393; |
| | | margin: 10px 0; |
| | | } |
| | | </style> |
| | | </style> |
| New file |
| | |
| | | <template> |
| | | <div> |
| | | <button @click="getTemp">打印</button> |
| | | <div id="report_holder"> </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import PrintJS from 'print-js' |
| | | import axios from "axios"; |
| | | export default { |
| | | name: "HBarPlanPrintWeb", |
| | | data() { |
| | | return { |
| | | styleList: [], |
| | | handleMessage: this.$route.query, |
| | | pageSize: { |
| | | width: 0, |
| | | height: 0 |
| | | }, |
| | | reportViewer: null, |
| | | baseUrl: process.env.VUE_APP_BASE_API, |
| | | json_data: { |
| | | recordset: [], |
| | | }, |
| | | grfPath: "", |
| | | |
| | | } |
| | | }, |
| | | async mounted() { |
| | | // 获取 打印的数据 |
| | | await this.getPrintData() |
| | | |
| | | rubylong.grhtml5.barcodeURL = this.baseUrl + "/Utility/Barcode.ashx"; |
| | | this.reportViewer = rubylong.grhtml5.insertReportViewer("report_holder", this.grfPath, this.json_data.recordset, |
| | | ); |
| | | this.reportViewer.start(); |
| | | }, |
| | | methods: { |
| | | getUrlVars_JSON() { |
| | | var datajson; |
| | | var str = this.propsData; //获取链接中传递的参数 |
| | | var arr = str.substring(str.lastIndexOf("=") + 1); |
| | | datajson = JSON.parse(decodeURI(arr)); |
| | | return datajson; |
| | | }, |
| | | async getPrintData() { |
| | | let OpenTmp = decodeURIComponent(this.$route.query.OpenTmp); |
| | | let sql = ""; |
| | | if (this.$route.query.Type == "Kf_SellOutBillList") { |
| | | sql = |
| | | "exec h_p_Kf_SellOutBillList_PrintSellOutBill " + |
| | | this.handleMessage.linterid.toString(); |
| | | } else if (this.$route.query.Type == "HGy_BarCodeBill") { |
| | | sql = |
| | | "select * from h_v_IF_BarCodeBillList where hmainid in(" + |
| | | this.handleMessage.linterid.toString() + |
| | | ") order by hmainid desc"; |
| | | } else if (this.$route.query.Type == "HPOInStockBill") { |
| | | sql = |
| | | "select * from h_v_Sc_PrintMouldProdOutBillList where hmainid=" + |
| | | this.handleMessage.linterid.toString() + |
| | | " order by hmainid"; |
| | | } else if (this.$route.query.Type == "HGyStockPlaceBarCode") { |
| | | let condition = decodeURI(this.handleMessage.linterid.toString()); |
| | | sql = `SELECT |
| | | CEILING(CAST(t.row_num AS FLOAT) / 2) AS orderid, |
| | | MAX(CASE WHEN t.row_num % 2 = 1 THEN t.条码编号 END) AS 条码编号1, |
| | | MAX(CASE WHEN t.row_num % 2 = 1 THEN t.仓位名称 END) AS 仓位名称1, |
| | | MAX(CASE WHEN t.row_num % 2 = 0 THEN t.条码编号 END) AS 条码编号2, |
| | | MAX(CASE WHEN t.row_num % 2 = 0 THEN t.仓位名称 END) AS 仓位名称2 |
| | | FROM ( |
| | | SELECT |
| | | 条码编号, 仓位名称, |
| | | ROW_NUMBER() OVER (ORDER BY t1.HItemID) AS row_num |
| | | FROM h_v_IF_StockPlaceList t1 where 条码编号 in (${condition}) |
| | | ) AS t |
| | | GROUP BY CEILING(CAST(t.row_num AS FLOAT) / 2) |
| | | ORDER BY orderid;`; |
| | | } |
| | | try{ |
| | | let res = await axios.get(this.baseURL + "/CommonModel/searchMethod", { |
| | | params: { |
| | | sql: sql, |
| | | user: sessionStorage["HUserName"], |
| | | ModRightNameCheck: "", |
| | | // , "HSubID": data[i].hsubid |
| | | }, |
| | | }) |
| | | // 将 渲染数据 和 模板加载到本地 |
| | | let result = res.data; |
| | | this.json_data.recordset = result.data; |
| | | this.grfPath = "./static/grf/" + OpenTmp + ".grf" |
| | | console.log(this.json_data); |
| | | }catch(err) { |
| | | this.$modal.msgError("接口请求失败!" + err); |
| | | } |
| | | |
| | | }, |
| | | getTemp() { |
| | | // 对每个要打印的对象添加分页 |
| | | let docs = document.querySelectorAll('[_grrecno]') |
| | | this.pageSize.width = docs[0].offsetWidth |
| | | this.pageSize.height = docs[0].offsetHeight |
| | | docs.forEach((elem, index) => { |
| | | elem.classList.add('printable') |
| | | }) |
| | | let styles = document.querySelectorAll('[id^="_gridcss"]') |
| | | this.styleList.push(...styles) |
| | | |
| | | this.execPrint() |
| | | }, |
| | | execPrint() { |
| | | PrintJS({ |
| | | printable: 'report_holder', |
| | | scanStyles: false, |
| | | type: 'html', |
| | | style: this.styleList[0].innerText + ` @media print { |
| | | .printable { |
| | | page-break-inside: avoid; |
| | | page-break-after: always; |
| | | } |
| | | |
| | | @page { |
| | | size: ${this.pageSize.width + 1}px ${this.pageSize.height + 1}px; |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | |
| | | * { |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | `, |
| | | }) |
| | | |
| | | |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style></style> |
| | |
| | | <el-form ref="formData" :model="formData" label-width="100px"> |
| | | <div style="padding: 10px; "> |
| | | <el-button type="primary" size="small" @click="printClick">报表打印</el-button> |
| | | <el-button type="primary" size="small" @click="printClickWeb">报表打印(网页)</el-button> |
| | | </div> |
| | | <el-table v-loading="loading" :data="printdata" ref="printTable" max-height="540" |
| | | @selection-change="handleSelectionChange" :row-class-name="rowSysIndex" border> |
| | |
| | | handlePrint() { |
| | | this.openPrint = true |
| | | }, |
| | | printClickWeb() { |
| | | const routeUrl = this.$router.resolve({ path: '/hBarPlanPrintWeb',query:{linterid:this.linterid.toString(),Type:this.Type.toString(),OpenTmp: encodeURIComponent(this.rowForm.模板名称)} }); |
| | | window.open(routeUrl.href, '_blank'); |
| | | }, |
| | | printClick() { |
| | | const routeUrl = this.$router.resolve({ path: '/hBarPlanPrint',query:{linterid:this.linterid.toString(),Type:this.Type.toString(),OpenTmp: encodeURIComponent(this.rowForm.模板名称)} }); |
| | | window.open(routeUrl.href, '_blank'); |
| | |
| | | CheckBillDisabled: true, |
| | | // OperationType: this.$route.query.OperationType,//保存类型(新增1修改3) |
| | | HInterID: null, |
| | | baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/", |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/", |
| | | user: "admin", |
| | | currentRow: [], |
| | | lastSelectedRowIndex: null, // 用于记录上次点击的行索引 |
| | |
| | | subDisabled: false, //编辑页面保存按钮是否禁用(true禁用,false可用) |
| | | OperationType: null, //保存类型(新增1修改3) |
| | | HInterID: null, |
| | | baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/", |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/", |
| | | user: "admin", |
| | | currentRow: [], |
| | | lastSelectedRowIndex: null, // 用于记录上次点击的行索引 |
| | |
| | | <el-card class="search-card"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>查询条件</span> |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | <el-button |
| | | style="float: right; padding: 3px 0" |
| | | type="text" |
| | | @click="toggleSearchMore" |
| | | > |
| | | {{ searchMore ? '收起' : '更多' }} |
| | | </el-button> |
| | | </div> |
| | | |
| | | |
| | | <el-form :model="queryParams" ref="queryForm" label-width="80px"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6"> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="table-container"> |
| | | <el-table |
| | | ref="mainTable" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | |
| | | <!-- 分页 --> |
| | | <div class="pagination-container"> |
| | | <el-pagination |
| | |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="table-container"> |
| | | <el-table |
| | | ref="tempTable" |
| | |
| | | size="mini" |
| | | @change="handleCellEdit(row, column.field, $index)" |
| | | /> |
| | | |
| | | |
| | | <!-- 下拉选择框 - 物料属性 --> |
| | | <el-select |
| | | v-else-if="column.field === '物料属性'" |
| | |
| | | <el-option value="自制" label="自制"></el-option> |
| | | <el-option value="委外" label="委外"></el-option> |
| | | </el-select> |
| | | |
| | | |
| | | <!-- 下拉选择框 - 事业部 --> |
| | | <el-select |
| | | v-else-if="column.field === '事业部'" |
| | |
| | | <el-option value="软磁事业部" label="软磁事业部"></el-option> |
| | | <el-option value="其他事业部" label="其他事业部"></el-option> |
| | | </el-select> |
| | | |
| | | |
| | | <!-- 不可编辑字段 --> |
| | | <span v-else>{{ row[column.field] }}</span> |
| | | </template> |
| | |
| | | loading: false, |
| | | tempLoading: false, |
| | | columnSettingVisible: false, |
| | | |
| | | |
| | | // 查询参数 |
| | | queryParams: { |
| | | HNumber: '', |
| | | HName: '', |
| | | HOrgID: '' |
| | | }, |
| | | |
| | | |
| | | // 过滤条件 |
| | | filterConditions: [ |
| | | { colName: '0', comparator: '0', colContent: '' } |
| | | ], |
| | | |
| | | |
| | | // 组织选项 |
| | | organizationOptions: [], |
| | | |
| | | |
| | | // 表格数据 |
| | | tableData: [], |
| | | tempTableData: [], |
| | | selectedRows: [], |
| | | |
| | | |
| | | // 分页 |
| | | pagination: { |
| | | page: 1, |
| | | size: 50, |
| | | total: 0 |
| | | }, |
| | | |
| | | |
| | | // 列配置 |
| | | allColumns: [], |
| | | mainTableColumns: [], |
| | |
| | | openColumnSetting: false, |
| | | // 模块名称 |
| | | HModName: 'Gy_Material_Correction', |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/', |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_API || 'http://47.96.97.237/API/', |
| | | user: 'admin' |
| | | } |
| | | }, |
| | |
| | | await this.getOrganizations() |
| | | await this.getTableData() |
| | | }, |
| | | |
| | | |
| | | // 获取组织列表 |
| | | async getOrganizations() { |
| | | try { |
| | |
| | | this.$modal.msgError('获取组织列表失败!') |
| | | } |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // 设置默认列 |
| | | setDefaultColumns() { |
| | | this.allColumns = [ |
| | |
| | | { field: '创建人', title: '创建人', width: 100 }, |
| | | { field: '创建时间', title: '创建时间', width: 150 } |
| | | ] |
| | | |
| | | |
| | | this.mainTableColumns = this.allColumns.filter(col => !col.hide) |
| | | this.tempTableColumns = this.mainTableColumns.map(col => ({ |
| | | ...col, |
| | | editable: this.isEditableColumn(col.field) |
| | | })) |
| | | }, |
| | | |
| | | |
| | | // 获取表格数据 |
| | | async getTableData() { |
| | | this.loading = true |
| | | try { |
| | | const sWhere = this.buildWhereCondition() |
| | | |
| | | |
| | | const response = await axios.get(`${this.baseURL}/Gy_Material/page`, { |
| | | params: { |
| | | sWhere: sWhere, |
| | |
| | | Organization: '' |
| | | } |
| | | }) |
| | | |
| | | |
| | | if (response.data.code === 1) { |
| | | this.tableData = response.data.data |
| | | this.pagination.total = response.data.count |
| | |
| | | this.loading = false |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 构建查询条件 |
| | | buildWhereCondition() { |
| | | let sWhere = '' |
| | | |
| | | |
| | | // 基本查询条件 |
| | | if (this.queryParams.HNumber) { |
| | | sWhere += ` and 物料代码 like '%${this.queryParams.HNumber}%'` |
| | |
| | | if (this.queryParams.HOrgID) { |
| | | sWhere += ` and HUSEORGID = '${this.queryParams.HOrgID}'` |
| | | } |
| | | |
| | | |
| | | // 过滤条件 |
| | | this.filterConditions.forEach(filter => { |
| | | if (filter.colName && filter.colName !== '0' && filter.comparator && filter.comparator !== '0') { |
| | |
| | | sWhere += ` and ${filter.colName} ${condition}` |
| | | } |
| | | }) |
| | | |
| | | |
| | | return sWhere |
| | | }, |
| | | |
| | | |
| | | // 查询 |
| | | handleSearch() { |
| | | this.pagination.page = 1 |
| | | this.getTableData() |
| | | }, |
| | | |
| | | |
| | | handleColumnSetting() { |
| | | this.columnSettingShow = true; |
| | | this.openColumnSetting = true; |
| | |
| | | this.pagination.page = 1 |
| | | this.getTableData() |
| | | }, |
| | | |
| | | |
| | | // 添加过滤条件 |
| | | addFilter() { |
| | | this.filterConditions.push({ |
| | |
| | | colContent: '' |
| | | }) |
| | | }, |
| | | |
| | | |
| | | // 删除过滤条件 |
| | | removeFilter(index) { |
| | | this.filterConditions.splice(index, 1) |
| | | }, |
| | | |
| | | |
| | | // 切换更多搜索条件 |
| | | toggleSearchMore() { |
| | | this.searchMore = !this.searchMore |
| | | }, |
| | | |
| | | |
| | | // 选择行变化 |
| | | handleSelectionChange(selection) { |
| | | this.selectedRows = selection |
| | | }, |
| | | |
| | | |
| | | // 数据确认 - 将选中的数据复制到临时表格 |
| | | handleDataConfirm() { |
| | | if (this.selectedRows.length === 0) { |
| | | this.$modal.msgWarning('请先选择要批改的数据!') |
| | | return |
| | | } |
| | | |
| | | |
| | | // 深拷贝选中的数据到临时表格 |
| | | this.tempTableData = JSON.parse(JSON.stringify(this.selectedRows)) |
| | | |
| | | |
| | | // 锁定主表格中已选中的行(通过CSS类名) |
| | | this.$nextTick(() => { |
| | | this.$refs.mainTable.clearSelection() |
| | | }) |
| | | |
| | | |
| | | this.$modal.msgSuccess(`已确认 ${this.selectedRows.length} 条数据,请在右侧表格中进行批改`) |
| | | }, |
| | | |
| | | |
| | | // 保存批改数据 |
| | | async handleSave() { |
| | | if (this.tempTableData.length === 0) { |
| | | this.$modal.msgWarning('没有需要保存的数据!') |
| | | return |
| | | } |
| | | |
| | | |
| | | try { |
| | | this.tempLoading = true |
| | | |
| | | |
| | | // 转换数据格式 |
| | | const saveData = this.tempTableData.map(item => ({ |
| | | HOnceRightRate: item['一次合格率标准值'], |
| | |
| | | // 其他需要保存的字段... |
| | | HItemID: item.HItemID |
| | | })) |
| | | |
| | | |
| | | // 数据验证 |
| | | for (const item of saveData) { |
| | | if (!item.HNumber) { |
| | |
| | | } |
| | | // 其他验证规则... |
| | | } |
| | | |
| | | |
| | | const dataStr = JSON.stringify(saveData) |
| | | const response = await axios.post(`${this.baseURL}/Gy_Material/SaveGy_MaterialList_Batch`, { |
| | | msg: dataStr + ';' + this.user + ';' + this.queryParams.HOrgID |
| | | }) |
| | | |
| | | |
| | | if (response.data.count === 1) { |
| | | this.$modal.msgSuccess('保存成功!') |
| | | this.tempTableData = [] |
| | |
| | | this.tempLoading = false |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 删除数据 |
| | | async handleDelete() { |
| | | if (this.selectedRows.length === 0) { |
| | | this.$modal.msgWarning('请选择要删除的数据!') |
| | | return |
| | | } |
| | | |
| | | |
| | | try { |
| | | await this.$confirm('确认要删除选中的数据吗?', '提示', { |
| | | type: 'warning' |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | this.$modal.msgSuccess('删除成功!') |
| | | this.getTableData() |
| | | this.selectedRows = [] |
| | |
| | | } |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 单元格编辑 |
| | | handleCellEdit(row, field, index) { |
| | | // 可以在这里添加编辑验证逻辑 |
| | | console.log(`编辑第${index + 1}行,字段: ${field}, 值: ${row[field]}`) |
| | | }, |
| | | |
| | | |
| | | // 下拉选择变化 |
| | | handleSelectChange(field) { |
| | | // 批量更新相同字段的值 |
| | |
| | | // 这里可以根据业务需求决定是否同步更新所有行的相同字段 |
| | | }) |
| | | }, |
| | | |
| | | |
| | | // 列设置 |
| | | handleColumnSetting() { |
| | | this.columnSettingVisible = true |
| | | }, |
| | | |
| | | |
| | | // 保存列设置 |
| | | handleColumnSave(columns) { |
| | | this.allColumns = columns |
| | |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | // 退出 |
| | | handleExit() { |
| | | if (this.tempTableData.length > 0) { |
| | |
| | | this.handleClose() |
| | | } |
| | | }, |
| | | |
| | | |
| | | // 关闭对话框 |
| | | handleClose() { |
| | | this.openCorrect = false |
| | | this.$emit('close') |
| | | }, |
| | | |
| | | |
| | | // 分页大小变化 |
| | | handleSizeChange(size) { |
| | | this.pagination.size = size |
| | | this.pagination.page = 1 |
| | | this.getTableData() |
| | | }, |
| | | |
| | | |
| | | // 当前页变化 |
| | | handleCurrentChange(page) { |
| | | this.pagination.page = page |
| | | this.getTableData() |
| | | }, |
| | | |
| | | |
| | | // 工具方法 |
| | | isEditableColumn(field) { |
| | | const nonEditableFields = [ |
| | |
| | | ] |
| | | return !nonEditableFields.includes(field) |
| | | }, |
| | | |
| | | |
| | | isSelectColumn(field) { |
| | | return ['物料属性', '事业部'].includes(field) |
| | | }, |
| | | |
| | | |
| | | isDateColumn(field) { |
| | | return field.includes('时间') || field.includes('日期') |
| | | }, |
| | | |
| | | |
| | | formatDate(dateString) { |
| | | if (!dateString) return '' |
| | | const date = new Date(dateString) |
| | | return date.toLocaleString('zh-CN') |
| | | }, |
| | | |
| | | |
| | | getRowClassName({ row }) { |
| | | return this.selectedRows.some(selected => selected.HItemID === row.HItemID) ? 'locked-row' : '' |
| | | }, |
| | | |
| | | |
| | | divisionJudgment(divisionStr) { |
| | | switch (divisionStr) { |
| | | case '注塑事业部': return 3 |
| | |
| | | default: return 0 |
| | | } |
| | | }, |
| | | |
| | | |
| | | materClsJudgment(materClsStr) { |
| | | switch (materClsStr) { |
| | | case '外购': return '1' |
| | |
| | | ::v-deep .temp-table .el-select { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | CheckBillDisabled: true, |
| | | // OperationType: this.$route.query.OperationType,//保存类型(新增1修改3) |
| | | HInterID: null, |
| | | baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/", |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/", |
| | | user: "admin", |
| | | currentRow: [], |
| | | lastSelectedRowIndex: null, // 用于记录上次点击的行索引 |
| | |
| | | CheckBillDisabled: true, |
| | | // OperationType: this.$route.query.OperationType,//保存类型(新增1修改3) |
| | | HInterID: null, |
| | | baseURL: process.env.VUE_APP_BASE_URL || "http://47.96.97.237/API/", |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/", |
| | | user: "admin", |
| | | currentRow: [], |
| | | lastSelectedRowIndex: null, // 用于记录上次点击的行索引 |