| | |
| | | <template slot="leftButton"> |
| | | <el-button size="small" type="primary" @click="addBtnClick" :disabled="!isEdit">新增</el-button> |
| | | <el-button size="small" type="primary" @click="refreshClick">刷新</el-button> |
| | | <el-button size="small" type="primary" @click="printClick">打印</el-button> |
| | | <el-button size="small" type="primary" @click="printClick" disabled>打印</el-button> |
| | | </template> |
| | | </CommonSearch> |
| | | </div> |
| | |
| | | @deleteClick="clearupProject" |
| | | @addColumnClick="addColumnClick" |
| | | @clearupColumn="clearupColumn" |
| | | @addColumnInputChange="addColumnInputChange" |
| | | > |
| | | </SilkTableList> |
| | | </div> |
| | |
| | | |
| | | <script> |
| | | import SilkTableList from "@/views/systemSetting/silkStandardSetting/components/silkTableList" |
| | | import { getRankStandard, saveRankStandard } from "@/api/systemSetting/silkStandardSetting" |
| | | import { getDataByType } from "@/api/data" |
| | | export default { |
| | | name: "silkStandardSetting", |
| | | props: {}, |
| | |
| | | isEdit: false, |
| | | silkTableList: {}, |
| | | tableData: [], |
| | | tableColumn: [ |
| | | { label: "检查项目名称", prop: "projectName", projectName: true }, |
| | | { label: "开始纤度", prop: "start", inputFloat: true }, |
| | | { label: "结束纤度", prop: "end", inputFloat: true }, |
| | | { label: "野纤", prop: "price1", inputFloat: true }, |
| | | { label: "大野", prop: "price2", inputFloat: true }, |
| | | { label: "特野", prop: "price3", inputFloat: true } |
| | | defaultColumn: [ |
| | | { |
| | | label: "检查项目名称", |
| | | prop: "checkItem", |
| | | projectName: true, |
| | | isCallMethod: true, |
| | | getCallMethod: this.getCheckItemName |
| | | }, |
| | | { label: "开始纤度", prop: "startFineness", inputFloat: true }, |
| | | { label: "结束纤度", prop: "endFineness", inputFloat: true }, |
| | | { label: "野纤", prop: "rankA", inputFloat: true }, |
| | | { label: "大野", prop: "rankB", inputFloat: true }, |
| | | { label: "特野", prop: "rankC", inputFloat: true } |
| | | ], |
| | | tableColumn: [], |
| | | columnNum: 0, |
| | | dataObj: { |
| | | projectName: "", |
| | | start: 0, |
| | | end: 0, |
| | | price1: 0, |
| | | price2: 0, |
| | | price3: 0 |
| | | } |
| | | checkItem: 1, |
| | | startFineness: 0, |
| | | endFineness: 0, |
| | | rankA: 0, |
| | | rankB: 0, |
| | | rankC: 0 |
| | | }, |
| | | projectOptions: getDataByType("projectOptions"), |
| | | rankObj: {}, |
| | | columnInputList: [], |
| | | dynamicsRanks: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.setTableForm() |
| | | this.getData() |
| | | }, |
| | | methods: { |
| | | // 获取数据 |
| | | getData() { |
| | | getRankStandard().then((res) => { |
| | | console.log(res) |
| | | if (res.code === 200) { |
| | | if (res.data.length > 0) { |
| | | this.tableData = [] |
| | | this.tableColumn = this.defaultColumn |
| | | this.columnDataProcess(res.data[0].dynamicsRanks) |
| | | this.rankObj = {} |
| | | this.allDataProcess(res.data) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // 整体数据处理 |
| | | allDataProcess(dataList) { |
| | | let rankList = dataList.map((ite) => { |
| | | for (let i = 0; i < ite.dynamicsRanks.length; i++) { |
| | | this.$set(this.rankObj, ite.dynamicsRanks[i].rankProp, ite.dynamicsRanks[i].rankValue) |
| | | this.$set(this.dataObj, ite.dynamicsRanks[i].rankProp, 0) |
| | | } |
| | | return { |
| | | ...ite, |
| | | ...this.rankObj |
| | | } |
| | | }) |
| | | this.tableData = rankList || [] |
| | | this.silkTableList.tableData = this.tableData |
| | | }, |
| | | // 列信息数据处理 |
| | | columnDataProcess(data) { |
| | | this.columnInputList = data.map((ite) => { |
| | | return { ...ite } |
| | | }) |
| | | let list = data.map((item) => { |
| | | return { |
| | | label: item.rankName, |
| | | prop: item.rankProp, |
| | | inputFloat: true |
| | | } |
| | | }) |
| | | this.columnNum = list.length + 1 |
| | | for (let j = 0; j < list.length; j++) { |
| | | this.tableColumn.splice(2, 0, list[j]) |
| | | } |
| | | console.log(this.tableColumn) |
| | | this.silkTableList.tableColumn = this.tableColumn |
| | | }, |
| | | setTableForm() { |
| | | this.silkTableList = { |
| | | tableData: this.tableData, |
| | |
| | | this.tableData.push(this.dataObj) |
| | | }, |
| | | // 刷新 |
| | | refreshClick() {}, |
| | | refreshClick() { |
| | | this.getData() |
| | | }, |
| | | // 打印 |
| | | printClick() {}, |
| | | // 列表输入回调 |
| | | inputContent(val, prop, row) { |
| | | console.log(val, prop, row) |
| | | inputContent(val, prop, scope) { |
| | | console.log(val, prop, scope) |
| | | let list = this.tableData.map((item, index) => { |
| | | let dynamicsRanks = this.columnInputList.map((ite) => { |
| | | if (ite.rankProp == prop) { |
| | | ite.rankValue = val |
| | | } |
| | | return { |
| | | ...ite |
| | | } |
| | | }) |
| | | if (index === scope.$index) { |
| | | item[prop] = val |
| | | item.dynamicsRanks = dynamicsRanks |
| | | } |
| | | return { |
| | | ...item |
| | | } |
| | | }) |
| | | console.log(list) |
| | | this.tableData = list |
| | | }, |
| | | // 删除 |
| | | clearupProject(data, index) { |
| | |
| | | // 保存编辑按钮切换 |
| | | editSaveClick() { |
| | | this.isEdit = !this.isEdit |
| | | if (!this.isEdit) { |
| | | let params = this.saveParam() |
| | | saveRankStandard({ |
| | | rankStandard: params |
| | | }).then((res) => { |
| | | console.log(res) |
| | | if (res.code == 200) { |
| | | this.$message.success("保存成功") |
| | | this.getData() |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | saveParam() { |
| | | let saveList = this.tableData.map((item) => { |
| | | return { |
| | | checkItem: item.checkItem, |
| | | dynamicsRanks: item.dynamicsRanks, |
| | | endFineness: item.endFineness, |
| | | lineId: item.lineId || "", |
| | | rankA: item.rankA, |
| | | rankB: item.rankB, |
| | | rankC: item.rankC, |
| | | startFineness: item.startFineness |
| | | } |
| | | }) |
| | | return saveList |
| | | }, |
| | | // 添加列 |
| | | addColumnClick() { |
| | | let propStr = "trends" + this.columnNum |
| | | let propStr = "prop" + this.columnNum |
| | | this.tableColumn.splice(2, 0, { label: "", prop: propStr, inputFloat: true, addColumn: true }) |
| | | this.$set(this.dataObj, propStr, 0) |
| | | console.log(this.tableColumn) |
| | | this.$set(this.rankObj, propStr, 0) |
| | | console.log(this.columnInputList) |
| | | this.columnInputList.push({ rankProp: propStr, rankName: "", rankValue: 0 }) |
| | | console.log(this.tableColumn, this.dataObj, "32323", this.columnInputList) |
| | | this.silkTableList.tableColumn = this.tableColumn |
| | | this.columnNum += 1 |
| | | let allList = this.tableData.map((item) => { |
| | | return { |
| | | ...item, |
| | | [propStr]: 0 |
| | | } |
| | | }) |
| | | this.tableData = allList |
| | | this.silkTableList.tableData = allList |
| | | }, |
| | | // 删除列 |
| | | clearupColumn(prop) { |
| | |
| | | this.tableColumn.splice(currentIndex, 1) |
| | | this.silkTableList.tableColumn = this.tableColumn |
| | | this.$delete(this.dataObj, prop) |
| | | }, |
| | | // 列表头输入回调 |
| | | addColumnInputChange(val, prop) { |
| | | console.log(val, prop, this.columnInputList) |
| | | this.columnInputList.forEach((item) => { |
| | | if (item.rankProp == prop) { |
| | | item.rankName = val |
| | | } |
| | | }) |
| | | console.log(this.columnInputList, "888") |
| | | }, |
| | | getCheckItemName(val) { |
| | | if (val) { |
| | | for (let i in this.projectOptions) { |
| | | if (this.projectOptions[i].id == val) { |
| | | return this.projectOptions[i].value |
| | | } |
| | | } |
| | | } else { |
| | | return "--" |
| | | } |
| | | } |
| | | } |
| | | } |